diff --git a/.gitignore b/.gitignore new file mode 100755 index 00000000..19cdd4dd --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage/* +/libpeerconnection.log +npm-debug.log +testem.log +/typings + +# e2e +/e2e/*.js +/e2e/*.map + +#System Files +.DS_Store +Thumbs.db \ No newline at end of file diff --git a/.sourcemaps/main.js.map b/.sourcemaps/main.js.map old mode 100644 new mode 100755 index 8c95056c..f2452e3f --- a/.sourcemaps/main.js.map +++ b/.sourcemaps/main.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/pages/pd-question-category/pd-question-category.ts","../../src/providers/aws-service/aws-service.ts","../../src/providers/common-provider/toast.ts","../../src/pages/otp/otp.ts","../../src/providers/common-provider/camera.ts","../../src/providers/question-category/question-category.ts","../../node_modules/@angular/core/esm5 lazy","../../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-supplier-info/pd-question-supplier-info.ts","../../src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","../../src/pages/pd-question/pd-question-financial-info/pd-question-financial-info.ts","../../src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.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-general-info/pd-question-general-info.ts","../../src/pages/pd-general-images/pd-general-images.ts","../../src/providers/database/database.ts","../../src/pages/password/password.ts","../../src/pages/auth/auth.ts","../../src/providers/common-provider/loading.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/app/app.component.ts","../../src/providers/constants/constants.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-salary-info/pd-question-salary-info.ts","../../src/pages/input/bounced-reject/bounced-reject.ts","../../src/providers/aws-service/cognito.service.ts","../../src/pages/pd-list/pd-list.ts","../../src/providers/pdtrigger/pdtrigger.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { PdQuestionPage } from '../pd-question/pd-question';\nimport Chart from 'chart.js';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\n\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-supplier-info/pd-question-supplier-info';\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\n// import { PdQuestionStockInfoPage } from '../pd-question/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-financial-info/pd-question-financial-info';\n// import { PdQuestionClientInfoPage } from '../pd-question/pd-question-client-info/pd-question-client-info';\n// import { PdQuestionBusinessInfoPage } from '../pd-question/pd-question-business-info/pd-question-business-info';\n// import { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\n// import { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\n// import { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\n\nimport { Geolocation, Geoposition } from '@ionic-native/geolocation';\n\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n/**\n * Generated class for the PdQuestionCategoryPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Component({\n selector: 'page-pd-question-category',\n templateUrl: 'pd-question-category.html',\n})\nexport class PdQuestionCategoryPage {\n currentPosPDofficer: string;\n searchTempForm: any;\n searchQuestion: any;\n viewchange: boolean;\n templateAccess: boolean = null;\n nodataAccess:boolean = null;\n bgColortempForm: any=[];\n bgColorqustCat: any=[];\n // @ViewChild('doughnutCanvas') doughnutCanvas;\n pdinfo: any;\nquestionList:any;\nquestionCate:any;\nquestionCateAccess:boolean = null;\nquestionfinishedList:any =[];\npddetails:any;\noverallqustioncountAccess:boolean = true;\ndoughnutChart: any;\ncompletedAccess:any;\nsearchitem:any;\ncompletedStatus:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider,public geolocation:Geolocation,public fb:FormBuilder) {\n this.pddetails = this.navParams.get('pdDetails');\n this.pddetails = this.navParams.get('pdDetails');\n this.completedStatus = this.fb.group(\n {\n is_ogl:[null,Validators.compose([Validators.required])],\n is_ogl_limit:[null],\n\n });\n \n }\n\n ionViewCanEnter()\n {\n this.getcategoryList(); \n }\n // doughuntChart()\n // {\n // console.log(this.doughnutCanvas);\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\n \n // type: 'doughnut',\n // data: {\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\n // datasets: [{\n // label: '# of Votes',\n // data: [12],\n // backgroundColor: [\n // // 'rgba(255, 99, 132, 0.2)',\n // 'rgba(54, 162, 235, 0.2)',\n // // 'rgba(255, 206, 86, 0.2)',\n // // 'rgba(75, 192, 192, 0.2)',\n // // 'rgba(153, 102, 255, 0.2)',\n // // 'rgba(255, 159, 64, 0.2)'\n // ],\n // hoverBackgroundColor: [\n // \"#FF6384\",\n // \"#36A2EB\",\n // \"#FFCE56\",\n // \"#FF6384\",\n // \"#36A2EB\",\n // \"#FFCE56\"\n // ]\n // }]\n // }\n\n // });\n // }\n ionViewDidLoad() {\n this.shared.refresh();\n //this.doughuntChart();\n console.log('ionViewDidLoad PdQuestionCategoryPage');\n }\n \n getcategoryList()\n {\n let j = 1;\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\n {\n this.questionCate = res;\n if(this.questionCate.dataStatus == true)\n {\n \n this.questionCate = this.questionCate.records;\n //console.log(this.questionCate.counts);\n this.random_ng_past(); \n if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\n {\n // this.questionCateAccess = true;\n this.templateAccess = true;\n this.questionCate = this.questionCate;\n this.searchQuestion = this.questionCate.question_answers;\n\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)\n {\n this.overallqustioncountAccess = false;\n }else\n {\n this.overallqustioncountAccess = true;\n }\n \n //console.log(this.questionCate);\n \n \n \n // console.log(this.questionfinishedList);\n \n }else if(this.questionCate.template_forms!='')\n {\n this.templateAccess = true;\n \n this.questionCate = this.questionCate;\n this.searchTempForm = this.questionCate.template_forms\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)\n // {\n // this.overallqustioncountAccess = false;\n // }else\n // {\n // this.overallqustioncountAccess = true;\n // }\n }\n else\n {\n // this.questionCateAccess = false;\n this.templateAccess = false; \n this.nodataAccess = false; \n this.questionCate = \"No Template Available\";\n }\n }\n })\n }\n random_ng_past()\n {\n for(let id of this.questionCate.question_answers){\n var a = Math.floor(Math.random() * 256);\n var b = Math.floor(Math.random() * 256);\n var c = Math.floor(Math.random() * 256);\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\n \n }\n for(let id of this.questionCate.template_forms){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n }\n questionsTag(categroyId){\n \n this.pdinfo = this.pddetails; \n console.log('data',categroyId); \n \n // console.log(this.pdinfo);\n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\n //console.log(this.questionCate);\n // if(this.questionCate.questions.length !=\"0\"){\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\n \n // }else\n // {\n // this.getcategoryList();\n // this.toast.pdTriggerappmessage('No Question Available');\n // }\n }\n\n tempQustionTag(categroyId)\n {\n this.pdinfo = this.pddetails; \n console.log('data',categroyId); \n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\n if(categroyId ==5)\n {\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\n \n }else if(categroyId==12){\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\n }else if(categroyId==10)\n {\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==8){\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==13)\n {\n // this.navCtrl.push(PdQuestionBusinessInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n \n }else if(categroyId==7)\n {\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n\n }else if(categroyId==6)\n {\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId ==4){\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==9){\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==1){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==3){\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==11)\n {\n // this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==14)\n {\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId ==2)\n {\n // this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId ==17)\n {\n // this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }\n else if(categroyId==16)\n {\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==15)\n {\n // this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==18)\n {\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==19)\n {\n // this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }\n }\n filter(view){\n if(!view){\n this.viewchange = true;\n }else{\n this.viewchange = false;\n }\n //alert(this.viewchange);\n }\n pdlistsearch(searchbar) {\n // this.questionCate = this.searchQuestion;\n // this.questionCate.template_forms = this.searchTempForm;\n // reset countries list with initial call\n //this.pdinprogress = this.countriesInitial;\n // set q to the value of the searchbar\n var q = searchbar.target.value;\n\n // if the value is an empty string don't filter the items\n console.log(this.searchQuestion);\n if(this.searchQuestion !== undefined){\n if (q.trim() == '') {\n return ;\n }else{\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\n // return true;\n // }\n // })\n // console.log(this.questionCate);\n }\n }else\n {\n if (q.trim() == '') {\n return ;\n }else{\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\n// return true;\n// }\n// })\n console.log(this.questionCate);\n }\n }\n}\n completed()\n {\n this.templateAccess = false;\n this.questionCateAccess = true;\n // this.navCtrl.push(PdQuestionCategoryCompletedStatusPage,{'pdDetails':this.pddetails});\n }\n completed_ogl()\n {\n // console.log(this.pddetails);return\n\n let options = {\n \n enableHighAccuracy: true,\n \n };\n let completed = this.completedStatus.value;\n this.geolocation.getCurrentPosition().then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n if((resp as Geoposition).coords !=undefined){\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n let users = this.aws.getlocale();\n \n let data = {'pd_id':this.pddetails.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'link':this.currentPosPDofficer,'is_ogl':completed.is_ogl,'ogl_limit':completed.is_ogl_limit};\n \n // console.log(data);return;\n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\n {\n this.completedAccess = res;\n if(this.completedAccess.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage);\n }\n })\n }\n }).catch((error) => {\n console.log('Error getting location', error);\n });\n }\n doRefresh(refresher) {\n this.questionCate = [];\n this.questionfinishedList = [];\n console.log('Begin async operation', refresher);\n this.shared.refresh();\n this.getcategoryList();\n setTimeout(() => {\n console.log('Async operation has ended');\n refresher.complete();\n }, 2000);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AuthenticationDetails,\n CognitoUserPool,\n CognitoUser,\n \n} from \"amazon-cognito-identity-js\";\n\n\nimport { Observable } from \"rxjs/Observable\";\nimport \"rxjs/add/operator/map\";\nimport { CognitoServiceProvider } from './cognito.service';\nimport { ConstantsProvider } from '../constants/constants';\nimport { UrlResolver } from '@angular/compiler';\nconst sineedgedev_poolData = {\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\n}\nconst lender_poolData = {\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\n};\nconst vendor_poolData = {\n UserPoolId: \"ap-south-1_K57yPaWxV\",\n ClientId: \"\"\n}\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\n\n/**\n* Identity PoolID \n*/\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\n\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Injectable()\nexport class AwsServiceProvider {\napiurl:any;\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\n this.apiurl = con.apiurl();\n }\n\n dologin(authenticationData) {\n // alert();\n //(authenticationData);\n const authenticationDetails = new AuthenticationDetails(authenticationData);\n let Newpassword = authenticationData.newpassword;\n let attributesData = [];\n const userData = {\n Username: authenticationData.Username, // User email id\n Pool: sineedgedevUserpool // user Pool ID\n };\n let cognitoUser = new CognitoUser(userData);\n return Observable.create(observer => {\n cognitoUser.authenticateUser(authenticationDetails, {\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \n cognitoUser.completeNewPasswordChallenge(\n Newpassword,\n attributesData,\n {\n onSuccess: function (result) {\n observer.next(result);\n observer.complete();\n },\n onFailure: function (err) {\n //(err);\n observer.error(err);\n //LoginComponent.prototype.open();\n }\n }\n );\n },\n onSuccess: function (result) { // success user login\n // let accessToken = result.getAccessToken().getJwtToken();\n ////(result);\n //window.localStorage.setItem('Currentuser', '1');\n observer.next(result);\n observer.complete();\n this.shared.isloggin = true;\n },\n onFailure: function (err) { // error user login\n\n //alert(err.message);\n observer.error(err);\n }\n });\n });\n }\n userforgotpass(auth) {\n ////(auth);\n const userData = {\n Username: auth.Username,\n Pool: sineedgedevUserpool\n };\n let cognitoUser = new CognitoUser(userData);\n return Observable.create(observe => {\n cognitoUser.forgotPassword({\n onSuccess: function (data) {\n // successfully initiated reset password request\n //('CodeDeliveryData from forgotPassword: ' + data);\n observe.next(data);\n },\n onFailure: function (err) {\n alert(err.message || JSON.stringify(err));\n },\n //Optional automatic callback\n inputVerificationCode: function (data) {\n //('Code sent to: ' + data);\n var verificationCode = prompt('Please input verification code ', '');\n var newPassword = prompt('Enter new password ', '');\n cognitoUser.confirmPassword(verificationCode, newPassword, {\n onSuccess() {\n //('Password confirmed!');\n },\n onFailure(err) {\n //('Password not confirmed!');\n }\n });\n }\n });\n });\n\n\n }\n /**\n * End of the function \n */\n\n /**\n * Logout function\n */\n logout(){\n \n return Observable.create(observe=>{\n this.shared.getCurrentUser().signOut(); \n \n observe.next();\n \n observe.complete();\n });\n }\n\n\n /**\n * Config function\n */\n // getconfig() {\n // let session:any = this.shared.getAccessToken() || \"\";\n \n // let config = \"\";\n // config += AWS.config.region = \"ap-south-1\";\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\n // Logins: {\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\n // .getIdToken()\n // .getJwtToken()\n // }\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\n // });\n // return config;\n // }\n\n getlocale(){\n let session:any = this.shared.getToken() || null;\n let userid = session.idToken.payload.locale;\n return userid;\n }\n getuserprofile(userid)\n {\n \n \n // alert();\n \n //console.log(cogusers.idToken.payload.locale);\n let roles = {'userid':userid}; \n \n \n // let request = new RequestOptions({headers:headers});\n return this.http.post(this.apiurl+'getUsersDetails',roles);\n \n }\n\n userpinupdate(pin)\n {\n let userid = this.getlocale(); \n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\n let formdata = new FormData();\n \n formdata.append('records',JSON.stringify(records));\n return this.http.post(this.apiurl+'updateExistUser',formdata);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Toast, ToastController } from 'ionic-angular';\n\n/*\n Generated class for the ToastProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class ToastProvider {\n\n constructor(public http: HttpClient,public toast:ToastController) {\n console.log('Hello ToastProvider Provider');\n }\n pdTriggerappmessage(mess){\n let valalert = this.toast.create({\n message:mess, \n duration: 3000, \n position: 'bottom',\n dismissOnPageChange: true,\n });\n\n valalert.present();\n} \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../providers/constants/constants';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\n\n\n/**\n * Generated class for the OtpPage 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-otp',\n templateUrl: 'otp.html',\n})\nexport class OtpPage {\n\n \n users: any;\n timerOn: boolean = true;\n balance_time: string;\n otpStatus: any;\n pin:any;\n otpStatusAccess:boolean = true;\n applicatentDetails: any;\n commonImage:any;\n maxtime: any=30;\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) {\n this.commonImage = this.commonconstant.commonimage;\n this.applicatentDetails = this.navParams.get('pdDetails');\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad OtpPage');\n }\n ionViewDidEnter(){\n //this.Menu.enable(false);\n this.timer(5);\n }\n ionViewWillLeave(){\n //this.Menu.enable(true);\n \n }\n checkotp(otp)\n {\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp};\n this.pddetails.checkotp(data).subscribe(res=>\n {\n this.otpStatus = res;\n if(this.otpStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\n }else\n {\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\n }\n })\n }\n\n timer(remaining) {\n // console.log(remaining);\n let m:any = Math.floor(remaining / 60);\n let s:any = remaining % 60;\n \n m = m < 10 ? '0' + m : m;\n s = s < 10 ? '0' + s : s;\n // var balance_time = m + ':' + s;\n this.balance_time = m + ':' + s;\n remaining -=1;\n console.log(this.balance_time);\n if(remaining >= 0 && this.timerOn) {\n setTimeout(()=> {\n this.timer(remaining);\n }, 1000);\n return;\n }\n \n if(!this.timerOn) {\n // Do validate stuff here\n return;\n }\n \n // Do timeout stuff here\n this.users = this.aws.getlocale();\n let data:any;\n let alert = this.alertCtrl.create({\n title: 'Starting PD Officer',\n message: 'Do you want sure PD officer Start',\n buttons: [\n {\n text: 'No',\n role: 'cancel',\n handler: () => {\n \n this.otpStatusAccess = false;\n }\n },\n {\n text: 'YES',\n handler: () => {\n \n \n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users};\n console.log(data);\n this.pddetails.updatepdStatus(data).subscribe(res=>\n {\n \n })\n // console.log('Buy clicked');\n \n } \n }\n \n ]\n });\n alert.present();\n }\n \n check()\n {\n console.log('check');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Camera } from '@ionic-native/camera';\n/*\n Generated class for the CameraProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class CameraProvider {\n\n constructor(public http: HttpClient,public camera:Camera) {\n console.log('Hello CameraProvider Provider');\n }\n getpicture() \n {\n const options = {\n quality: 100,\n destinationType: this.camera.DestinationType.DATA_URL,\n targetWidth: 500,\n targetHeight: 500,\n correctOrientation: true\n };\n\n // If set to crop, restricts the image to a square of 600 by 600\n \n\n return this.camera.getPicture(options).then(imageData => {\n const base64Image = 'data:image/png;base64,' + imageData;\n // console.log(base64Image);\n return base64Image;\n }, error => {\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\n });\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ConstantsProvider } from '../constants/constants';\n\n/*\n Generated class for the QuestionCategoryProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class QuestionCategoryProvider {\napiurl:any;\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\n console.log('Hello QuestionCategoryProvider Provider');\n this.apiurl = constant.apiurl();\n }\n \n \n getLoadTemplate(pdid)\n {\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\n }\n saveQusetion(saveData)\n {\n let records = {'records':[saveData]};\n return this.http.post(this.apiurl+'savePDQuestions',records);\n }\n\n \n getAnswerTemplate(qustDetails)\n {\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\n }\n\n /***\n * Get PD Questions dropdown api\n * sriram\n */\n getcommondrop(tableName)\n {\n let masters = {'master_name':tableName}\n return this.http.post(this.apiurl+'getListOfMaster',masters);\n }\n\n saveForm(records)\n { let record = {'records':records};\n return this.http.post(this.apiurl+'savePDFormDetails',record);\n }\n\n retiverForm(records)\n {\n return this.http.post(this.apiurl+'getPDFormDetails',records);\n }\n\n /**Assessed Form Details API */\n saveassessedForms(api,saveData)\n {\n return this.http.post(this.apiurl+api,saveData);\n }\n\n retiverassessedForm(api,records)\n {\n return this.http.post(this.apiurl+api,records);\n }\n\n updatePdApplicant(editData: any) {\n // editData.fk_updatedby = this._aws.getlocale();\n // editData.updatedon = currentdate;\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\n\n \n}\n\ngetTypeofActivityForSuppliedInfoForm(pd_id: any){\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id }});\n}\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.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 = 241;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 241\n// module chunks = 0","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 = 284;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 284\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\nimport { AlertController } from 'ionic-angular';\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\n// import { GridPage } from '../grid/grid';\n\n\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\nimport { Camera } from '@ionic-native/camera';\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\n// import { CustomValidators } from 'ng2-validation';\n\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { PasswordPage } from '../password/password';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n\n\n@Component({\n selector: 'page-login',\n templateUrl: 'login.html',\n})\nexport class LoginPage {\n users: any;\nchangepass: FormGroup;\nemail: string;\npassword: string;\nnewpassword: any;\nconfirmPassword: any;\nchangePassword: any;\nstatus: Boolean = false;\nconfig: MatDialogConfig = {\n disableClose: false,\n width: '',\n height: '',\n position: {\n top: '',\n bottom: '',\n left: '',\n right: ''\n }\n};\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\n,public toast:ToastProvider) {\n \n}\nngOnInit(){\n //this.loggedInCheck();\n \n}\nionViewDidEnter(){\n this.Menu.enable(false);\n}\nionViewWillLeave(){\n this.Menu.enable(true);\n}\n/**\n* @param email\n* @param password\n* AWS login service\n*/\nlogin() {\n // console.log(this.email);\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\n let auth = { 'Username': this.email, 'Password': this.password };\n this.aws.dologin(auth).subscribe(awsres => {\n let userid = this.aws.getlocale();\n \n this.aws.getuserprofile(userid).subscribe(usersres=>\n {\n this.users = usersres; \n \n if (this.users.dataStatus == true) {\n \n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\n this.navCtrl.setRoot(PdListPage);\n \n }else\n {\n \n this.toast.pdTriggerappmessage('This App only for PD Officers');\n localStorage.clear();\n }\n\n \n }\n });\n }, err => {\n console.log(JSON.stringify(err.message));\n if (err.message == \"New password is required.\") {\n //console.log(\"if\");\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\n } else {\n console.log(JSON.stringify(err.message));\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\n\n }\n //alert(err.message);\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter Email or Password');\n }\n}\n/**\n * New password set\n * Defalut aws function \n * @param email password,newpassword\n */\n// newpassopen() {\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\n// dialogRef.afterClosed().subscribe(result => {\n// if (result !== undefined) {\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\n// console.log(auth);\n// this.aws.dologin(auth).subscribe(res => {\n// console.log(res);\n// // this.router.navigate(['/home']);\n// }, err => {\n// // alert(err.message);\n\n// })\n// }\n// });\n// }\n\nforgotopen() {\n this.status = true;\n}\n\n\nforgotpassword() {\n\n let auth = { 'Username': this.email };\n console.log(auth);\n // this.aws.userforgotpass(auth).subscribe(res => {\n // console.log(res);\n\n // })\n}\nloggedInCheck(){\n //alert(this.shared.isLoggedIn);\n if(this.shared.isLoggedIn){\n alert(\"if\");\n // this.router.navigate(['/home']);\n return false;\n }else{\n alert(\"else\");\n \n return true;\n }\n}\n\n}\n\n// ======================= END ==============================\n/**\n* New password Dialog\n*/\n\n// const newpassword = new FormControl('', Validators.required);\n// const confirmPassword = new FormControl('');\n\n// @Component({\n// selector: 'app-jazz-dialog',\n// template: `\n//
New Password Change.
\n\n// \n// \n \n// \n\n\n//
\n// \n// \n// \n\n// Passwords do not math.\n\n//
\n \n// \n \n \n// `\n// })\n// export class NewPasswordDialog {\n\n// newpassword: any = newpassword;\n// confirmPassword: any = confirmPassword;\n// jazzMessage = 'Jazzy jazz jazz';\n\n// constructor(public dialogRef: MatDialogRef) {\n\n// }\n\n\n// }\n\n\n\n// @Component({\n// selector: 'app-jazz-dialog',\n// template: `\n//
Forgot Password
\n\n// \n// \n \n// \n\n\n\n//
\n \n// \n \n \n// `\n// })\n// export class ForgotPass {\n\n// newpassword: any = newpassword;\n// confirmPassword: any = confirmPassword;\n// jazzMessage = 'Jazzy jazz jazz';\n\n// constructor(public dialogRef: MatDialogRef) {\n\n// }\n\n// }\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams,AlertController } from 'ionic-angular';\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { Platform } from '@angular/cdk/platform';\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \nimport { AuthPage } from '../auth/auth';\n\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { OtpPage } from '../otp/otp';\n\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\nimport {DatePipe } from '@angular/common';\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { observable, Observable } from 'rxjs';\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\nimport { ConstantsProvider } from '../../providers/constants/constants';\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\n\n/**\n * Generated class for the InputPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19);\n\n\n@Component({\n selector: 'page-input',\n templateUrl: 'input.html',\n})\n\n\nexport class InputPage {\n enableStartPD: boolean;\n diffInHours: number;\n updatestarted: any;\n updateinitiated: any;\n appdata: any;\n users: any;\n initiatedAccess: boolean = false;\n scheduleAccess: boolean = false;\napplicatentDetails:any;\nmaxdate :any;\npipe = new DatePipe('en-US');\nupdateStatus:any;\nscheduleDate:any;\nupdateSchedule:any;\nacceptedAccess:boolean = false;\nstartedAccess:boolean = false;\ntimeOut:any = 15*1000;\ntimeInterval:any;\ncurrentPosPDofficer:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,public constant:ConstantsProvider) {\n\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddThh:mm').toString();\n \n /***Header value pass */\n this.statusBar.styleDefault();\n \n this.statusBar.overlaysWebView(false);\n this.statusBar.backgroundColorByHexString('#db4437');\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\n \n \n this.applicatentDetails = this.navParams.get('pdDetails');\n \n this.getFullPD();\n \n \n if(this.applicatentDetails.pd_status == 'ALLOCATED')\n {\n this.acceptedAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\n {\n this.scheduleAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\n {\n \n this.initiatedAccess = true;\n }\n //console.log(this.initiatedAccess);\n if(this.applicatentDetails.pd_status == 'INITIATED')\n {\n this.startedAccess = true;\n this.getenableAccuracy();\n \n }\n this.users = this.aws.getlocale();\n }\n\n \n ionViewDidLoad() {\n console.log('ionViewDidLoad InputPage');\n }\n ionViewCanLeave()\n {\n clearInterval(this.timeInterval);\n }\n locationnavicate(address)\n {\n this.launchNavigator.navigate(address);\n }\n\n getFullPD()\n {\n let records = {'pdid':this.applicatentDetails.pd_id};\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n // console.log()\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\n console.log(diffInHours);\n if(diffInHours <=-4){\n this.enableStartPD=true;\n }\n else\n {\n this.enableStartPD = false;\n }\n } \n })\n \n }\n pdStatus(status,appdetails)\n {\n let data :any;\n \n if(status == 'BOUNCED')\n {\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateStatus = res;\n if(this.updateStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }else if(status == 'ACCEPTED')\n {\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateStatus = res;\n if(this.updateStatus.dataStatus == true)\n {\n this.getNewpdupdate();\n this.scheduleAccess = true;\n \n }else\n {\n this.scheduleAccess = false;\n }\n })\n }\n \n }\n\n pdschedule(scheduledate,appdetails)\n {\n \n let data :any;\n console.log(scheduledate);\n let schDate = scheduledate.slice(0,19).replace('T',' ');\n console.log(schDate);\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateSchedule = res;\n if(this.updateSchedule.dataStatus == true)\n {\n this.getNewpdupdate();\n this.initiatedAccess = true;\n }\n });\n }\n\n getenableAccuracy()\n {\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\n\n if(canRequest) {\n // the accuracy option will be ignored by iOS\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\n () => {\n this.getcurrentLocation();\n },\n error => alert('Error requesting location permissions'+JSON.stringify(error))\n );\n }\n \n });\n }\n getcurrentLocation() \n {\n let data:any;\n let options = {\n frequency: 3000, \n enableHighAccuracy: true,\n timeOut:1000,\n };\n \n this.timeInterval = setInterval(()=>{\n this.currentPosPDofficer = '';\n this.geolocation.getCurrentPosition(options).then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n if((resp as Geoposition).coords !=undefined){\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\n console.log(this.currentPosPDofficer);\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\n\n\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\n {\n // this.updateinitiated = res;\n // if(this.updateinitiated.dataStatus == true)\n // { \n // // this.getNewpdupdate();\n // // this.startedAccess = true;\n // }else\n // {\n // this.startedAccess = false;\n // }\n })\n }\n }).catch((error)=>{\n this.toast.pdTriggerappmessage(error.message);\n })\n \n },this.timeOut);\n }\n pdreschedule()\n {\n this.scheduleAccess = true;\n this.initiatedAccess = false;\n }\n pdinitiated(appdetails)\n { let data:any;\n\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\n\n if(canRequest) {\n // the accuracy option will be ignored by iOS\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\n () => {\n this.geolocation.getCurrentPosition().then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n \n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\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};\n\n\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateinitiated = res;\n if(this.updateinitiated.dataStatus == true)\n { \n this.getNewpdupdate();\n this.getcurrentLocation();\n this.startedAccess = true;\n }else\n {\n this.startedAccess = false;\n }\n })\n }).catch((error) => {\n console.log('Error getting location', error);\n });\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\n );\n }\n \n });\n }\n\n startPdDiscussion(appdetails)\n {\n let data:any;\n let alert = this.alertCtrl.create({\n title: 'Starting PD Officer',\n message: 'Do you want sure PD officer Start',\n buttons: [\n {\n text: 'No',\n role: 'cancel',\n handler: () => {\n \n // console.log('Cancel clicked');\n // this.toast.pdTriggerappmessage('')\n }\n },\n {\n text: 'YES',\n handler: () => {\n this.geolocation.getCurrentPosition().then((resp) => {\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n \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};\n console.log(data);\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {this.updatestarted = res;\n if(this.updatestarted.dataStatus == true)\n {\n clearInterval(this.timeInterval);\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\n }\n \n })\n // console.log('Buy clicked');\n })\n } \n }\n ]\n });\n alert.present();\n }\n getNewpdupdate()\n {\n this.acceptedAccess = false;\n this.initiatedAccess = false;\n this.scheduleAccess = false;\n this.startedAccess = false;\n this.pdDetails.getpddetails(this.users).subscribe(res=>\n {\n this.appdata = res;\n if(this.appdata.dataStatus == true)\n {\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\n {\n this.acceptedAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\n {\n this.scheduleAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\n {\n this.initiatedAccess = true;\n this.getFullPD();\n }\n\n if(this.applicatentDetails.pd_status == 'INITIATED')\n {\n this.startedAccess = true;\n }\n }\n })\n }\n\n camerasetup()\n {\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\n\nimport { CameraProvider } from '../../providers/common-provider/camera';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n/**\n * Generated class for the PdQuestionPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Component({\n selector: 'page-pd-question',\n templateUrl: 'pd-question.html',\n})\nexport class PdQuestionPage {\n \n docqustid: any;\n docName: any = [];\n docArray: any = [];\n imageArray:any = [];\n questionCate: any;\n qustCate: any;\n pdinfo: any;\n items: FormArray;\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\n\n SwipedTabsIndicator :any= null;\n tabTitleWidthArray :any= [];\n tabElementWidth_px :number= 50;\n screenWidth_px :number= 0;\n isRight :boolean= false;\n isLeft:boolean= false;\n tabs:any=[];\n \n questionDetails: any;\n questionAnswer:FormGroup;\n questionanotherData:FormGroup;\n userid:any;\n questionId:any;\n qustType:any;\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) {\n \n console.log('Width: ' + platform.width());\n this.screenWidth_px=platform.width();\n\n \n this.questionAnswer = this.fb.group(\n {\n answerDetails:[null],\n items:this.fb.array([]),\n })\n this.questionanotherData = this.fb.group(\n {\n questionRemarks:[null]\n })\n this.getpdQuestionDetails();\n this.userid = this.aws.getlocale();\n}\n\n ionViewDidLoad() {\n // console.log('ionViewDidLoad GoogleplaytabPage');\n }\n ionViewDidEnter() {\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\n for (let i in this.tabs)\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\n\n this.selectTab(0);\n }\n\n ionViewWillLeave() {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\n }\n\n scrollIndicatiorTab()\n {\n //console.log(1);\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\n // console.log(82,this.isLeft);\n // console.log(this.isLeft,this.isRight);\n // let answerDetails = this.questionAnswer.value;\n // console.log(answerDetails);\n // let remarks = this.questionanotherData.value;\n if(this.isLeft)\n {\n console.log(this.isLeft);\n //this.prev(answerDetails,remarks,this.questionDetails);\n }\n if(this.isRight)\n {\n console.log(this.isRight);\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\n }\n }\n\n selectTab(index)\n {\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n this.SwipedTabsSlider.slideTo(index);\n \n }\n\n calculateDistanceToSpnd(index)\n {\n var result=0;\n for (var _i = 0; _i < index; _i++) {\n result=result+this.tabTitleWidthArray[_i];\n }\n return result;\n }\n\n updateIndicatorPosition() {\n var index=this.SwipedTabsSlider.getActiveIndex();\n if( this.SwipedTabsSlider.length()==index)\n index=index-1;\n\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n \n }\n\n updateIndicatorPositionOnTouchEnd()\n {\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\n }\n\n animateIndicator($event)\n {\n \n this.isLeft=false;\n this.isRight=false;\n \n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\n if($event.progress < currentSliderCenterProgress)\n {\n this.isLeft=true;\n this.isRight=false;\n\n } if($event.progress > currentSliderCenterProgress)\n {\n this.isLeft=false;\n this.isRight=true;\n }\n\n if(this.SwipedTabsSlider.isEnd())\n this.isRight=false;\n\n if( this.SwipedTabsSlider.isBeginning())\n this.isLeft=false;\n\n if(this.isRight)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\n +'px,0,0)';\n\n if(this.isLeft)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\n +'px,0,0)';\n\n if(!this.isRight && !this.isLeft)\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\n \n \n }\n /**\n * Pd Discussion Qustion Load\n */\n getpdQuestionDetails()\n {\n this.questionDetails = this.navParams.get('questionDetails');\n console.log('157',this.questionDetails);\n this.pdinfo = this.navParams.get('pdDetails');\n console.log(this.pdinfo);\n for(let qustimage of this.questionDetails.questions)\n { \n if(qustimage.images !==undefined){\n for(let image of qustimage.images)\n {\n image.questionId = qustimage.fk_question_id; \n this.docArray.push(image);\n }\n for(let answers of qustimage.answers)\n {\n if(qustimage.fk_question_answertype == 3)\n {\n this.items = this.questionAnswer.get('items') as FormArray;\n \n this.items.push(this.getquestionAnswer(answers));\n \n \n }\n }\n console.log(this.questionAnswer.get('items')['controls']);\n }\n }\n console.log(this.docArray);\n for(let i=1;i<=this.questionDetails.questions_count;i++){\n let j = i.toString();\n this.tabs.push(j);\n }\n }\n\ngetquestionAnswer(answers)\n{\n return this.fb.group(\n {\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\n \"pd_answer_id\":answers.question_answer_id,\n \"pd_answer\": answers.answer,\n \"pd_answer_weightage\": answers.template_answer_weightage,\n \"fk_pd_id\":this.pdinfo.pd_id,\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\n \"checkbox\":(answers.isactive == null?false:true)\n \n \n })\n}\n // count = 0;\n getDocUpload(qustid)\n {\n //console.log('right',this.isRight,'left',this.isLeft);\n // this.docqustid = qustId;\n // console.log(this.count);\n // console.log(qustid);\n this.camera.getpicture().then(res=>\n {\n if(res !== undefined){\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\n }\n });\n // this.count++;\n }\n docnames(name,id,image,qustid)\n {\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\n }\n removeimage(index){\n //for(let i=0;i<=this.igrimage.length;i++){\n //if(this.igrimage[i]== this.igrimage[index]){\n this.docArray.splice(index,1);\n //}\n //}\n }\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\n {\n console.log(answerDetails);\n \n //console.log(this.docArray);\n for(let docs of this.docArray)\n {\n \n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\n console.log('if');\n // return true;\n }else\n {\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\n \n }\n }\n //console.log(answerDetails.answerDetails);\n if(answerDetails.answerDetails !=null){\n //alert('answers');\n console.log(this.imageArray);\n let pd_id = this.pdinfo.pd_id;\n let catid = questionDetails.fk_question_category_id;\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\n console.log(qt_id);\n let qut_id = qt_id.fk_question_id;\n let qustName = qt_id.question;\n let qut_weightage = qt_id.question_weightage;\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\n let pd_answer = answerDetails.answerDetails.answer;\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\n let pd_remarks = questionRemarks.questionRemarks;\n let updatedby:any='';\n let updateon:any='';\n let createdby:any='';\n let createon:any='';\n let pd_details_id:any='';\n let pd_detail_answer_id:any = '';\n if(qt_id.pd_detail_id ==null)\n {\n createdby = this.userid;\n createon = currentdate;\n pd_details_id = '';\n }else\n {\n pd_details_id = qt_id.pd_detail_id;\n updatedby = this.userid;\n updateon = currentdate;\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\n }\n let saveRecords = \n {\n \"pd_detail_id\": pd_details_id,\n\t\t\"fk_pd_id\": pd_id,\n\t\t\"fk_category_id\": catid,\n\t\t\"fk_question_id\": qut_id,\n\t\t\"pd_question\": qustName,\n \"pd_question_weightage\": qut_weightage,\n \"question_remark\": pd_remarks,\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\n \"pd_answer_id\":ans_id,\n\t\t\"pd_answer\": pd_answer,\n\t\t\"pd_answer_weightage\": qut_weightage,\n \"fk_pd_id\":pd_id,\n \"fk_pd_detail_id\":pd_details_id,\n\n }],\n\t\t\n\t\t\"fk_createdon\": createon,\n\t\t\"createdby\": createdby,\n\t\t\"fk_updatedon\": updateon,\n \"updatedby\": updatedby,\n \"images\": this.imageArray || \"\",\n \n\n };\n //console.log(this.docArray);\n \n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\n // {\n // this.qustCate = res;\n // if(this.qustCate.dataStatus == true){\n // this.SwipedTabsSlider.slideNext();\n // this.docArray = [];\n // this.getcategoryList(qt_id,pd_id);\n // console.log(this.docArray);\n // }\n // })\n // }else\n // {\n \n // this.SwipedTabsSlider.slideNext(); \n }\n } \n\n getcategoryList(qustinfo,pdId)\n {\n console.log(\"252\",qustinfo);\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\n };\n let answerData:any;\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\n {\n answerData = res;\n if(answerData.dataStatus == true)\n {\n \n // answerData = answerData.records;\n // console.log('303',answerData);\n // console.log('304',this.questionDetails);\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\n // eachquestion['answers'] = answerData.answers; \n \n // this.questionDetails =\n // console.log(this.questionDetails);\n // this.imageArray = answerData.images;\n // for(let docs of this.imageArray)\n // {\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\n // }\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\n }\n });\n }\n prev(answerDetails,questionRemarks,questionDetails) {\n //console.log(this.docArray);\n for(let docs of this.docArray)\n {\n \n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\n console.log('if');\n // return true;\n }else\n {\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\n \n }\n }\n //console.log(answerDetails.answerDetails);\n if(answerDetails.answerDetails !=null){\n //alert('answers');\n console.log(this.imageArray);\n let pd_id = this.pdinfo.pd_id;\n let catid = questionDetails.fk_question_category_id;\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\n console.log(qt_id);\n let qut_id = qt_id.fk_question_id;\n let qustName = qt_id.question;\n let qut_weightage = qt_id.question_weightage;\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\n let pd_answer = answerDetails.answerDetails.answer;\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\n let pd_remarks = questionRemarks.questionRemarks;\n let updatedby:any='';\n let updateon:any='';\n let createdby:any='';\n let createon:any='';\n let pd_details_id:any='';\n let pd_detail_answer_id:any = '';\n if(qt_id.pd_detail_id ==null)\n {\n createdby = this.userid;\n createon = currentdate;\n pd_details_id = '';\n }else\n {\n pd_details_id = qt_id.pd_detail_id;\n updatedby = this.userid;\n updateon = currentdate;\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\n }\n let saveRecords = \n {\n \"pd_detail_id\": pd_details_id,\n \"fk_pd_id\": pd_id,\n \"fk_category_id\": catid,\n \"fk_question_id\": qut_id,\n \"pd_question\": qustName,\n \"pd_question_weightage\": qut_weightage,\n \"question_remark\": pd_remarks,\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\n \"pd_answer_id\":ans_id,\n \"pd_answer\": pd_answer,\n \"pd_answer_weightage\": qut_weightage,\n \"fk_pd_id\":pd_id,\n \"fk_pd_detail_id\":pd_details_id,\n\n }],\n \n \"fk_createdon\": createon,\n \"createdby\": createdby,\n \"fk_updatedon\": updateon,\n \"updatedby\": updatedby,\n \"images\": this.imageArray || \"\",\n \n\n };\n //console.log(this.docArray);\n \n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\n {\n this.qustCate = res;\n if(this.qustCate.dataStatus == true){\n this.SwipedTabsSlider.slidePrev();\n this.docArray = [];\n this.getcategoryList(qt_id,pd_id);\n console.log(this.docArray);\n }\n })\n }else{\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\n this.SwipedTabsSlider.slidePrev();\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { Observable } from 'rxjs';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n/**\n * Generated class for the PdQuestionAddressPage 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-address',\n templateUrl: 'pd-question-address.html',\n})\nexport class PdQuestionAddressPage {\n\n getaddressDetails: any;\n users: any;\n address: string;\n custBehaviour: any;\n cmtLocatity: any;\n locality: any = [];\n neighbourAccess: boolean = false;\n neighbourDetailsAccess:boolean = false;\n pdlocation: any = [];\n pdDetails: any;\n questionDetails: any;\n pdQuestionAddress:FormGroup;\n addressTypes:any=[];\n addressRemarksAccess:boolean = false;\n items:FormArray;\n counts:number = 1;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n \n this.pdDetails = this.navParams.get('pdDetails');\n \n this.users = this.aws.getlocale();\n\n this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\n\n this.getaddressForm();\n \n this.pdQuestionAddress = this.fb.group(\n {\n address: [this.address],\n address_type: [null],\n address_remarks:[null],\n locality: [null],\n pd_location: [null],\n comment_locality: [null],\n customer_behaviour: [null],\n neighbourhood: this.fb.array([]),\n address_form_remark:[null],\n });\n \n this.getdropdownlist();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAddressPage');\n }\n getdropdownlist()\n {\n this.addressTypes = [\n \n {'id':'Office','Name':'Office'},\n {'id':'Clinic','Name':'Clinic'},\n {'id':'Factory','Name':'Factory'},\n {'id':'Warehouse','Name':'Warehouse'},\n {'id':'Shop','Name':'Shop'},\n {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\n {'id':'Residence','Name':'Residence'},\n {'id':'OTHERS','Name':'OTHERS'}\n ];\n \n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\n {\n this.pdlocation = res;\n if(this.pdlocation.dataStatus == true)\n {\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\n }\n })\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\n {\n this.cmtLocatity = res;\n if(this.cmtLocatity.dataStatus ==true)\n {\n this.cmtLocatity = this.cmtLocatity.records.filter(loc=>loc.isactive ==1);\n }\n });\n this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\n {\n this.custBehaviour = res;\n if(this.custBehaviour.dataStatus == true)\n {\n this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\n }\n })\n this.locality = [\n {'id':'Residential','Name':'Residential'},\n {'id':'CommercialShop','Name':'Commercial Shop'},\n {'id':'CommercialOffice','Name':'Commercial Office'},\n {'id':'Industrial','Name':'Industrial'},\n {'id':'Residential','Name':'Residential'},\n {'id':'Mix','Name':'Mix'},\n {'id':'Rural','Name':'Rural'},\n {'id':'Others','Name':'Others'},\n ]\n \n }\n\n checkaddress(value)\n {\n // console.log(value);\n if(value==\"OTHERS\")\n {\n this.addressRemarksAccess = true;\n }else\n {\n this.addressRemarksAccess = false;\n }\n }\n\n createItem(): FormGroup {\n return this.fb.group({\n name: [null],\n do_you_know: [null],\n how_long: [null],\n is_owner: [null],\n });\n };\n \n addNeighbourApplicant() {\n \n // if(this.pd.valid){\n this.neighbourDetailsAccess = true;\n if(this.counts >= 1)\n {\n console.log(this.counts);\n this.neighbourAccess = true;\n \n }\n console.log(this.counts);\n this.items = this.pdQuestionAddress.get('neighbourhood') as FormArray;\n this.items.push(this.createItem());\n //console.log(this.pdQuestionAddress.get('items')['controls']);\n this.counts++;\n }\n\n remove(i){\n this.counts--;\n if(this.counts >=0)\n {\n console.log(this.counts);\n this.neighbourAccess = false;\n }\n if(this.counts ==0)\n {\n this.neighbourDetailsAccess = false;\n\n }\n this.items.removeAt(i);\n \n }\n\n savepdQuestion(answerData)\n {\n console.log(answerData);\n let records: any = {};\n records.address = answerData.address;\n if(answerData.address_remarks !=null){\n records.address_type_remarks = answerData.address_remarks;\n }\n records.address_type = answerData.address_type;\n records.locality = answerData.locality;\n records.pd_location = answerData.pd_location;\n records.comment_locality = answerData.comment_locality;\n records.customer_behaviour = answerData.customer_behaviour;\n records.neighbourhood = answerData.neighbourhood;\n records.pdid = this.pdDetails.pd_id;\n records.formid = '333';\n records.fk_createdby = this.users;\n records.address_form_remark = answerData.address_form_remark;\n console.log('params', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n let params: any = {};\n params.pd_id = '250';\n params.pd_form_id = '250';\n console.log('param', params);\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n\n });\n }\n\n getaddressForm()\n {\n this.neighbourDetailsAccess = true;\n let res:any;\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'333'}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n this.getaddressDetails = res;\n if(this.getaddressDetails.dataStatus ==true){\n \n this.getaddressDetails = this.getaddressDetails.records;\n console.log(this.getaddressDetails.neighbourhood[1]);\n var result = Object.keys(res['records'].neighbourhood).map(function(key) {\n //console.log(res);\n return res['records'].neighbourhood[key];\n \n });\n this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\n this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\n this.pdQuestionAddress.controls['address_remarks'].setValue(this.getaddressDetails.address_type_remarks);\n this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\n this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\n this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location); \n this.pdQuestionAddress.controls['customer_behaviour'].setValue(this.getaddressDetails.customer_behaviour);\n this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark)\n this.items = this.pdQuestionAddress.get('neighbourhood') as FormArray;\n \n if(result.length ==0)\n {\n this.items.push(this.createItem());\n \n }else\n {\n result.forEach((datas,index)=>\n {\n //console.log(index);\n index = index+1;\n if(index ==1)\n {\n this.neighbourAccess =true;\n }\n this.items.push(this.createItem());\n })\n this.pdQuestionAddress.controls['neighbourhood'].setValue(result);\n }\n \n // console.log('result',result);\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionEmpInfoPage 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-emp-info',\n templateUrl: 'pd-question-emp-info.html',\n})\nexport class PdQuestionEmpInfoPage {\n questionDetails: any;\n pdDetails: any;\n empInfo:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n\n this.empInfo = this.fb.group(\n {\n nameOfEmp:[null],\n yearWithEmp:[null],\n empMet:[null],\n designationOfEmp:[null],\n salaryConfirm:[null],\n actualSalary:[null],\n attRegisterSeen:[null],\n salaryRegisterSeen:[null]\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\n }\n\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormArray,FormBuilder } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionCurrentLoansPage 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-current-loans',\n templateUrl: 'pd-question-current-loans.html',\n})\nexport class PdQuestionCurrentLoansPage {\n users: any;\n pdDetails: any;\n questionDetails: any;\n currentLoans:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider) {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n this.currentLoans = this.fb.group(\n {\n existing_loan: [null],\n currentloan_remarks:[null],\n loan_details: this.fb.array([])\n });\n this.getcurrentLoans()\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n }\n exitsCheck(val)\n { \n console.log(val);\n if(val ==\"Yes\")\n {\n \n this.addLoanDetails();\n }\n\n }\n createLoanDetail() {\n return this.fb.group({\n loan_amount: [null],\n emi: [null],\n loan_type: [null],\n lender: [null],\n original_tenure: [null],\n current_balance_tenure: [null],\n });\n}\naddLoanDetails() {\n const control = this.currentLoans.controls['loan_details'];\n control.push(this.createLoanDetail());\n}\ndeleteLoanDetails(index) {\n const control = this.currentLoans.controls['loan_details'];\n control.removeAt(index);\n}\n\nsubmitCurrentloan(answerData) {\n console.log(answerData);\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = '336';\n records.fk_createdby = this.users;\n records.existing_loan = answerData.existing_loan;\n records.loan_details = answerData.loan_details;\n records.currentloan_remarks = answerData.currentloan_remarks;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n });\n}\n getcurrentLoans()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'336'};\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n var result = Object.keys(res['records'].loan_details).map(function(key) {\n //console.log(res);\n return res['records'].loan_details[key];\n \n });\n let currentLoanDetails = res['records'];\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\n const control = this.currentLoans.controls['loan_details'];\n \n if(result.length ==0)\n {\n control.push(this.createLoanDetail());\n }else\n {\n result.forEach(datas=>\n {\n control.push(this.createLoanDetail());\n })\n this.currentLoans.controls['loan_details'].setValue(result);\n }\n }\n })\n \n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormArray,FormBuilder } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionLoansPage 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-loans',\n templateUrl: 'pd-question-loans.html',\n})\nexport class PdQuestionLoansPage {\n pdDetails: any;\n questionDetails: any;\nloanDetails:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.loanDetails = this.fb.group(\n {\n LoanAmount:[this.pdDetails.loan_amount],\n endUse:[null],\n balanceTransfer:[null],\n Topup:[null],\n btAmount:[null],\n topUpAmt:[null],\n lenderBTDone:[null],\n amountContribution:[null],\n source:[null],\n EMIComfort:[null],\n typeProperty:[null],\n nameOwner:[null],\n statusContruction:[null],\n EMVPerCustomer:[null],\n valuePerAgreement:[null]\n })\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionLoansPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionBankingPage 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-banking',\n templateUrl: 'pd-question-banking.html',\n})\nexport class PdQuestionBankingPage {\n\n users: any;\n bankDetails:FormGroup;\n pdDetails: any;\n bankitems:FormArray\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n console.log(this.pdDetails);\n // alert();\n this.users = this.aws.getlocale();\n this.bankDetails = this.fb.group(\n {\n bankitems:this.fb.array([]),\n banking_form_remark:[null],\n });\n this.retiveBankDetails();\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBankingPage');\n }\n\n createBankItem(name): FormGroup {\n \n return this.fb.group({\n applicant_name: [name],\n bank_name: [null],\n account_type: [null],\n salary: [null],\n limit: [null],\n is_main: [null],\n vintage: [null],\n });\n\n };\n \n addBankDetails() {\n // if(this.pd.valid){\n \n // if(this.items.length !=0)\n // {\n // this.neighbourAccess = true;\n // }\n for(let coapp of this.pdDetails.applicat_details){\n \n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n this.bankitems.push(this.createBankItem(coapp.applicant_name));\n }\n //console.log(this.pdQuestionAddress.get('items')['controls']);\n \n }\n\n removebank(i){\n \n this.bankitems.removeAt(i);\n \n }\n\n savepdBank(answerData)\n {\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = '334';\n records.fk_createdby = this.users;\n records.banking_details = answerData.bankitems;\n records.banking_form_remark = answerData.banking_form_remark;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n //console.log(answerData);\n }\n\n retiveBankDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'334'}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n var result = Object.keys(res['records'].banking_details).map(function(key) {\n return res['records'].banking_details[key];\n });\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n if(result.length ==0){\n }else\n {\n \n \n \n \n result.forEach(datas=>\n {\n this.bankitems.push(this.createBankItem(''));\n })\n }\n \n this.bankDetails.controls['bankitems'].setValue(result);\n }else\n {\n this.addBankDetails();\n }\n });\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-banking/pd-question-banking.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionFamilyPage 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-family',\n templateUrl: 'pd-question-family.html',\n})\nexport class PdQuestionFamilyPage {\n\n users: any;\n pdDetails: any;\n occupationData: any;\n membersitem: FormArray;\n items: FormArray;\n relationData: any;\n familyForm: FormGroup;\n filteredStates: any = [\n 'Co-Applicant 1 to x',\n 'Accountant',\n 'Manager',\n 'Relative of the applicant',\n 'Friend of the Applicant',\n 'DSA',\n 'Other'\n];\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n this.getFamilyData();\n this.familyForm = this.fb.group({\n person: [null],\n personOther: [null],\n members: [null],\n residence: [null],\n years: [null],\n ownership: [null],\n ownershipOther: [null],\n rent: [null],\n family_details_form_remark:[null],\n earningMembers: this.fb.array([]),\n nonEarningMembers: this.fb.array([])\n });\n this.getRelation();\n this.getoccupation();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFamilyPage');\n }\n getRelation() {\n let master_name = 'RELATIONSHIPS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', data);\n \n if(data['dataStatus'] == true){\n this.relationData = data['records'].filter(rel=>rel.isactive ==1);\n }\n });\n \n}\ngetoccupation()\n{\n let master_name = 'OCCUPATIONMEMBERS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', data);\n if(data['dataStatus']==true){\n this.occupationData = data['records'].filter(occ=>occ.isactive ==1);\n }\n });\n}\n createMembers(): FormGroup {\n return this.fb.group({\n relation: [null],\n segment: [null],\n income: [null],\n employerName: [null],\n });\n}\n\naddearningMembers()\n{\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.items.push(this.createMembers());\n}\n\ndeleteEarningMembers(i)\n{\n this.items.removeAt(i);\n}\ncreateNonMembers(): FormGroup {\n return this.fb.group({\n relationship: [null],\n occupation: [null],\n retired: [null],\n });\n}\naddMembers()\n{\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n this.membersitem.push(this.createNonMembers());\n}\ndeleteMembers(i)\n{\n this.membersitem.removeAt(i);\n}\n\nsavepdfamily(answerData)\n{\n console.log(answerData);\n let records: any = {};\n records.no_of_years = answerData.years;\n if (answerData.ownership == 'Others') {\n records.ownership = answerData.ownershipOther;\n } else {\n records.ownership = answerData.ownership;\n }\n records.residence = answerData.residence;\n if (answerData.ownership == 'Rented') {\n records.what_rent = answerData.rent;\n }\n if (answerData.person == 'Other') {\n records.person_met = answerData.personOther.value;\n } else {\n records.person_met = answerData.person;\n }\n records.family_members = answerData.members;\n records.earning_members = answerData.earningMembers;\n records.non_earning_members = answerData.nonEarningMembers;\n records.pdid = this.pdDetails.pd_id;\n records.formid = '335';\n records.fk_createdby = this.users;\n records.family_details_form_remark = answerData.family_details_form_remark;\n console.log('params', records);\n this.qustCat.saveForm(records).subscribe(res=>\n {\n //console.log(res);\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n}\n\n getFamilyData()\n {\n let earning:any = [];\n let non_earning:any = [];\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'335'}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n non_earning = Object.keys(res['records'].non_earning_members).map(function(key) {\n\n return res['records'].non_earning_members[key];\n });\n console.log(non_earning);\n this.familyForm.controls['family_details_form_remark'].setValue(res['records'].family_details_form_remark);\n earning = Object.keys(res['records'].earning_members).map(function(key) {\n return res['records'].earning_members[key];\n });\n console.log(earning);\n let familyDetails = res['records'];\n this.familyForm.controls['person'].setValue(familyDetails.person_met);\n this.familyForm.controls['personOther'].setValue(familyDetails.personOther);\n this.familyForm.controls['members'].setValue(familyDetails.family_members);\n this.familyForm.controls['residence'].setValue(familyDetails.residence);\n this.familyForm.controls['years'].setValue(familyDetails.no_of_years);\n this.familyForm.controls['ownership'].setValue(familyDetails.ownership);\n this.familyForm.controls['ownershipOther'].setValue(familyDetails.ownershipOther);\n this.familyForm.controls['rent'].setValue(familyDetails.rent);\n // this.familyForm.controls['earningMembers'].setValue(earning);\n // for(this.)\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n if(earning.length==0)\n {\n this.items.push(this.createMembers());\n }else\n {\n earning.forEach(datas => {\n this.items.push(this.createMembers());\n });\n }\n this.familyForm.controls['earningMembers'].setValue(earning);\n\n if(non_earning.length==0)\n {\n this.membersitem.push(this.createNonMembers()); \n }else\n {\n non_earning.forEach(datas => {\n this.membersitem.push(this.createNonMembers());\n \n });\n }\n this.familyForm.controls['nonEarningMembers'].setValue(non_earning);\n \n // for(let earningDetails of earning){\n // this.items = this.familyForm.get('earningMembers') as FormArray;\n // this.items.push(earning);\n // }\n\n }\n }) \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-family/pd-question-family.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormArray,FormGroup,FormBuilder} from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssestsPage 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-assests',\n templateUrl: 'pd-question-assests.html',\n})\nexport class PdQuestionAssestsPage {\n users: any;\n questionDetails: any;\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\n m_investmentType: { 'id': string; 'name': string; }[];\n m_insuranceType: { 'id': string; 'name': string; }[];\n m_propertyType: { 'id': string; 'name': string; }[];\n m_assets_type: { 'id': string; 'name': string; }[];\n pdDetails: any;\n assetItem: any;\n items:FormArray;\n AssetsDetailsForm:FormGroup;\n details:FormArray;\n FormList:boolean = false;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n \n this.AssetsDetailsForm = this.fb.group(\n {\n assets_details:this.fb.array([]),\n \n })\n \n this.getAssetDetails();\n this.getdropList();\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssestsPage');\n }\n\n getdropList()\n {\n this.m_assets_type = [\n {\n 'id': \"1\",\n 'name': \"Property\"\n },\n {\n 'id': \"2\",\n 'name': \"Four Wheeler\"\n },\n {\n 'id': \"3\",\n 'name': \"Two Wheeler\"\n },\n {\n 'id': \"4\",\n 'name': \"Jewellery\"\n },\n {\n 'id': \"5\",\n 'name': \"Consumer Durable\"\n },\n {\n 'id': \"6\",\n 'name': \"Insurance\"\n },\n {\n 'id': \"7\",\n 'name': \"Investments\"\n },\n {\n 'id': \"8\",\n 'name': \"Others\"\n }\n ]\n \n this.m_propertyType = [\n {\n 'id': \"1\",\n 'name': 'Residential'\n },\n {\n 'id': \"2\",\n 'name': 'Commercial'\n },\n {\n 'id': \"3\",\n 'name': 'Industrial'\n },\n {\n 'id': \"4\",\n 'name': 'Land'\n }\n ];\n \n this.m_insuranceType = [{\n 'id': \"1\",\n 'name': 'Life'\n }, {\n 'id': \"2\",\n 'name': 'Health'\n }]\n \n this.m_investmentType = [{\n 'id': \"1\",\n 'name': 'FD'\n }, {\n 'id': \"2\",\n 'name': 'RD'\n }, {\n 'id': \"3\",\n 'name': 'Mutual Funds'\n }, {\n 'id': \"4\",\n 'name': 'PPF'\n }, {\n 'id': \"5\",\n 'name': 'Shares'\n }, {\n 'id': \"6\",\n 'name': 'Others'\n }]\n \n this.m_freqOfPurchase = [\n {\n 'id': \"1\",\n 'name': 'Daily'\n },\n {\n 'id': \"2\",\n 'name': 'Weekly'\n },\n {\n 'id': \"3\",\n 'name': 'Monthly'\n },\n {\n 'id': \"4\",\n 'name': 'Every 3 months'\n },\n {\n 'id': \"5\",\n 'name': 'Half yearly'\n },\n {\n 'id': \"6\",\n 'name': 'Yearly'\n },\n {\n 'id': \"7\",\n 'name': 'As and when required'\n },\n {\n 'id': \"8\",\n 'name': 'Others'\n }\n ]\n \n }\n createAsset() : FormGroup\n {\n return this.fb.group(\n {\n assets_mode: [null],\n details: this.fb.array([]),\n approximate_market_value: [null],\n name_of_the_owner: [null],\n year_of_purchase: [null],\n emi: [false],\n emi_paid: [null],\n elapsed_tenure: [null],\n balance_tenure: [null]\n });\n }\n\n addAsset()\n {\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\n this.assetItem.push(this.createAsset());\n }\n\n deleteAsset(i)\n {\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\n this.assetItem.removeAt(i);\n }\n \n\n show: boolean;\n selectedAssetsType(e: any, i: any): void {\n let val = i;\n console.log('function',e);\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n var arrayControl = this.AssetsDetailsForm.get('assets_details') as FormArray;\n arr.controls.splice(0);\n switch (e.value) {\n case '1': {\n let val = i;\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadProperty());\n break;\n }\n case '2': {\n this.FormList = true; \n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.load_Two_Four_Weeler());\n break;\n }\n case '3': {\n this.FormList = true;\n \n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.load_Two_Four_Weeler());\n break;\n }\n case '4': {\n this.FormList = true;\n \n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadJwellDescription());\n break;\n }\n case '5': {\n this.FormList = true;\n \n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadConsumerDurableDescription());\n break;\n }\n case '6': {\n this.FormList = true;\n \n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInsuranceDescription());\n break;\n }\n case '7': {\n this.FormList = true;\n \n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInvestDescription());\n break;\n }\n case '8': {\n this.FormList = true;\n \n \n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.otherAssetsDescription());\n break;\n }\n default: {\n break;\n }\n }\n }\n\n\n loadProperty() {\n return this.fb.group({\n property_type: [null]\n });\n }\n\n loadJwellDescription() {\n return this.fb.group({\n jwell_description: [null]\n });\n }\n\n loadConsumerDurableDescription() {\n return this.fb.group({\n consumer_durable_description: [null]\n });\n }\n\n otherAssetsDescription() {\n \n return this.fb.group({\n any_other_assets: [null]\n });\n }\n\n loadInsuranceDescription() {\n return this.fb.group({\n insurance_type: [null],\n premium_paid: [null],\n frequency_mode: [null],\n sum_assured: [null],\n members_coverd: [null]\n });\n }\n\n loadInvestDescription() {\n return this.fb.group({\n investments_type: [''],\n amount_of_invest: [''],\n bank_name: ['']\n });\n }\n\n load_Two_Four_Weeler() {\n return this.fb.group({\n manufacturer_model: ['']\n });\n }\n\n\n\n loadPropertyWithData(data) {\n return this.fb.group({\n property_type: [data.property_type]\n });\n }\n\n loadJwellDescriptionWithData(data) {\n return this.fb.group({\n jwell_description: [data.jwell_description]\n });\n }\n\n loadConsumerDurableDescriptionWithData(data) {\n return this.fb.group({\n consumer_durable_description: [data.consumer_durable_description]\n });\n }\n\n otherAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets]\n });\n }\n\n loadInsuranceDescriptionWithData(data) {\n return this.fb.group({\n insurance_type: [data.insurance_type],\n premium_paid: [data.premium_paid],\n frequency_mode: [data.frequency_mode],\n sum_assured: [data.sum_assured],\n members_coverd: [data.members_coverd]\n });\n }\n\n loadInvestDescriptionWithData(data) {\n return this.fb.group({\n investments_type: [data.investments_type],\n amount_of_invest: [data.amount_of_invest],\n bank_name: [data.bank_name]\n });\n }\n\n load_Two_Four_WeelerWithData(data) {\n return this.fb.group({\n manufacturer_model: [data.manufacturer_model]\n });\n }\n\n saveAssetDetails(answerData)\n {\n console.log(answerData);\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n answerData.assets_details.map(val => {\n if (val.emi == '0') {\n val.emi_paid = '';\n val.elapsed_tenure = '';\n val.balance_tenure = '';\n }\n });\n answerData.pdid = this.pdDetails.pd_id;\n answerData.formid = '340';\n answerData.fk_createdby = this.users;\n console.log('final',answerData);\n this.qustCat.saveForm(answerData).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n }\n\n getAssetDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'340'}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\n return res['records'].assets_details[key];\n });\n if (assetArray.length > 0) {\n for (let val of assetArray) {\n let vals = {\n assets_mode: val.assets_mode,\n approximate_market_value: val.approximate_market_value,\n name_of_the_owner: val.name_of_the_owner,\n year_of_purchase: val.year_of_purchase,\n emi: val.emi,\n emi_paid: val.emi_paid,\n elapsed_tenure: val.elapsed_tenure,\n balance_tenure: val.balance_tenure\n };\n const control = this.AssetsDetailsForm.controls['assets_details'];\n control.push(this.initDetailsWithdata(vals));\n \n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\n }\n \n }\n console.log(assetArray);\n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\n }else{\n //this.addAsset();\n }\n })\n }\n initDetailsWithdata(data) {\n return this.fb.group({\n assets_mode: [data.assets_mode],\n details: this.fb.array([]),\n approximate_market_value: [data.approximate_market_value],\n name_of_the_owner: [data.name_of_the_owner],\n year_of_purchase: [data.year_of_purchase],\n emi: [data.emi || 0],\n emi_paid: [data.emi_paid || ''],\n elapsed_tenure: [data.elapsed_tenure || ''],\n balance_tenure: [data.balance_tenure || '']\n });\n }\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\n let val = i;\n // var data = Object.keys(datas).map(function (key) {\n // return datas[key];\n // });\n // alert(JSON.stringify(datas));\n let data = datas;\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n arr.controls.splice(0);\n switch (assets_details_mode) {\n \n case '1': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadPropertyWithData(data));\n break;\n }\n case '2': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.load_Two_Four_WeelerWithData(data));\n break;\n }\n case '3': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.load_Two_Four_WeelerWithData(data));\n break;\n }\n case '4': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadJwellDescriptionWithData(data));\n break;\n }\n case '5': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadConsumerDurableDescriptionWithData(data));\n break;\n }\n case '6': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInsuranceDescriptionWithData(data));\n break;\n }\n case '7': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInvestDescriptionWithData(data));\n break;\n }\n case '8': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.otherAssetsDescriptionWithData(data));\n break;\n }\n default: {\n break;\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assests/pd-question-assests.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder,FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionOtherIncomePage 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-other-income',\n templateUrl: 'pd-question-other-income.html',\n})\nexport class PdQuestionOtherIncomePage {\n\n otherIncomeDetails: any;\n users: any;\n pdDetails: any;\n questionDetails: any;\n frequencyData: any;\n otherIncomeForm: FormGroup;\n incomeDetails:FormArray;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n\n this.otherIncomeForm = this.fb.group({\n other_income: [null],\n otherincome_remarks:[null],\n income_details: this.fb.array([])\n });\n this.getOtherIncome();\n this.getFrequency();\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionOtherIncomePage');\n }\n\n createDetail():FormGroup {\n return this.fb.group({\n source: [null],\n amount: [null],\n frequency: [null],\n });\n}\naddIncomeDetails() {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n this.incomeDetails.push(this.createDetail());\n}\ndeleteIncomeDetails(index) {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n this.incomeDetails.removeAt(index);\n}\ncheckotherDetails(val)\n{\n if(val==\"Yes\")\n {\n this.addIncomeDetails();\n }\n}\ngetFrequency() {\n let master_name = 'FREQUENCY';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', data);\n if(data['dataStatus']==true)\n {\n this.frequencyData = data['records'].filter(fre=>fre.isactive==1);\n }\n });\n}\n\nsubmitOtherIncome(answerData)\n{\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = '337';\n records.fk_createdby = this.users;\n records.other_income = answerData.other_income;\n records.income_details = answerData.income_details;\n records.otherincome_remarks = answerData.otherincome_remarks;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }, error => {\n \n })\n}\n\ngetOtherIncome()\n{\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'337'};\n\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\n //console.log(res);\n return res['records'].income_details[key];\n\n });\n this.otherIncomeDetails = res['records'];\n console.log(this.otherIncomeDetails);\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n \n if(incomeArray.length==0)\n {\n this.incomeDetails.push(this.createDetail());\n }else\n {\n incomeArray.forEach(datas=>\n {\n this.incomeDetails.push(this.createDetail());\n })\n }\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\n }\n })\n}\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { PdQuestionCategoryPage } from '../../pd-question-category/pd-question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionSupplierInfoPage 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-supplier-info',\n templateUrl: 'pd-question-supplier-info.html',\n})\nexport class PdQuestionSupplierInfoPage {\n users: any;\n pdDetails: any;\n questionDetails: any;\n supplierInfoForm: FormGroup;\n supplierDetails: any;\n supplierArray:FormArray;\n m_paymentModeType:any;\n\n m_freqOfPurchase:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n\n this.supplierInfoForm = this.fb.group({\n \n main_raw_materials: [null],\n supplier_details: this.fb.array([])\n });\n this.getSupplierForm();\n \n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\n }\n\n getdropList()\n {\n this.m_paymentModeType = [\n {\n 'id': \"1\",\n 'name': 'Immediate Or Advanced Payment'\n },\n {\n 'id': \"2\",\n 'name': 'Credit'\n },\n {\n 'id': \"3\",\n 'name': 'Combination of Both'\n },\n ];\n this.m_freqOfPurchase = [\n {\n 'id': \"1\",\n 'name': 'Daily'\n },\n {\n 'id': \"2\",\n 'name': 'Weekly'\n },\n {\n 'id': \"3\",\n 'name': 'Monthly'\n },\n {\n 'id': \"4\",\n 'name': 'Every 3 months'\n },\n {\n 'id': \"5\",\n 'name': 'Half yearly'\n },\n {\n 'id': \"6\",\n 'name': 'Yearly'\n },\n {\n 'id': \"7\",\n 'name': 'As and when required'\n },\n {\n 'id': \"8\",\n 'name': 'Others'\n }\n ];\n }\n public paymentModeTextBox: number;\n selectedPM(e) {\n this.paymentModeTextBox = e.value;\n // this.f.supplier_details.controls.get('payment_mode_value');\n }\n \n public freqPurchaseTextBox: number;\n selectedFreqPurchase(e){\n this.freqPurchaseTextBox = e.value;\n }\n initDetails() {\n return this.fb.group({\n supplier_name: [null],\n contact_person: [null],\n mobile_number: [null],\n payment_mode: [null],\n per_of_immediate_advance_payment:[null],\n credit_period:[null],\n frequency_of_purchase: [null],\n freq_purchase_others_text_value: [null]\n });\n }\n\n addSupplierDetails() {\n this.supplierArray = this.supplierInfoForm.get('supplier_details') as FormArray;\n // const control = ;\n this.supplierArray.push(this.initDetails());\n }\n\n removeLanguage(i: number) {\n this.supplierArray = this.supplierInfoForm.get('supplier_details') as FormArray;\n \n this.supplierArray.removeAt(i);\n }\n\nsaveSupplierInfo(answerData)\n{\n let records:any ={};\n\n records.pdid = this.pdDetails.pd_id;\n records.formid = '338';\n records.fk_createdby = this.users;\n records.main_raw_materials = answerData.main_raw_materials;\n records.supplier_details = answerData.supplier_details;\n console.log('data',records); \n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n });\n\n \n}\n\ngetSupplierForm()\n{\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'338'};\n\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.supplierDetails = res['records'];\n var supplierArray = Object.keys(res['records'].supplier_details\n ).map(function(key) {\n //console.log(res);\n return res['records'].supplier_details\n [key];\n\n });\n this.supplierArray = this.supplierInfoForm.get('supplier_details') as FormArray; \n this.supplierInfoForm.controls['main_raw_materials'].setValue(this.supplierDetails.main_raw_materials);\n if(supplierArray.length ==0)\n {\n \n this.supplierArray.push(this.initDetails()); \n }else\n {\n supplierArray.forEach(datas=>\n {\n this.supplierArray.push(this.initDetails());\n })\n }\n this.supplierInfoForm.controls['supplier_details'].setValue(supplierArray);\n }else{\n this.addSupplierDetails();\n }\n })\n \n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-supplier-info/pd-question-supplier-info.ts","import { Component, OnInit } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionPersonalInfoPage 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-personal-info',\n templateUrl: 'pd-question-personal-info.html',\n})\nexport class PdQuestionPersonalInfoPage implements OnInit{\n\n questionDetails: any;\n pdDetails: any;\n users: any;\n _personalForm: FormGroup;\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\n relationShipList:any=[];\n \n form_id:number;\n \n\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\n \n public mainApplicantDetails :any=[];\n public coApplicantDetails :any=[];\n \n errorMessage:any;\n //coItem:any;\n //mainItem:any;\n\n repeat:number=3;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n console.log(this.pdDetails);\n \n \n // this.getRelationMaster();\n \n \n \n }\n ngOnInit() {\n \n this.loadPDDetails();\n this.getRelationMaster();\n this.mainApplicantDetails = this.pdDetails.applicat_details\n .filter(item => item.applicant_type == 1);\n // console.log(this.mainApplicantDetails)\n this.coApplicantDetails = this.pdDetails.applicat_details\n .filter(item => item.applicant_type == 0);\n }\n\n // load form pd details\n loadPDDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\n \n this.qustCat.retiverForm(records).subscribe(\n data => {\n if (data['status'] == 200) {\n this.loadFormWithIDData(data['records']);\n \n }\n else{\n let defaultMainApp=[];\n let defaultCoApp=[];\n // generate default main applicant form details\n if(this.mainApplicantDetails.length>0){ \n for(let j=0;j this.errorMessage = error);\n}\n\nloadDataStatus: boolean = false;\n\nloadFormWithIDData(data) {\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\n return data.main_applicant_details[key];\n});\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\n return data.co_applicant_details[key];\n});\n\n // main applicant\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\n name_ans:new FormControl(item.name_ans, Validators.required),\n age_ans:new FormControl(item.age_ans, Validators.required),\n entity_ans:new FormControl(item.entity_ans, Validators.required),\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\n earning_ans:new FormControl(item.earning_ans, Validators.required),\n })));\n // co applicant\n let iterateCoApp=[];\n \n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\n name_ans:new FormControl(item.name_ans, Validators.required),\n age_ans:new FormControl(item.age_ans, Validators.required),\n entity_ans:new FormControl(item.entity_ans, Validators.required),\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\n earning_ans:new FormControl(item.earning_ans, Validators.required),\n relation_ans:new FormControl(item.relation_ans, Validators.required),\n\n })));\n \n this._personalForm = this._fb.group({\n pdid:null,\n form_id:null,\n mainItem: mainApplicantGroup,\n coItem: coApplicantGroup,\n personal_info_form_remark: [data.personal_info_form_remark]\n });\n //console.log(this._personalForm);\n this.loadDataStatus = true;\n}\n\n loadFormData(mainApp,coApp){\n // main applicant\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\n name_ans:new FormControl(item.applicant_name, Validators.required),\n name_id:new FormControl(0),\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\n age_id:new FormControl(1),\n age_ans:new FormControl(null, Validators.required),\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\n entity_id: new FormControl(2),\n entity_ans:new FormControl(null, Validators.required),\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\n qualification_id: new FormControl(3),\n qualification_ans:new FormControl(null, Validators.required),\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\n earning_id: new FormControl(4),\n earning_ans:new FormControl(null, Validators.required),\n \n })));\n // co applicant\n let iterateCoApp=[];\n \n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\n name_ques:new FormControl(this.coApplicantQuestions[0]),\n name_ans:new FormControl(item.applicant_name, Validators.required),\n name_id:new FormControl(0),\n age_ques:new FormControl(this.coApplicantQuestions[1]),\n age_id:new FormControl(1),\n age_ans:new FormControl(null, Validators.required),\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\n entity_id: new FormControl(2),\n entity_ans:new FormControl(null, Validators.required),\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\n qualification_id: new FormControl(3),\n qualification_ans:new FormControl(null, Validators.required),\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\n earning_id: new FormControl(4),\n earning_ans:new FormControl(null, Validators.required),\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\n relation_id:new FormControl(5),\n relation_ans:new FormControl(null, Validators.required),\n\n })));\n \n this._personalForm = this._fb.group({\n pdid:null,\n form_id:null,\n mainItem: mainApplicantGroup,\n coItem: coApplicantGroup,\n personal_info_form_remark:null\n });\n //console.log(this._personalForm);\nthis.loadDataStatus = true;\n }\n\n //get pd main applicant array values \n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\n\n // get pd co applicant array values\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\n\n // get relation master details\n getRelationMaster(){\n let relation =\"RELATIONSHIPS\";\n this.qustCat.getcommondrop(relation).subscribe(\n data => {\n if (data['status'] == 200) {\n this.relationShipList=data['records'];\n \n }\n}, error => this.errorMessage = error);\n}\n\n// submit forms details\nsubmitPersonalForm(formData:any) {\n if(this._personalForm.valid){\n let main_applicantDetails:any=[];\n let co_applicantDetails:any=[];\n\n formData.mainItem.forEach((element,key) => {\n if(key==0){\n main_applicantDetails.push({\n \"name_ans\":element.name_ans,\n \"age_ans\":element.age_ans,\n \"entity_ans\":element.entity_ans,\n \"qualification_ans\":element.qualification_ans,\n \"earning_ans\":element.earning_ans, \n })\n }\n \n });\n formData.coItem.forEach((Coelement,Cokey) => {\n co_applicantDetails.push({\n\n \"name_ans\":Coelement.name_ans,\n \"age_ans\":Coelement.age_ans,\n \"qualification_ans\":Coelement.qualification_ans,\n \"entity_ans\":Coelement.entity_ans,\n \"earning_ans\":Coelement.earning_ans, \n \"relation_ans\":Coelement.relation_ans, \n })\n \n });\n\n let save_details:any={\n \"pdid\" : this.pdDetails.pd_id,\n \"formid\" : '341',\n \"fk_createdby\":this.users,\n \"main_applicant_details\":main_applicantDetails,\n \"co_applicant_details\":co_applicantDetails,\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\n };\n console.log(save_details);\n this.qustCat.saveForm(save_details).subscribe(result => {\n if (result['dataStatus']==true) {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.notifier.notify('success', 'Success.');\n }\n else {\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\n }\n }, error => {\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\n });\n }\n}\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n/**\n * Generated class for the PdQuestionFinancialInfoPage 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-financial-info',\n templateUrl: 'pd-question-financial-info.html',\n})\nexport class PdQuestionFinancialInfoPage {\n\n constructor(public navCtrl: NavController, public navParams: NavParams) {\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-financial-info/pd-question-financial-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\n\n/**\n * Generated class for the PdQuestionAssessedDashPage 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-dash',\n templateUrl: 'pd-question-assessed-dash.html',\n})\nexport class PdQuestionAssessedDashPage {\n\n businessIncome: boolean;\n grossAccess: boolean;\n finalAccess: boolean;\n finalExpense: any;\n finalIncome: any;\n finalData: any;\n houseExpenseData: boolean;\n businessData: boolean;\n salesData: boolean;\n purchaseData: boolean;\n grossprofit: any;\n assessedProcess: boolean;\n users: any;\n FormId: any;\n pdDetails: any;\n assessedForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n calc_type_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n mode:[null,Validators.compose([Validators.required])],\n margin:[null],\n fk_createdby:[this.users],\n fk_updatedby:[null],\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\n }\n ionViewCanEnter()\n {\n this.getassessedIncome(); \n }\n getViewPage(pageId)\n {\n\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\n }\n\n saveAssessedForm(answerData)\n {\n console.log(this.assessedForm.value);\n if(this.assessedForm.valid)\n {\n \n \n \n let records = {'records':this.assessedForm.value};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.getassessedIncome();\n }else\n {\n\n }\n })\n \n }\n }\n\n getassessedIncome()\n {\n let records = {'pd_id':this.pdDetails.pd_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.assessedProcess = true;\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\n if(res['records'].purchase_details.length !=0)\n {\n this.purchaseData = true;\n }\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)\n {\n this.salesData = true;\n }\n if(res['records'].business_expenses.length !=0)\n {\n this.businessData = true;\n }\n if(res['records'].house_hold_expenses.length !=0)\n {\n this.houseExpenseData = true;\n }\n if(res['records'].othre_business_income.length !=0)\n {\n this.businessIncome = true;\n }\n console.log(res['records'].final_data.length);\n if(res['records'].final_data.length !=0){\n this.finalAccess = true;\n this.finalData = res['records'].final_data[0]; \n this.finalIncome = this.finalData.income;\n this.finalExpense = this.finalData.expense; \n }\n console.log(this.grossprofit);\n if(this.grossprofit !==undefined)\n {\n this.grossAccess = true;\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\n }\n \n }else\n {\n this.assessedProcess = false;\n }\n });\n }\n\n\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\nimport { FormatWidth } from '@angular/common';\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\n\n\n/**\n * Generated class for the PdQuestionAssessedInfoPage 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-info',\n templateUrl: 'pd-question-assessed-info.html',\n})\nexport class PdQuestionAssessedInfoPage {\n\n busissnessIncome: any;\n mode: any;\n grossprofitCalc: any;\n houseHold_details: any;\n grandHouseExpenseTotal: any;\n houseannual: any=[];\n businessExpenses_details: any;\n grandExpenseTotal: any;\n expenseannual: any=[];\n businessExpenses: any;\n purchse_details: any;\n sales_item_month_value: any=[];\n sales_wise_month_headers:any = [];\n sales_month_wise_data:any = [];\n sales_item_value: any;\n grandpurchaseTotal: any=null;\n UOM: any;\n m_freqOfPurchase: any;\n users: any;\n pageId: any;\n pdDetails: any;\n assessedForm:FormGroup;\n FormName:any;\n annual:any = [];\n rawMaterialForm:FormGroup;\n BuissnessForm:FormGroup;\n houseHoldForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.pageId = this.navParams.get('pageId');\n\n switch(this.pageId)\n {\n case 1:\n this.FormName = \"Sales Page\";\n break;\n case 2:\n this.FormName = \"Purchase Page\";\n break;\n case 3:\n this.FormName = \"Business Expense Page\";\n break;\n case 4:\n this.FormName = \"House Hold Page\";\n break;\n default:\n this.FormName = \"Question Page\";\n break;\n }\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n sdc_id:[null],\n sales_declared_by_customer:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n margin_per:[null],\n margin_value:[null],\n isactive:[1],\n fk_createdby:[this.users],\n \n });\n \n \n \n \n // this.getdropList();\n \n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\n }\n\n\n \n \n\n ionViewDidEnter() {\n \n }\n ionViewCanEnter()\n {\n this.getAssessedDetails(); \n }\n\n\n \n \n \n \n\n getMarginCalc()\n {\n let margin_per = this.assessedForm.controls['margin_per'].value;\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\n if(margin_per !=null && sales_declared_by_customer !=null)\n {\n let value = sales_declared_by_customer * (margin_per/100);\n this.assessedForm.controls['margin_value'].setValue(value);\n }\n }\n\n saveData(answerData)\n {\n let records:any = {};\n\n records ={'records':answerData};\n console.log(records);\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\n {\n // console.log(res);\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.getAssessedDetails();\n }\n })\n }\n \n getAssessedDetails()\n {\n this.sales_item_month_value = [];\n this.sales_month_wise_data = [];\n this.sales_item_value= [];\n let records = {'pd_id':this.pdDetails.pd_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let sales_value = res['records'].sales_declared_by_customer[0];\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\n this.purchse_details = res['records'].purchase_details; \n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0];\n this.mode = this.grossprofitCalc.mode;\n console.log(this.grossprofitCalc);\n var result = this.purchse_details.reduce(function(p, c) {\n \n return p;\n },[]);\n console.log(result);\n\n\n this.businessExpenses_details = res['records'].business_expenses;\n this.houseHold_details = res['records'].house_hold_expenses;\n this.busissnessIncome = res['records'].othre_business_income;\n // console.log(this.sales_item_month_value);\n // this.getpurchaseDetails(this.purchse_details);\n \n \n \n\n \n \n \n \n \n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\n let listItems: any=[];\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\n })\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\n \n let convertYear : number = 12 / listItems.length;\n let footerMessage: any=[];\n footerMessage.push({\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\n month_value:calculateAllItemsTotal,\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\n year_value: calculateAllItemsTotal * convertYear,\n })\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id});\n });\n\n\n console.log(this.sales_month_wise_data);\n if(sales_value!==undefined){\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\n \n }\n \n }\n })\n\n }\n\n /**\n * Add Assessed Forms\n */\n\n AddAssessedForm()\n {\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); \n \n }\n\n editDetails(salesCal)\n {\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \n \n }\n editAllDetails(AllsalesData)\n {\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'grossprofit':this.grossprofitCalc}); \n }\n\n /**Assessed Daily Form Details */\n\n AddAssessedDailyForm()\n {\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc})\n }\n editAssessedDailyForm(simId)\n {\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\n console.log(dailySaleDetails);\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'grossprofit':this.grossprofitCalc})\n \n }\n\n /**purchase Details Forms */\n AddPurchaseForm()\n {\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \n \n }\n\n editPurchaseDetails(purchaseCal)\n {\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \n \n }\n editPurchaseAllDetails(AllpurchaseData)\n {\n console.log('260',AllpurchaseData);\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \n }\n \n\n /**Business Expense */\n AddExpenseForm()\n {\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \n \n }\n\n editExpenseDetails(expenseCal)\n {\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \n \n }\n editExpenseAllDetails(AllexpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \n }\n \n\n /** Household Expenses Details */\n AddHouseExpenseForm()\n {\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \n \n }\n\n editHouseExpenseDetails(expenseCal)\n {\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \n \n }\n editHouseExpenseAllDetails(AllExpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \n }\n\n /**\n * Income Details\n */\n AddIncomeForm()\n {\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \n \n }\n\n editIncomeDetails(expenseCal)\n {\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \n \n }\n editIncomeAllDetails(AllexpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \n }\n \n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedSalesPage 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-sales',\n templateUrl: 'pd-question-assessed-sales.html',\n})\nexport class PdQuestionAssessedSalesPage {\n\n grossprofitCalc: any;\n salesData: any =[];\n annual: any=[];\n grandTotal: any;\n UOM: any;\n m_freqOfPurchase: any;\n assessedForm: FormGroup;\n users: any;\n FormId: any;\n pdDetails: any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.grossprofitCalc = this.navParams.get('grossprofit');\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n \n salesCalItemwise:this.fb.array([]),\n });\n this.salesData = this.navParams.get('sales');\n if(this.salesData!=null)\n {\n this.getSalesItemData(this.salesData);\n }else\n {\n this.addSalesCal();\n }\n // this.addSalesCal();\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\n }\n\n getdropList()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\n }\n });\n }\n\n createSalesCal()\n {\n return this.fb.group(\n {\n sci_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n\n sales_item:[null,Validators.compose([Validators.required])],\n sales_qty:[null,Validators.compose([Validators.required])],\n fk_uom_id:[null,Validators.compose([Validators.required])],\n rate_per_unit:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_sale_value:[null],\n margin_per:[null],\n margin_per_uom:[null],\n margin_final_value:[null],\n });\n }\n\n addSalesCal()\n {\n if(this.assessedForm.valid){\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n control.push(this.createSalesCal());\n }else\n {\n this.toast.pdTriggerappmessage('Enter the all fields');\n }\n }\n \n removeSalesCal(i)\n {\n this.annual.splice(i,1);\n \n // this.annual[i].spl\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n console.log(this.grandTotal);\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n if(control.length==1)\n {\n control.removeAt(i);\n this.addSalesCal(); \n } else{\n control.removeAt(i);\n }\n }\n /**\n * frequency Type \n * 1.Weekly no need\n * 2.Daily 250\n * 3.Yearly \n * 4.Hourly no need\n * 5.Monthly 12\n * 6.none\n * 7.none\n * 8.none\n */\n salecalculat(index,details)\n {\n // console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let salesQty = details.value.sales_qty;\n let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,salesQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(salesQty!=null && UOM!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (salesQty*UOM*250);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (salesQty*UOM);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (salesQty*UOM*12);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n }else\n {\n // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\n }\n \n \n \n \n console.log(this.annual);\n }\n\n getSalesCalc(details)\n {\n // console.log(details);\n let margin_per = details.value.margin_per;\n let margin_amount = details.value.margin_per_uom;\n let annual_sale_value = details.value.annual_sale_value;\n let sales_qty = details.value.sales_qty;\n // console.log(sales_qty,margin_amount);\n let value:any = '';\n if(margin_per !=null || margin_amount !=null){\n if(margin_per !=null)\n {\n value = +annual_sale_value * (+margin_per/100);\n }else\n {\n console.log('else');\n value = +sales_qty* +margin_amount;\n }\n console.log(value);\n details.controls['margin_final_value'].setValue(value);\n }\n }\n saveData(answerData)\n {\n let records = {'records':answerData.salesCalItemwise};\n console.log(records);\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n })\n }\n \n getSalesItemData(salesData)\n {\n console.log(salesData);\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n\n salesData.forEach((sale,index)=>{\n \n this.annual[index] = sale.annual_sale_value\n control.push(this.createSaleswithData(sale));\n })\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\n // console.log(control);\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n }\n\n createSaleswithData(data)\n {\n return this.fb.group(\n {\n sci_id:[data.sci_id],\n fk_pd_id:[this.pdDetails.pd_id],\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_sale_value:[data.annual_sale_value],\n margin_per:[data.margin_per],\n margin_per_uom:[data.margin_per_uom],\n margin_final_value:[data.margin_final_value],\n });\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionAssessedDailySalesPage 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-sales',\n templateUrl: 'pd-question-assessed-daily-sales.html',\n})\nexport class PdQuestionAssessedDailySalesPage {\n\n currentDate: string;\n grossprofitCalc: any;\n salesDaily: any;\n users: any;\n FormId: any;\n pdDetails: any;\n salesDailyForm: FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.salesDaily = this.navParams.get('salesDaily');\n this.grossprofitCalc = this.navParams.get('grossprofit');\n this.users = this.aws.getlocale();\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\n console.log(this.currentDate);\n this.salesDailyForm = this.fb.group(\n {\n sales_product: this.fb.array([]),\n })\n if (this.salesDaily != null) {\n this.getDailySalesData(this.salesDaily);\n } else {\n this.adddailySalaesProduct();\n\n }\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\n }\n\n createdailysalesProduct() {\n return this.fb.group(\n {\n sim_id: [null],\n sales_item: [null, Validators.compose([Validators.required])],\n child: this.fb.array([]),\n fk_pd_id: [this.pdDetails.pd_id],\n margin_per: [null],\n margin_value: [null],\n fk_createdby: [this.users],\n isactive: ['1'],\n });\n }\n createdailyChildSaleProduct() {\n return this.fb.group({\n simc_id: [null],\n fk_sim_id: [null],\n sales_date: [null, Validators.compose([Validators.required])],\n sales_value: [null, Validators.compose([Validators.required])],\n isactive: ['1'],\n })\n }\n temparr = [];\n tempdate = [];\n getSalesCalc(subchild,child,key) {\n console.log(key);\n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\n let totalitemmargin = child.value.margin_per;\n \n if (totalitemmargin != null && subchild.value.sales_value !=null) {\n let loopAccess = false;\n let loopindex = 0;\n if (this.tempdate.length != 0) {\n for (var i = 0; i < this.tempdate.length; i++) {\n\n if (this.tempdate[i].month == saledate) {\n loopAccess = true;\n loopindex = i;\n }\n }\n\n if (loopAccess) {\n\n // console.log(loopAccess,loopindex);\n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\n this.temparr.push(subchild.value.sales_value);\n loopAccess = false;\n loopindex = 0;\n // console.log('merge');\n } else {\n // console.log(loopAccess,loopindex); \n // console.log('push');\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\n }\n\n\n } else {\n // console.log('else')\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\n this.temparr.push(subchild.value.sales_value);\n }\n\n let totalMonth = 12 / this.tempdate.length;\n console.log(this.tempdate);\n\n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\n console.log(tempgrandTotal);\n // let value = tempgrandTotal * (totalitemmargin / 100);\n let value = tempgrandTotal*totalMonth ;\n console.log(value);\n let grandValue = value * (totalitemmargin / 100);\n child.controls['margin_value'].setValue(grandValue);\n \n }\n \n }\n adddailySalaesProduct() {\n this.tempdate = [];\n if (this.salesDailyForm.valid) {\n const control = this.salesDailyForm.get('sales_product') as FormArray;\n control.push(this.createdailysalesProduct());\n // console.log(control.length);\n this.adddailyChildSaleProduct(control.length - 1);\n }\n }\n adddailyChildSaleProduct(index) {\n // if(this.salesDailyForm.valid){\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\n\n control.push(this.createdailyChildSaleProduct());\n // }\n }\n\n deletedailySalesProduct(index) {\n console.log(index);\n this.tempdate.slice(index,1);\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\n if (control.length == 1) {\n this.salesDailyForm.controls['sales_product'].reset();\n } else {\n control.removeAt(index);\n }\n }\n\n deletedailyChildSaleProduct(saleIndex, saleChildIndex) {\n this.tempdate = [];\n const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\n if(control.length==1)\n {\n control.removeAt(saleChildIndex);\n this.adddailyChildSaleProduct(saleIndex); \n }else{\n control.removeAt(saleChildIndex);\n }\n }\n saveData(answerData) {\n if (this.salesDailyForm.valid) {\n let records = { 'records': answerData.sales_product };\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\n if (res['dataStatus'] == true) {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n });\n }\n\n\n }\n getDailySalesData(dailySalesData) {\n console.log(dailySalesData);\n const control = this.salesDailyForm.get('sales_product') as FormArray;\n let salesChildControl;\n let salesChildControlarr = [];\n dailySalesData.forEach((val, index) => {\n\n control.push(this.dailySalesWithData(val));\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\n\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\n\n salesChildControlarr[index].forEach((vals, i) => {\n vals.forEach((item, key) => {\n let saleDate = new Date(item.sales_date);\n\n item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() + 1)).slice(-2);\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id));\n })\n\n\n\n });\n\n });\n }\n\n dailySalesWithData(data) {\n\n return this.fb.group(\n {\n sim_id: [data.sim_id],\n sales_item: [data.sales_item, Validators.compose([Validators.required])],\n child: this.fb.array([]),\n fk_pd_id: [this.pdDetails.pd_id],\n fk_createdby: [this.users],\n isactive: ['1'],\n margin_per: [data.margin_per],\n margin_value: [data.margin_value],\n })\n }\n dailySalesChildWithData(data, fk_id) {\n\n\n return this.fb.group(\n {\n simc_id: [data.simc_id],\n fk_sim_id: [fk_id],\n sales_date: [data.sales_date, Validators.compose([Validators.required])],\n sales_value: [data.sales_value, Validators.compose([Validators.required])],\n isactive: ['1'],\n })\n\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\n\n/**\n * Generated class for the PdQuestionAssessedPurchasePage 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-purchase',\n templateUrl: 'pd-question-assessed-purchase.html',\n})\nexport class PdQuestionAssessedPurchasePage {\n purchaseDetails: any;\n users: any;\n pdDetails: any;\n businessExpenses: any;\n UOM: any;\n m_freqOfPurchase: any;\n annual: any = [];\n grandpurchaseTotal: any;\n rawMaterialForm:FormGroup;\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.purchaseDetails = this.navParams.get('purchase');\n this.users = this.aws.getlocale();\n this.rawMaterialForm = this.fb.group(\n {\n purchase:this.fb.array([]),\n });\n if(this.purchaseDetails!=null)\n {\n this.getpurchaseDetails(this.purchaseDetails);\n }else\n {\n this.addPurchaseDetails();\n }\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\n }\n\n\n createPurchaseDetails()\n {\n return this.fb.group(\n {\n purchase_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n purchase_item:[null,Validators.compose([Validators.required])],\n purchase_qty:[null,Validators.compose([Validators.required])],\n fk_uom_id:[null,Validators.compose([Validators.required])],\n rate_per_unit:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_purchase_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n\n getdropList()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\n }\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\n }\n });\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\n }\n })\n }\n addPurchaseDetails()\n {\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\n control.push(this.createPurchaseDetails());\n }\n\n deletePurchaseDetails(i)\n {\n this.annual.splice(i,1);\n \n // this.annual[i].spl\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \n const control = this.rawMaterialForm.controls['purchase'] as FormArray\n control.removeAt(i); \n }\n\n\n salecalculat(index,details)\n {\n console.log(this.grandpurchaseTotal);\n console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let purchaseQty = details.value.purchase_qty;\n let UOM = details.value.rate_per_unit;\n console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(purchaseQty!=null && UOM!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (purchaseQty*UOM*250);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (purchaseQty*UOM);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (purchaseQty*UOM*12);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\n }\n }\n savepurchaseData(answerData)\n {\n if(this.rawMaterialForm.valid){\n let records = {'records':answerData.purchase};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.getAssessedDetails();\n \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter All Field');\n }\n }\n\n getpurchaseDetails(purchaseDetails)\n {\n console.log('function in',purchaseDetails);\n \n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \n console.log(control); \n if(purchaseDetails.length ==0)\n {\n console.log('if');\n this.addPurchaseDetails();\n }else{\n console.log('else');\n purchaseDetails.forEach((val,index)=>\n {\n // console.log(index);\n control.push(this.createPurchasewithData(val));\n this.annual[index] = val.annual_purchase_value;\n });\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\n }\n // console.log(control); \n \n }\n\n createPurchasewithData(data)\n {\n return this.fb.group(\n {\n purchase_id:[data.purchase_id],\n fk_pd_id:[this.pdDetails.pd_id],\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedBusinessPage 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-business',\n templateUrl: 'pd-question-assessed-business.html',\n})\nexport class PdQuestionAssessedBusinessPage {\n m_freqOfPurchase: any;\n expenseDetails: any;\n grandpurchaseTotal(arg0: any): any {\n throw new Error(\"Method not implemented.\");\n }\n grandExpenseTotal: any=[];\n expenseannual: any=[];\n users: any;\n pdDetails: any;\n BuissnessForm:FormGroup;\n businessExpenses:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.expenseDetails = this.navParams.get('expense');\n this.users = this.aws.getlocale();\n this.BuissnessForm = this.fb.group(\n {\n busExpense:this.fb.array([]),\n });\n\n if(this.expenseDetails!=null)\n {\n this.getBuisnessExpenses(this.expenseDetails);\n }else\n {\n this.addBusinessDetails();\n }\n this.getdropdown();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\n {\n if(res['dataStatus']==true){\n \n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\n } \n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\n }\n\n\n createBusinessDetails()\n {\n return this.fb.group(\n {\n pd_expense_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n expense_item_id:[null,Validators.compose([Validators.required])],\n expense_value:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_expenses_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n\n addBusinessDetails()\n {\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\n control.push(this.createBusinessDetails());\n }\n\n deleteBuisnessDetails(i)\n {\n this.expenseannual.splice(i,1); \n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n \n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\n control.removeAt(i);\n }\n\n busExpensecalculat(index,details)\n {\n \n console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let expenseValue = details.value.expense_value;\n let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(expenseValue!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (expenseValue*250);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (expenseValue);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (expenseValue*12);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n\n saveBusinessData(answerData)\n {\n // console.log(answerData);\n if(this.BuissnessForm.valid){\n let records = {'records':answerData.busExpense};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n \n }\n\n getBuisnessExpenses(expenseDetails)\n {\n if(expenseDetails.length==0)\n {\n this.addBusinessDetails();\n }else\n {\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \n expenseDetails.forEach((val,index)=>\n {\n this.expenseannual[index] = val.annual_expenses_value;\n control.push(this.createBusinessExpensewithData(val));\n })\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createBusinessExpensewithData(data)\n {\n return this.fb.group(\n {\n pd_expense_id:[data.pd_expense_id],\n fk_pd_id:[this.pdDetails.pd_id],\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\n\n/**\n * Generated class for the PdQuestionAssessedHouseholdPage 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-household',\n templateUrl: 'pd-question-assessed-household.html',\n})\nexport class PdQuestionAssessedHouseholdPage {\n\n m_freqOfPurchase: any;\n expenseDetails: any;\n houseExpenseDetails: any;\n users: any;\n pdDetails: any;\n houseannual: any =[];\n grandHouseExpenseTotal: any=[];\n houseHoldForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.houseExpenseDetails = this.navParams.get('FormId');\n this.expenseDetails = this.navParams.get('expense');\n this.users = this.aws.getlocale();\n this.houseHoldForm = this.fb.group(\n {\n houseExpense:this.fb.array([]),\n });\n if(this.expenseDetails !=null)\n {\n this.getHouseholdExpense(this.expenseDetails);\n }else\n {\n this.addHouseExpenses();\n }\n this.getdropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n createHouseExpense()\n {\n return this.fb.group(\n {\n household_expense_id:[null],\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\n\t\t expense_item: [null,Validators.compose([Validators.required])],\n\t\t expense_value: [null,Validators.compose([Validators.required])],\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\n\t\t annual_expense_value: [null,Validators.compose([Validators.required])],\n\t\t isactive: [\"1\"],\n\t\t fk_createdby: [this.users]\n })\n }\n\n addHouseExpenses()\n {\n \n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\n\n control.push(this.createHouseExpense());\n }\n\n deleteHouseExpense(i)\n {\n this.houseannual.splice(i,1); \n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\n control.removeAt(i) \n }\n houseExpensecalculat(index,details)\n {\n \n let frequencyId = details.value.fk_frequency_id;\n let expenseValue = details.value.expense_value;\n // let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(details);\n let annual\n if(expenseValue!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (expenseValue*250);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (expenseValue);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (expenseValue*12);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n console.log(this.grandHouseExpenseTotal); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n saveHouseExpenseData(answerData)\n {\n if(this.houseHoldForm.valid)\n {\n let records = {'records':answerData.houseExpense};\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\n { \n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n }\n\n getHouseholdExpense(houseExpesneDetails)\n {\n if(houseExpesneDetails.length==0)\n {\n this.addHouseExpenses(); \n }else\n {\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \n houseExpesneDetails.forEach((val,index)=>\n {\n this.houseannual[index] = val.annual_expense_value;\n control.push(this.createHouseholdwithData(val));\n \n });\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createHouseholdwithData(data)\n {\n return this.fb.group(\n {\n household_expense_id:[data.household_expense_id],\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\n\t\t annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\n\t\t isactive: [\"1\"],\n\t\t fk_createdby: [this.users]\n })\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedBusinessIncomePage 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-business-income',\n templateUrl: 'pd-question-assessed-business-income.html',\n})\nexport class PdQuestionAssessedBusinessIncomePage {\n m_freqOfPurchase: any = [];\n expenseDetails: any;\n \n grandIncomeTotal: any=[];\n incomeannual: any=[];\n users: any;\n pdDetails: any;\n BuissnessForm:FormGroup;\n businessIncome:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.expenseDetails = this.navParams.get('income');\n console.log(this.expenseDetails);\n this.users = this.aws.getlocale();\n this.BuissnessForm = this.fb.group(\n {\n busIncome:this.fb.array([]),\n });\n\n if(this.expenseDetails!=null)\n {\n this.getBuisnessExpenses(this.expenseDetails);\n }else\n {\n this.addBusinessDetails();\n }\n this.getdropdown();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\n {\n if(res['dataStatus']==true){\n \n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\n } \n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\n }\n createBusinessDetails()\n {\n return this.fb.group(\n {\n pd_business_income_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n business_income_id:[null,Validators.compose([Validators.required])],\n income_value:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_income_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users],\n other_income_item:[null],\n other_frequncy_item:[null],\n })\n }\n\n addBusinessDetails()\n {\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\n control.push(this.createBusinessDetails());\n }\n\n deleteBuisnessDetails(i)\n {\n this.incomeannual.splice(i,1); \n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n \n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\n control.removeAt(i);\n }\n\n busIncomecalculate(index,details)\n {\n \n console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let incomeValue = details.value.income_value;\n // let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(frequencyId);\n let annual:any;\n if(incomeValue!=null && incomeValue !=null){\n let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \n if(frequencyId==1)\n {\n console.log(frequency_factor.mutiple_factor);\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==2)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==5)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==7)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==8)\n {\n annual = (incomeValue);\n this.incomeannual[index] = annual; \n details.controls['annual_income_value'].setValue(annual); \n\n }else\n {\n\n }\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n\n saveBusinessData(answerData)\n {\n // console.log(answerData);\n if(this.BuissnessForm.valid){\n let records = {'records':answerData.busIncome};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n \n }\n\n getBuisnessExpenses(expenseDetails)\n {\n if(expenseDetails.length==0)\n {\n this.addBusinessDetails();\n }else\n {\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \n expenseDetails.forEach((val,index)=>\n {\n this.incomeannual[index] = val.annual_income_value;\n control.push(this.createBusinessExpensewithData(val));\n })\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createBusinessExpensewithData(data)\n {\n return this.fb.group(\n {\n pd_business_income_id:[data.pd_business_income_id],\n fk_pd_id:[this.pdDetails.pd_id],\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\n income_value:[data.income_value,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users],\n other_income_item:[data.other_income_item],\n other_frequncy_item:[data.other_frequncy_item],\n })\n }\n}\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, ModalController, CardTitle } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\n// import { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\n\n/**\n * Generated class for the PdQuestionGeneralInfoPage 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-general-info',\n templateUrl: 'pd-question-general-info.html',\n})\nexport class PdQuestionGeneralInfoPage {\n // person_name:any;\n applicant_name: any;\n otherapp: any;\n fetch_related_details: any = [];\n checkApplicantExist: any;\n pd_applicants_details: any = [];\n companyRelationShipList: any;\n qualificationList:any;\n businessEntityTypeList:any;\n relationShipList: any;\n users: any;\n FormId: any;\n pdDetails: any;\n generalForm:FormGroup;\n fulldata:any\n public buttonClick:boolean;\n public h_companies:boolean\n datav:any;\n individualsListBothCase:any;\n companyList:any;\n i:number;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) {\n this.pd_applicants_details = []; \n this.pd_applicants_details.pop(); \n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n console.log(this.pdDetails);\n this.users = this.aws.getlocale();\n \n this.generalForm = this.fb.group({\n pdid:this.pdDetails.pd_id,\n formid:this.FormId.form_id,\n applicant_list: this.fb.array([]),\n applicant_relation: this.fb.array([]),\n list_value:this.fb.array([]),\n company_value:this.fb.array([]),\n individuals:this.fb.array([]),\n companies:this.fb.array([]),\n person_with_relationships:this.fb.array([]),\n company_with_relationships:this.fb.array([]),\n \n general_remark:''\n });\n //this.initIndividuals();\n this.pd_applicants_details = this.pdDetails.applicat_details;\n // console.log(this.pd_applicants_details);\n // console.log(this.pd_applicants_details);\n this.getGeneralForm();\n this.getdropdown();\n // this.getcoapplicantDetails();\n this.buttonClick=false;\n this.h_companies=false;\n // this.initCompanies()\n this.datav=[{\n name:\"fairoj\",\n id:1\n },\n {\n name:\"ff\",\n id:2\n }\n \n ]\n //this.fulldata=this.generalForm.value\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\n let control=this.generalForm.controls['list_value'];\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\n this.fulldata=control.value;\n //control.controls.length\n //control.push()\n console.log(\"individualsListBothCase\",this.individualsListBothCase);\n });\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\n let control=this.generalForm.controls['company_value'];\n this.companyList=control.value.filter(element=>element.company_name)\n })\n this.i=0;\n }\n initlistv(data) :void\n {\n console.log(\"gne data\",data)\n const control=this.generalForm.controls['list_value'];\n for(let val of data)\n {\n let formData:FormGroup=this.fb.group({\n applicant_name:[val.applicant_name],\n //pd_co_applicant_id:[control.controls.length],\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:[val.age],\n qualification:[val.qualification]\n });\n \n \n control.push(formData);\n \n this.buttonClick=false;\n // this.generalForm.value.individuals.value=\"\"\n \n }\n }\n initCompanyValue(data):void{\n const control=this.generalForm.controls['company_value'];\n for(let val of data)\n {\n let formData:FormGroup=this.fb.group({\n company_name:[val.company_name],\n // pd_co_applicant_id:[this.i+1],\n is_company_applicant:[val.is_company_applicant],\n business_entity_type:[val.business_entity_type],\n business_entity_type_other:[val.business_entity_type_other]\n });\n control.push(formData);\n this.h_companies=false;\n }\n }\n ionViewDidLoad() {\n this.pd_applicants_details.pop();\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\n }\n\n initIndividuals():void{\n let formData : FormGroup=this.fb.group({\n applicant_name:[''],\n is_person_met:false,\n is_applicant:false,\n age:[''],\n qualification:['']\n\n });\n \n const control=this.generalForm.controls['individuals'];\n control.controls=[]\n control.push(formData);\n \n \n }\n initCompanies():void{\n let formData:FormGroup=this.fb.group({\n company_name:[''],\n is_company_applicant:false,\n business_entity_type:[''],\n business_entity_type_other:['']\n });\n const control=this.generalForm.controls['companies'];\n control.controls=[]\n control.push(formData)\n }\n initPersonRelationship(value):void{\n if(value=='')\n {\n let formData:FormGroup=this.fb.group({\n applicant_name:[''],\n relationship:[''],\n relation_to:[''],\n \n });\n const control=this.generalForm.controls['person_with_relationships'];\n control.push(formData);\n }\n else{\n for(let val of value)\n {\n let formData:FormGroup=this.fb.group({\n applicant_name:[val.applicant_name],\n relationship:[val.relationship],\n relation_to:[val.relation_to],\n });\n const control=this.generalForm.controls['person_with_relationships'];\n control.push(formData);\n }\n }\n \n }\n initCompanyRelationShip(value):void{\n if(value=='')\n {\n let formData:FormGroup=this.fb.group({\n applicant_name:[''],\n company_relationship:[''],\n relation_to_company:[''],\n });\n const control=this.generalForm.controls['company_with_relationships'];\n control.push(formData);\n }\n else{\n for(let val of value){\n let formData:FormGroup=this.fb.group({\n applicant_name:[val.applicant_name],\n company_relationship:[val.company_relationship],\n relation_to_company:[val.relation_to_company],\n });\n const control=this.generalForm.controls['company_with_relationships'];\n control.push(formData);\n }\n }\n \n }\n\n \n \n add():void{\n \n this.initIndividuals();\n }\ndata:any;\ncart=[];\ndatajson:any;\ndataobj:any;\n\n addRec(v){\n console.log(\"v\",v);\n if(v=='1')\n {\n this.buttonClick=!this.buttonClick;\n this.initIndividuals();\n }\n if(v=='2')\n {\n this.h_companies=!this.h_companies;\n this.initCompanies();\n }\n }\n \n delete(v,i):void{\n // const control=this.generalForm.controls['individuals'];\n //control.removeAt(i);\n //this.data=this.generalForm.value.individuals;\n /* console.log(\"Data First\",this.data);\n this.cart.push(this.generalForm.value.individuals);\n this.data=Object.assign(this.cart);\n console.log(\"Cart\",this.cart);\n // this.data=Object.assign(this.generalForm.value.individuals)\n this.datajson=JSON.stringify(this.cart)\n console.log(\"dataobj\",this.dataobj)\n console.log(\"data\",this.data);\n console.log(\"datajson\",this.datajson)*/\n if(v=='1')\n {\n this.initlistv(this.generalForm.value.individuals)\n this.initPersonRelationship('');\n }\n if(v=='2')\n {\n this.initCompanyValue(this.generalForm.value.companies)\n }\n\n }\n removeList(i,index){\n if(index=='1')\n {\n //For List\n const control=this.generalForm.controls['list_value'];\n control.removeAt(i);\n //For Person RelationShip auto Delete\n const control1=this.generalForm.controls['person_with_relationships'];\n control1.removeAt(i);\n }\n if(index==2){\n const control=this.generalForm.controls['company_value'];\n control.removeAt(i);\n }\n if(index==\"companyrel\")\n {\n const control=this.generalForm.controls['company_with_relationships'];\n control.removeAt(i);\n }\n }\n \n \n getdropdown()\n {\n\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\n }\n });\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\n }\n });\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\n if(res['dataStatus']==true)\n {\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\n console.log(\"qualificationList\",this.qualificationList)\n }\n });\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\n })\n \n }\n\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\n {\n let applicantControl = this.generalForm.controls['applicant_list'];\n let relationControl = this.generalForm.controls['applicant_relation'];\n \n \n if(checkApplicantExist.length > 0)\n {\n checkApplicantExist.forEach(val => {\n applicantControl.push(this.createApplicant(val));\n });\n \n }\n if(exist_applicant_relation.length > 0){\n exist_applicant_relation.forEach(val => {\n console.log(val);\n relationControl.push(this.createApplicantRelation(val));\n //push related to details\n this.fetch_related_details.push(val.applicant_name);\n });\n }\n }\n\n createApplicant(elementValue:any){\n return this.fb.group({\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name],\n company_name: [elementValue.company_name],\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\n });\n }\n\n\n coapplicantChange(event,index,item)\n {\n \n let relationControl = this.generalForm.controls['applicant_relation'];\n let applicantControl = this.generalForm.controls['applicant_list'];\n \n if(item.exist_status.value)\n {\n if(item.pd_co_applicant_id.value==0){\n // let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\n // modal.onDidDismiss(data => {\n // if(data!=1){\n // data.otherName.forEach(val=>\n // {\n\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':''};\n // relationControl.push(this.createApplicantRelation(applicant_details));\n // // push related to details\n // this.fetch_related_details.push(val.applicant_name);\n // });\n // }else\n // {\n // applicantControl.at(index).get('exist_status').setValue(false);\n \n \n // }\n // });\n // modal.present();\n }else\n {\n \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':''};\n relationControl.push(this.createApplicantRelation(applicant_details));\n // push related to details\n this.fetch_related_details.push(item.applicant_name.value);\n }\n }\n else\n {\n let relationControl = this.generalForm.controls['applicant_relation'];\n let pos_id = relationControl.value.map(e=> \n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\n console.log(pos_id,item.pd_co_applicant_id.value);\n if(item.pd_co_applicant_id.value !=0){\n relationControl.removeAt(pos_id);\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\n this.fetch_related_details.splice(pos_name, 1); \n }else\n {\n applicantControl.at(index).get('exist_status').setValue(false);\n \n }\n // remove related to details\n \n }\n\n }\n\n createApplicantRelation(elementValue: any) {\n console.log('function in 156'); \n return this.fb.group({\n \n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name],\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\n company_relationship: [elementValue.company_relationship],\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\n relationship: [elementValue.relationship],\n });\n }\n // temparr=[];\n removereferance(index)\n {\n \n let relationControl = this.generalForm.controls['applicant_relation'];\n \n \n \n \n relationControl.removeAt(index);\n // this.temparr = [];\n \n }\n // createApplicateOthers()\n // {\n // return this.fb.group(\n // {\n // Name:\n // })\n // }\n \n submitData(answerData)\n {\n console.log(\"Answer\",answerData);\n let saveRecords:any={}\n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.fk_createdby=this.users;\n saveRecords.individuals=answerData.list_value;\n saveRecords.companies=answerData.company_value;\n saveRecords.person_with_relationships=answerData.person_with_relationships;\n saveRecords.company_with_relationships=answerData.company_with_relationships\n saveRecords.general_remark=answerData.general_remark;\n console.log(\"save Records\",saveRecords);\n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\n if(dataResult['dataStatus']==true){\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n else{\n this.toast.pdTriggerappmessage('Error');\n //console.log(\"Error\",)\n }\n })\n /* Old Data\n console.log(\"Answer Data\",answerData);\n if(this.generalForm.valid)\n {\n let saveRecords:any = {}\n let applicantList:any=[];\n let applicantRelationList:any=[];\n // this for applicant list for selected\n answerData.applicant_list.forEach((element,key) => {\n if(element.exist_status==1){\n applicantList.push({\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\n \"applicant_name\":element.applicant_name,\n }) \n }\n });\n // this is for selected applicant relation \n answerData.applicant_relation.forEach((element,key) => {\n applicantRelationList.push({\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\n \"applicant_name\":element.applicant_name,\n \"company_name\":element.company_name,\n \"company_relationship\":element.company_relationship,\n \"applicant_relation_to\":element.applicant_relation_to,\n \"relationship\":element.relationship,\n }) \n });\n \n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.general_remark=answerData.general_remark;\n saveRecords.selected_applicant=applicantList;\n saveRecords.applicant_relation=applicantRelationList;\n saveRecords.fk_createdby = this.users;\n console.log(saveRecords);\n this.qustCat.saveForm(saveRecords).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n } \n })\n }*/\n }\n\n getGeneralForm()\n {\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>{\n if(res['dataStatus']==true)\n {\n console.log(\"Getting DAta\",res);\n this.generalForm.controls['general_remark'].setValue(res['records'].general_remark);\n this.initlistv(res['records'].individuals)\n this.initCompanyValue(res['records'].companies);\n this.initPersonRelationship(res['records'].person_with_relationships);\n \n if(res['records'].company_with_relationships != ''){\n this.initCompanyRelationShip(res['records'].company_with_relationships);\n }\n \n }\n })\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n console.log('function in');\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\n \n let generalDetails = res['records'];\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\n\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\n {\n console.log(key);\n return res['records'].applicant_relation[key];\n });\n\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\n {\n return res['records'].selected_applicant[key].pd_co_applicant_id;\n });\n let applicantControl = this.generalForm.controls['applicant_list'];\n \n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\n let checkApplicantExist =actual_applicant.map((id, index) => {\n if (selected_applicant.indexOf(id) < 0) {\n this.pd_applicants_details[index].exist_status=0;\n return this.pd_applicants_details[index];\n }\n else{\n this.pd_applicants_details[index].exist_status=1;\n this.pd_applicants_details[index].applicant_relation_to='';\n this.pd_applicants_details[index].relation='';\n return this.pd_applicants_details[index];\n }\n }).filter(item => item != undefined);\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\n }else\n {\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\n \n }\n })*/\n }\n \n \n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { CameraProvider } from '../../providers/common-provider/camera';\n\n/**\n * Generated class for the PdGeneralImagesPage 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-general-images',\n templateUrl: 'pd-general-images.html',\n})\nexport class PdGeneralImagesPage {\n\n cameraArr:any = [];\n applicatentDetails: any;\n count:any = 0;\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider) {\n\n this.applicatentDetails = this.navParams.get('pdDetails');\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdGeneralImagesPage');\n }\n \n takePicture()\n {\n this.camera.getpicture().then(image=>\n {\n this.count = this.count+1;\n \n this.cameraArr.push({'image':image,'name':'images-'+this.count});\n });\n }\n\n removeimage(i)\n {\n this.count = this.count - 1; \n this.cameraArr.splice(i,1);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\n/*\n Generated class for the DatabaseProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class DatabaseProvider {\n database:SQLiteObject;\n constructor(public http: HttpClient,public sql:SQLite) {\n console.log('Hello DatabaseProvider Provider');\n this.createnewdb();\n }\n\n createnewdb()\n {\n // alert('function in');\n this.sql.create(\n {\n name:'sinnedge',\n location:'defalut',\n }).then((db:SQLiteObject)=>\n {\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \n {\n // alert('db create');\n this.getuserDetails();\n })\n .catch(e => console.log(e));\n })\n }\n getuserDetails()\n {\n // alert('getusers');\n this.sql.create(\n {\n name:'sineedge',\n location:'default',\n }).then((db:SQLiteObject)=>\n {\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\n {\n console.log(res);\n })\n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../providers/constants/constants';\n/**\n * Generated class for the PasswordPage 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-password',\n templateUrl: 'password.html',\n})\nexport class PasswordPage {\n commonImage: string;\n newpassword: any;\n confirmPassword: any;\n pin:any;\n Username:any;\n Password:any;\n \n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\n this.commonImage = this.commonconstant.commonimage;\n this.Username = this.navParams.get('Username');\n this.Password = this.navParams.get('Password');\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PasswordPage');\n }\n setNewPassword(newpass)\n {\n if(newpass !='' && newpass !=null && newpass !== undefined){\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\n console.log(auth);\n this.aws.dologin(auth).subscribe(res => {\n console.log(res);\n this.navCtrl.setRoot(PdListPage);\n // this.router.navigate(['/home']);\n }, err => {\n this.toast.pdTriggerappmessage(err.message);\n // alert(err.message);\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter the new Password');\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\n\nimport { PdListPage } from '../pd-list/pd-list';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\n\nimport { LoadingProvider } from '../../providers/common-provider/loading';\nimport { ConstantsProvider } from '../../providers/constants/constants';\n/**\n * Generated class for the AuthPage 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-auth',\n templateUrl: 'auth.html',\n})\nexport class AuthPage {\n pinAccess: any;\n newpindetails: any;\n userDetails: any;\npin:any;\n mpinaccess:boolean =false;\n newpassword:any;\n ConfirmPassword:any;\n commonImage:any;\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) {\n this.commonImage = this.commonconstant.commonimage;\n this.shared.refresh();\n this.getuserDetails();\n \n\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad AuthPage');\n }\n ionViewDidEnter(){\n this.Menu.enable(false);\n }\n ionViewWillLeave(){\n this.Menu.enable(true);\n }\n getuserDetails()\n {\n this.loadingCtrl.pdloader('loading...');\n let userid = this.aws.getlocale();\n this.aws.getuserprofile(userid).subscribe(res=>{\n this.userDetails = res;\n if(this.userDetails.dataStatus == true)\n { \n this.loadingCtrl.loading.dismiss();\n this.userDetails = this.userDetails.records;\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\n if(this.userDetails[0].mpin ==null)\n {\n \n this.mpinaccess = true;\n \n }else\n {\n this.mpinaccess = false;\n }\n }else{\n \n this.toast.pdTriggerappmessage('This App only for PD Officers');\n localStorage.clear();\n }\n }else{\n this.toast.pdTriggerappmessage('')\n }\n //console.log(this.mpinaccess);\n });\n }\n setnewpin(newpin)\n {\n this.aws.userpinupdate(newpin).subscribe(res=>\n {\n this.newpindetails = res;\n if(this.newpindetails.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n /**Finger print */\n \n checkpin(pin) {\n console.log(pin);\n if(pin !='' && pin !=null)\n {\n if(this.userDetails[0].mpin == pin)\n {\n this.navCtrl.setRoot(PdListPage);\n }else\n {\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\n }\n }else\n {\n this.toast.pdTriggerappmessage('Enter The PIN');\n }\n\n \n \n }\n checkfingerprint()\n {\n this.faio.show({\n clientId: 'Fingerprint-Demo',\n clientSecret: 'password', // Only Android\n localizedFallbackTitle: 'Use Pin', // Only iOS\n localizedReason: 'Please authenticate',\n disableBackup:true,\n })\n .then((result: any) => {\n this.navCtrl.setRoot(PdListPage);\n })\n .catch((error: any) => {\n this.toast.pdTriggerappmessage('err: '+ error);\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LoadingController } from 'ionic-angular';\n/*\n Generated class for the LoadingProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class LoadingProvider {\n\n loading: any;\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\n console.log('Hello LoadingProvider Provider');\n }\n\n pdloader(content)\n {\n this.loading = this.loadingCtrl.create({\n content: content\n });\n\n this.loading.present();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app.module';\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { ErrorHandler, NgModule } from '@angular/core';\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\n\nimport { MyApp } from './app.component';\n\n\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule\n} from '@angular/material';\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthGuard } from '../providers/_guard/auth.guard';\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\nimport { ConstantsProvider } from '../providers/constants/constants';\nimport { AuthPage } from '../pages/auth/auth';\nimport { LoginPage } from '../pages/login/login';\nimport { PdListPage } from '../pages/pd-list/pd-list';\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\nimport { PasswordPage } from '../pages/password/password';\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\nimport { InputPage } from '../pages/input/input';\nimport { ToastProvider } from '../providers/common-provider/toast';\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\n\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\nimport { OtpPage } from '../pages/otp/otp';\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\n\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\nimport { CameraProvider } from '../providers/common-provider/camera';\nimport { LoadingProvider } from '../providers/common-provider/loading';\nimport { Camera } from '@ionic-native/camera';\n\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-financial-info/pd-question-financial-info';\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-supplier-info/pd-question-supplier-info';\nimport { Geolocation } from '@ionic-native/geolocation';\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\nimport { DatabaseProvider } from '../providers/database/database';\nimport { SQLite } from '@ionic-native/sqlite';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\n\n\n\n@NgModule({\n declarations: [\n MyApp,\n AuthPage,\n LoginPage,\n PdListPage,\n PdQuestionCategoryPage,\n PdQuestionPage,\n GoogleplaytabPage,\n PasswordPage,\n PdAllocationPage,\n InputPage,\n OtpPage,\n PdQuestionAddressPage,\n PdQuestionAssestsPage,\n PdQuestionBankingPage,\n PdQuestionCurrentLoansPage,\n PdQuestionEmpInfoPage,\n PdQuestionFamilyPage,\n PdQuestionSalaryInfoPage,\n PdQuestionLoansPage,\n PdQuestionFinancialInfoPage,\n PdQuestionOtherIncomePage,\n PdQuestionSupplierInfoPage,\n PdQuestionPersonalInfoPage,\n PdQuestionAssessedInfoPage,\n PdQuestionAssessedDailySalesPage,\n PdQuestionAssessedSalesPage,\n PdQuestionAssessedHouseholdPage,\n PdQuestionAssessedPurchasePage,\n PdQuestionAssessedDashPage,\n PdQuestionAssessedBusinessPage,\n PdQuestionAssessedBusinessIncomePage,\n PdQuestionGeneralInfoPage,\n BouncedRejectPage,\n PdGeneralImagesPage,\n\n \n ],\n imports: [\n BrowserModule,ReactiveFormsModule,FormsModule,\n IonicModule.forRoot(MyApp),\n BrowserAnimationsModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,MatListModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule,HttpClientModule,IonicImageViewerModule\n ],\n bootstrap: [IonicApp],\n entryComponents: [\n MyApp,\n AuthPage,\n LoginPage,\n PdListPage,\n PdQuestionCategoryPage,\n PdQuestionPage,\n GoogleplaytabPage,\n PasswordPage,\n PdAllocationPage,\n InputPage,\n OtpPage,\n PdQuestionAddressPage,\n PdQuestionAssestsPage,\n PdQuestionBankingPage,\n PdQuestionCurrentLoansPage,\n PdQuestionEmpInfoPage,\n PdQuestionFamilyPage,\n PdQuestionSalaryInfoPage,\n PdQuestionLoansPage,\n PdQuestionFinancialInfoPage,\n PdQuestionOtherIncomePage,\n PdQuestionSupplierInfoPage,\n PdQuestionPersonalInfoPage,\n PdQuestionAssessedInfoPage,\n PdQuestionAssessedDailySalesPage,\n PdQuestionAssessedSalesPage,\n PdQuestionAssessedHouseholdPage,\n PdQuestionAssessedPurchasePage,\n PdQuestionAssessedDashPage,\n PdQuestionAssessedBusinessPage,\n PdQuestionAssessedBusinessIncomePage,\n PdQuestionGeneralInfoPage,\n BouncedRejectPage,\n PdGeneralImagesPage,\n \n ],\n providers: [\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\n {\n provide:HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true\n },\n {\n provide: ErrorHandler,\n useClass: IonicErrorHandler\n },LaunchNavigator,\n AwsServiceProvider,\n QuestionCategoryProvider,\n CameraProvider,Camera,\n LoadingProvider,Geolocation,LocationAccuracy,\n DatabaseProvider\n ]\n})\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\nimport { Nav, Platform } from 'ionic-angular';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport { LoginPage } from '../pages/login/login';\nimport { PdListPage } from '../pages/pd-list/pd-list';\nimport { MethodCall } from '@angular/compiler';\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\nimport { PasswordPage } from '../pages/password/password';\nimport { AuthPage } from '../pages/auth/auth';\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\n\n\n@Component({\n templateUrl: 'app.html'\n})\nexport class MyApp {\n userDetails: any;\n userAccess:boolean = false;\n @ViewChild(Nav) nav: Nav;\n\n rootPage: any = LoginPage;\n\n pages: Array<{title: string,icon:any, method: any}>;\n\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider) {\n this.initializeApp();\n\n // used for an example of ngFor and navigation\n this.pages = [ \n // { title: 'Home', component: HomePage, icon: 'home' },\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\n ];\n\n }\n\n initializeApp() {\n this.platform.ready().then(() => {\n // Okay, so the platform is ready and our plugins are available.\n // Here you can do any higher level native things you might need.\n this.statusBar.styleDefault();\n if (this.platform.is('android')) {\n this.statusBar.overlaysWebView(false);\n this.statusBar.backgroundColorByHexString('#db4437');\n \n }\n this.splashScreen.hide();\n\n this.shared.getAccessToken().then(()=>{\n this.getuserDetails();\n this.rootPage = AuthPage\n }).catch(()=>{\n setTimeout(() => {\n this.rootPage = LoginPage;\n }, 1000);\n });\n })\n }\n\n \n getuserDetails()\n {\n \n let userid = this.aws.getlocale();\n this.aws.getuserprofile(userid).subscribe(res=>{\n this.userDetails = res;\n if(this.userDetails.dataStatus == true)\n { \n this.userAccess = true;\n this.userDetails = this.userDetails.records[0];\n \n }\n \n });\n }\n menulist(id){\n //alert();\n switch(id)\n {\n case 1:\n this.nav.setRoot(PdListPage);\n break;\n case 2:\n this.AWS.logout().subscribe(()=>{\n \n this.nav.setRoot(LoginPage);\n });\n break;\n case 3:\n break;\n case 4:\n break;\n}\n}\n logout()\n {\n // this.aws.logout();\n this.nav.setRoot(LoginPage);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n/*\n Generated class for the ConstantsProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class ConstantsProvider {\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\n constructor(public http: HttpClient) {\n console.log('Hello ConstantsProvider Provider');\n }\n\n apiurl()\n {\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\n return devapiurl;\n }\n\n getcurrentDate()\n {\n var today = new Date();\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\n var time = today.getHours() + \":\" + today.getMinutes();\n let CurrentDate = date+\"T00:00\";\n return CurrentDate.toString();\n }\n \n convertNumberToWords(amount) {\n var words = new Array();\n words[0] = '';\n words[1] = 'One';\n words[2] = 'Two';\n words[3] = 'Three';\n words[4] = 'Four';\n words[5] = 'Five';\n words[6] = 'Six';\n words[7] = 'Seven';\n words[8] = 'Eight';\n words[9] = 'Nine';\n words[10] = 'Ten';\n words[11] = 'Eleven';\n words[12] = 'Twelve';\n words[13] = 'Thirteen';\n words[14] = 'Fourteen';\n words[15] = 'Fifteen';\n words[16] = 'Sixteen';\n words[17] = 'Seventeen';\n words[18] = 'Eighteen';\n words[19] = 'Nineteen';\n words[20] = 'Twenty';\n words[30] = 'Thirty';\n words[40] = 'Forty';\n words[50] = 'Fifty';\n words[60] = 'Sixty';\n words[70] = 'Seventy';\n words[80] = 'Eighty';\n words[90] = 'Ninety';\n amount = amount.toString();\n var atemp = amount.split(\".\");\n var number = atemp[0].split(\",\").join(\"\");\n var n_length = number.length;\n let value:any = \"\";\n var words_string = \"\";\n if (n_length <= 9) {\n var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\n var received_n_array = new Array();\n for (var i = 0; i < n_length; i++) {\n received_n_array[i] = number.substr(i, 1);\n }\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\n n_array[i] = received_n_array[j];\n }\n for (var i = 0, j = 1; i < 9; i++, j++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n if (n_array[i] == 1) {\n n_array[j] = 10 + parseInt(n_array[j]);\n n_array[i] = 0;\n }\n }\n }\n value = \"\";\n for (var i = 0; i < 9; i++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n value = n_array[i] * 10;\n } else {\n value = n_array[i];\n }\n if (value != 0) {\n words_string += words[value] + \" \";\n }\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Crores \";\n }\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Lakhs \";\n }\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Thousand \";\n }\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\n words_string += \"Hundred and \";\n } else if (i == 6 && value != 0) {\n words_string += \"Hundred \";\n }\n }\n words_string = words_string.split(\" \").join(\" \");\n }\n return words_string;\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/constants/constants.ts","import { Injectable } from '@angular/core';\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n\n\n\n@Injectable()\nexport class AuthGuard {\n \n constructor() { \n\n \n }\n\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n // // if (this.shared.getToken()) {\n // alert(\"if\");\n // // this.router.navigate(['']);\n // return true\n // } else {\n // alert(\"else\");\n // this.router.navigate(['/login']);\n // return false;\n // }\n // }\n getlogin(){\n // if (this.shared.getToken()) {\n // // alert(\"if\");\n // //alert();\n // return true;\n // } else {\n // // alert(\"else\");\n \n // //this.myGlobalServiceNav.setRoot(LoginPage);\n // this.shared.isloggin = false;\n // return false;\n \n \n // }\n }\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n \n \n // }\n\n // public getToken(): string {\n // return localStorage.getItem('token');\n // }\n\n // public logOut() {\n // localStorage.clear();\n // if(localStorage.getItem('token') === null){\n // this.router.navigate(['/login']);\n // }\n // }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpHeaders\n} from '@angular/common/http';\n// import { AuthGuard } from './auth.guard';\nimport { Observable, of} from 'rxjs';\n\n// import { Router } from '@angular/router';\n\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { HttpErrorResponse } from \"@angular/common/http\";\n\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor{\n constructor(public shared:CognitoServiceProvider ) {\n \n }\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // request = request.clone({\n // setHeaders: {\n // Authorization: `${this.auth.getToken()}`\n // }\n // });\n let token:any;\n this.shared.refresh();\n token = this.shared.getToken() || null;\n \n token = token.getIdToken().getJwtToken();\n \n //console.log(token);\n let requests = request.clone({\n headers:new HttpHeaders({\n \n 'Authorization': 'sparqvenba2018',\n 'Token':token,\n 'From':'1',\n \n \n }) \n \n });\n \n return next.handle(requests).pipe(\n catchError(this.handleError('role', []))\n )\n }\n\n private handleError (operation = 'operation', result?: T) {\n return (error: any): Observable => {\n if(error instanceof HttpErrorResponse){\n console.error(\"Error: \" + error.status);\n if(error.status == 401){\n localStorage.clear();\n // this.router.navigate(['/authentication/login']);\n }\n return of(result as T);\n }\n };\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\n\n/**\n * Generated class for the GoogleplaytabPage 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-googleplaytab',\n templateUrl: 'googleplaytab.html',\n})\nexport class GoogleplaytabPage {\n\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\n\n SwipedTabsIndicator :any= null;\n tabTitleWidthArray :any= [];\n tabElementWidth_px :number= 50;\n screenWidth_px :number= 0;\n isRight :boolean= true;\n isLeft:boolean= true;\n tabs:any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\n console.log('Width: ' + platform.width());\n this.screenWidth_px=platform.width();\n \n}\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad GoogleplaytabPage');\n }\n ionViewDidEnter() {\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\n for (let i in this.tabs)\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\n\n this.selectTab(0);\n }\n\n scrollIndicatiorTab()\n {\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\n }\n\n selectTab(index)\n {\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n this.SwipedTabsSlider.slideTo(index);\n }\n\n calculateDistanceToSpnd(index)\n {\n var result=0;\n for (var _i = 0; _i < index; _i++) {\n result=result+this.tabTitleWidthArray[_i];\n }\n return result;\n }\n\n updateIndicatorPosition() {\n var index=this.SwipedTabsSlider.getActiveIndex();\n if( this.SwipedTabsSlider.length()==index)\n index=index-1;\n\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n\n }\n\n updateIndicatorPositionOnTouchEnd()\n {\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\n }\n\n animateIndicator($event)\n {\n\n this.isLeft=false;\n this.isRight=false;\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\n if($event.progress < currentSliderCenterProgress)\n {\n this.isLeft=true;\n this.isRight=false;\n\n } if($event.progress > currentSliderCenterProgress)\n {\n this.isLeft=false;\n this.isRight=true;\n }\n\n if(this.SwipedTabsSlider.isEnd())\n this.isRight=false;\n\n if( this.SwipedTabsSlider.isBeginning())\n this.isLeft=false;\n\n if(this.isRight)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\n +'px,0,0)';\n\n if(this.isLeft)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\n +'px,0,0)';\n\n if(!this.isRight && !this.isLeft)\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\n\n }\n\n\n\n}\n\n \n\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n/**\n * Generated class for the PdAllocationPage 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-allocation',\n templateUrl: 'pd-allocation.html',\n})\nexport class PdAllocationPage {\npdFullDetails:any = [];\n constructor(public navCtrl: NavController, public navParams: NavParams) {\n \n this.pdFullDetails = this.navParams.get('pdDetails');\n console.log(this.pdFullDetails);\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdAllocationPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionSalaryInfoPage 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-salary-info',\n templateUrl: 'pd-question-salary-info.html',\n})\nexport class PdQuestionSalaryInfoPage {\n\n salaryDetails:FormGroup\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\n \n this.salaryDetails = this.fb.group(\n {\n gross:[null],\n netTakeHome:[null],\n bounsIncentive:[null],\n salaryDate:[null],\n anydelays:[null], \n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { PdListPage } from '../../pd-list/pd-list';\n\n/**\n * Generated class for the BouncedRejectPage 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-bounced-reject',\n templateUrl: 'bounced-reject.html',\n})\nexport class BouncedRejectPage {\n\n users: any;\n bounseMaster: any;\n pdDetails: any;\n status: any;\n bounce_reason:any;\n bounce_reason_others:any = null;\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('appdetails');\n this.status = this.navParams.get('status');\n this.users = this.aws.getlocale();\n this.getDropdown();\n \n }\n\n getDropdown()\n {\n \n \n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\n console.log(this.bounseMaster);\n }\n })\n \n }\n updatePDStatus()\n {\n if(this.bounce_reason !=null)\n {\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\n this.pdservice.updatepdStatus(data).subscribe(res=>\n {\n // this.updateStatus = res;\n if(res['dataStatus'] == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { Injectable } from '@angular/core';\n\n// import { CanActivateChild, Router } from '@angular/router';\nimport {\n AuthenticationDetails,\n CognitoUserPool,\n CognitoUser,\n \n} from \"amazon-cognito-identity-js\";\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\n\n// import { environment } from '../../environments/environment';\n\nimport { BehaviorSubject,Observable,of } from 'rxjs';\n\nconst sineedge_poolData = { \n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\n};\nconst sineedgedev_poolData = {\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\n}\nconst lender_poolData = {\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\n};\nconst vendor_poolData = {\n UserPoolId: \"\",\n ClientId: \"\"\n}\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\n\n/**\n* Identity PoolID \n*/\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\nconst vendorIdenttiy = \"\";\n// serviceProvider\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\n// const apiurl = \"http://localhost/sparqapi/api/\";\n\n@Injectable()\n\nexport class CognitoServiceProvider {\n public loggedIn :boolean = false;\n // public static _REGION = environment.region;\n\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\n // public static _USER_POOL_ID = environment.UserPoolId;\n // public static _CLIENT_ID = environment.ClientId;\n\n // public static _POOL_DATA: any = {\n // UserPoolId: CognitoService._USER_POOL_ID,\n // ClientId: CognitoService._CLIENT_ID\n // };\n \n\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\nisloggin:boolean = false; \n\n\n \n\n \n constructor() { \n \n }\n getCurrentUser() {\n \n return sineedgedevUserpool.getCurrentUser();\n}\n get isLoggedIn() {\n if(sineedgedevUserpool.getCurrentUser() !=null){\n this.loggedIn = true;\n }else{\n this.loggedIn = false;\n }\n return this.loggedIn; // {2}\n }\n \nrefresh() {\n let tokenexp:boolean;\n \n if(this.getCurrentUser() !=null){\n \n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n }\n\n else {\n if (session.isValid()) {\n tokenexp = session.isValid();\n of(tokenexp)\n console.log(\"CognitoUtil: refreshed successfully\");\n \n } else {\n tokenexp = session.isValid();\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\n \n }\n }\n \n return tokenexp;\n \n });\n }else{\n this.loggedIn = false;\n }\n}\ngetAccessToken(){\n this.refresh();\n return new Promise((resolve, reject) => {\n let jwttoken = '';\n if (this.getCurrentUser() != null) {\n //console.log(JSON.stringify(this.getCurrentUser()));\n // console.log('76 if');\n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n jwttoken ='';\n // console.log('81 if')\n reject(err);\n }\n else {\n if (session.isValid()) {\n // console.log('85 else if');\n jwttoken = session;\n resolve();\n } else {\n \n }\n }\n });\n }\n else {\n //console.log(\"else\");\n reject();\n }\n});\n}\n\ngetToken():any {\n let isloggin = false;\n let jwttoken = '';\n if (this.getCurrentUser() != null) {\n \n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n isloggin = false;\n //console.log('81 if')\n }\n else {\n //alert('function else');\n if (session.isValid()) {\n // console.log('85 else if');\n jwttoken = session;\n isloggin = true;\n } else {\n \n isloggin = false;\n }\n }\n });\n }\n else {\n // console.log(\"else\");\n isloggin = false;\n }\n return jwttoken;\n}\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { InputPage } from '../input/input';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { parseDate } from 'ionic-angular/util/datetime-util';\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\nimport { OtpPage } from '../otp/otp';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\nimport { DatabaseProvider } from '../../providers/database/database';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\n/**\n * Generated class for the PdListPage 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-list',\n templateUrl: 'pd-list.html',\n})\nexport class PdListPage {\n\n searchinprogress: any;\n searchpast: any;\n pdschduleDetails: any;\n bgColorPast: any = [];\n bgColor: any = [];\n pdinprogress: any=[];\n pdlistdetails: any=[];\n viewchange: boolean;\n pdlist:any = \"inpro\";\n pdlistaccess:boolean = null;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\n //this.getlenderpddetails(); \n // this.getpdTriggerdetails();\n }\n\n ionViewDidLoad() {\n \n console.log('ionViewDidLoad PdListPage');\n this.db.getuserDetails();\n this.setpermission();\n }\n ionViewCanEnter()\n {\n this.getpdTriggerdetails();\n }\n filter(view){\n if(!view){\n this.viewchange = true;\n }else{\n this.viewchange = false;\n this.pdinprogress = this.pdinprogress;\n this.pdschduleDetails = this.pdschduleDetails;\n }\n \n //alert(this.viewchange);\n }\n pdlistsearch(searchbar) {\n console.log(searchbar);\n this.pdinprogress = this.searchinprogress;\n this.pdschduleDetails = this.searchpast;\n // reset countries list with initial call\n //this.pdinprogress = this.countriesInitial;\n // set q to the value of the searchbar\n var q = searchbar.target.value;\n\n // if the value is an empty string don't filter the items\n \n if(this.pdlist == \"inpro\"){\n if (q.trim() == '') {\n return ;\n }else{\n this.pdinprogress = this.searchinprogress.filter((v) => {\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) {\n return true;\n }\n return false;\n })\n }\n }else\n {\n if (q.trim() == '') {\n console.log(q.trim());\n console.log(this.pdlistdetails);\n return ;\n }else{\n this.pdschduleDetails = this.searchpast.filter((v) => {\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\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) {\n \n return true;\n }\n \n return false;\n })\n }\n \n}\n}\n newpage(){\n this.navCtrl.push(InputPage);\n }\n getpdTriggerdetails()\n {\n let userid = this.aws.getlocale();\n\n this.pdofficer.getpddetails(userid).subscribe(res=>\n {\n this.pdlistdetails = res;\n if(this.pdlistdetails.dataStatus == true)\n {\n console.log(this.pdlistdetails);\n this.pdlistaccess = true;\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\");\n this.searchpast = this.pdschduleDetails;\n // console.log(65,this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"STARTED\" || sch.pd_status == \"INPROGRESS\" || sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" && sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\"));\n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\n this.searchinprogress = this.pdinprogress;\n console.log(this.pdinprogress);\n this.random_bg_color();\n this.random_ng_past();\n }else\n {\n this.pdlistaccess = false;\n this.pdlistdetails = \"No Records Found\";\n }\n })\n }\n\n random_bg_color() {\n for(let id of this.pdinprogress){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n \n return this.bgColor;\n }\n random_ng_past()\n {\n for(let id of this.pdschduleDetails){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n }\n doRefresh(refresher) {\n this.bgColor = [];\n this.pdschduleDetails = [];\n this.pdinprogress = [];\n console.log('Begin async operation', refresher);\n this.shared.refresh();\n this.getpdTriggerdetails();\n setTimeout(() => {\n console.log('Async operation has ended');\n refresher.complete();\n }, 2000);\n }\n \n PdAllocation(pddetails)\n {\n \n if(pddetails.pd_status == 'STARTED')\n {\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\n }else if(pddetails.pd_status == 'INPROGRESS'){\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':pddetails});\n }else{\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\n }\n }\n\n setpermission()\n {\n // let permission = this.androidPermissions.PERMISSION; \n // let premission_list = [\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\n // permission.CAMERA,\n\n\n // ];\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {ConstantsProvider} from '../constants/constants';\n\n/*\n Generated class for the PdtriggerProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\n@Injectable()\nexport class PdtriggerProvider {\n apiurl:any;\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\n this.apiurl = constants.apiurl();\n console.log('Hello PdtriggerProvider Provider');\n }\n\n \n\n /**get dropdonw list */\n\n /**Get list of PD Trigger */\n\n getpddetails(userid)\n { \n //console.log(userid);\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\n }\n\n getFullPDdetails(pdid)\n {\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\n }\n\n updatepdStatus(dataStatus)\n {\n let records = {'records':dataStatus};\n return this.http.post(this.apiurl+'updatePDMaster',records);\n }\n\n saveCurrentLocation(data)\n {\n let records = {'records':data};\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\n }\n\n checkotp(otpDetails)\n {\n let records = {'records':otpDetails};\n return this.http.post(this.apiurl+'checkOTP',records); \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.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/pages/otp/otp.ts","../../src/providers/common-provider/camera.ts","../../src/pages/pd-question/pd-question-supplier-info/pd-question-supplier-info.ts","../../src/pages/pd-question/pd-question-client-info/pd-question-client-info.ts","../../node_modules/@angular/core/esm5 lazy","../../src lazy","../../src/providers/constants/constants.ts","../../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-stock-info/pd-question-stock-info.ts","../../src/pages/pd-question/pd-question-financial-info/pd-question-financial-info.ts","../../src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","../../src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.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-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/password/password.ts","../../src/pages/auth/auth.ts","../../src/providers/common-provider/loading.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/app/app.component.ts","../../src/providers/database/database.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/input/bounced-reject/bounced-reject.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/providers/aws-service/aws-service.ts","../../src/pages/pd-list/pd-list.ts","../../src/providers/pdtrigger/pdtrigger.ts","../../src/providers/common-provider/toast.ts"],"names":["QuestionCategoryProvider","http","constant","this","console","log","apiurl","prototype","getLoadTemplate","pdid","get","saveQusetion","saveData","post","records","getAnswerTemplate","qustDetails","getcommondrop","tableName","master_name","saveForm","retiverForm","saveassessedForms","api","retiverassessedForm","updatePdApplicant","editData","pd_applicant_details","getEndUseForLoan","pd_id","getCompaniesListsForBusiness","getStateWiseCities","stateid","state_id","getAllPersonsName","getStateCityDetails","getAssetsWithLoanFromBusiness","getTypeofActivityForSuppliedInfoForm","savePDImages","imagesDetails","__decorate","Object","__WEBPACK_IMPORTED_MODULE_1__angular_core__","__WEBPACK_IMPORTED_MODULE_0__angular_common_http__","__WEBPACK_IMPORTED_MODULE_2__constants_constants__","currentdate","Date","toJSON","slice","replace","PdQuestionCategoryPage","navCtrl","navParams","templateget","aws","shared","toast","pdstatusprovide","bgColortempForm","bgColorqustCat","questionCateAccess","questionfinishedList","overallqustioncountAccess","pddetails","ionViewCanEnter","getcategoryList","ionViewDidLoad","refresh","_this","subscribe","res","questionCate","dataStatus","random_ng_past","question_answers","template_forms","templateAccess","searchQuestion","counts","overall_answered_count","overall_question_count","searchTempForm","_i","_a","length","a","Math","floor","random","b","c","push","_b","_c","x","y","z","questionsTag","categroyId","pdinfo","filter","cate","fk_question_category_id","__WEBPACK_IMPORTED_MODULE_4__pd_question_pd_question__","questionDetails","pdDetails","tempQustionTag","formName","temp","form_id","__WEBPACK_IMPORTED_MODULE_9__pd_question_pd_question_address_pd_question_address__","FormId","__WEBPACK_IMPORTED_MODULE_10__pd_question_pd_question_emp_info_pd_question_emp_info__","__WEBPACK_IMPORTED_MODULE_12__pd_question_pd_question_loans_pd_question_loans__","__WEBPACK_IMPORTED_MODULE_11__pd_question_pd_question_current_loans_pd_question_current_loans__","__WEBPACK_IMPORTED_MODULE_28__pd_question_pd_question_business_group_pd_question_business_group__","__WEBPACK_IMPORTED_MODULE_13__pd_question_pd_question_banking_pd_question_banking__","__WEBPACK_IMPORTED_MODULE_14__pd_question_pd_question_family_pd_question_family__","__WEBPACK_IMPORTED_MODULE_15__pd_question_pd_question_assests_pd_question_assests__","__WEBPACK_IMPORTED_MODULE_16__pd_question_pd_question_other_income_pd_question_other_income__","__WEBPACK_IMPORTED_MODULE_17__pd_question_pd_question_supplier_info_pd_question_supplier_info__","__WEBPACK_IMPORTED_MODULE_18__pd_question_pd_question_personal_info_pd_question_personal_info__","__WEBPACK_IMPORTED_MODULE_19__pd_question_pd_question_stock_info_pd_question_stock_info__","__WEBPACK_IMPORTED_MODULE_20__pd_question_pd_question_financial_info_pd_question_financial_info__","__WEBPACK_IMPORTED_MODULE_21__pd_question_pd_question_client_info_pd_question_client_info__","__WEBPACK_IMPORTED_MODULE_22__pd_question_pd_question_rental_info_pd_question_rental_info__","__WEBPACK_IMPORTED_MODULE_23__pd_question_pd_question_assessed_dash_pd_question_assessed_dash__","__WEBPACK_IMPORTED_MODULE_24__pd_question_pd_question_lender_representative_pd_question_lender_representative__","__WEBPACK_IMPORTED_MODULE_25__pd_question_pd_question_general_info_pd_question_general_info__","__WEBPACK_IMPORTED_MODULE_26__pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__","__WEBPACK_IMPORTED_MODULE_27__pd_question_pd_question_final_remark_pd_question_final_remark__","view","viewchange","pdlistsearch","searchbar","q","target","value","undefined","trim","completed","users","getlocale","updatepdStatus","pdmaster_details","pd_status","fk_updatedby","updatedon","completedAccess","setRoot","__WEBPACK_IMPORTED_MODULE_8__pd_list_pd_list__","doRefresh","refresher","setTimeout","complete","__WEBPACK_IMPORTED_MODULE_0__angular_core__","selector","template","__WEBPACK_IMPORTED_MODULE_1_ionic_angular__","__WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__","__WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__","__WEBPACK_IMPORTED_MODULE_3__providers_aws_service_cognito_service__","__WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__","__WEBPACK_IMPORTED_MODULE_7__providers_pdtrigger_pdtrigger__","OtpPage","Menu","commonconstant","alertCtrl","qustCat","fb","timerOn","otpStatusAccess","maxtime","commonImage","commonimage","applicatentDetails","reasonForm","group","reason","__WEBPACK_IMPORTED_MODULE_8__angular_forms__","compose","required","others_reason","getDropdown","ionViewDidEnter","timer","ionViewWillLeave","clearTimeout","timeLimit","reason_otp","otp","isactive","checkotp","OTP","otpStatus","__WEBPACK_IMPORTED_MODULE_3__pd_question_category_pd_question_category__","pdTriggerappmessage","remaining","m","s","balance_time","data","create","title","message","buttons","text","handler","mobile_no","applicat_details","present","saveotpreasno","valid","other_reason","__WEBPACK_IMPORTED_MODULE_2__providers_pdtrigger_pdtrigger__","__WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__","__WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__","__WEBPACK_IMPORTED_MODULE_7__providers_question_category_question_category__","CameraProvider","camera","getpicture","getPicture","quality","destinationType","DestinationType","DATA_URL","targetWidth","targetHeight","correctOrientation","then","imageData","error","JSON","stringify","__WEBPACK_IMPORTED_MODULE_2__ionic_native_camera__","PdQuestionSupplierInfoPage","supplierInfoForm","main_raw_materials","supplier_details","array","getSupplierForm","getdropList","m_paymentModeType","id","name","m_freqOfPurchase","selectedPM","e","paymentModeTextBox","selectedFreqPurchase","freqPurchaseTextBox","initDetails","supplier_name","contact_person","mobile_number","payment_mode","per_of_immediate_advance_payment","credit_period","frequency_of_purchase","freq_purchase_others_text_value","addSupplierDetails","supplierArray","removeLanguage","i","removeAt","saveSupplierInfo","answerData","formid","fk_createdby","pop","pd_form_id","supplierDetails","keys","map","key","controls","setValue","forEach","datas","__WEBPACK_IMPORTED_MODULE_2__angular_forms__","__WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__","__WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__","PdQuestionClientInfoPage","apiLoadFinish","clientForms","clientArray","getClientDetails","getdropdown","createClientItem","client_name","addClientDetails","clientDataArray","removeClientDetails","reset","saveclientDetails","client_details","clientData","clientDetails_1","__WEBPACK_IMPORTED_MODULE_5__angular_forms__","webpackEmptyAsyncContext","req","Promise","resolve","Error","module","exports","ConstantsProvider","getcurrentDate","today","date","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","toString","convertNumberToWords","amount","words","Array","number","split","join","n_length","words_string","n_array","received_n_array","substr","j","parseInt","LoginPage","dialog","status","config","disableClose","width","height","position","top","bottom","left","right","ngOnInit","enable","login","email","password","dologin","Username","Password","awsres","userid","getuserprofile","usersres","role_name","__WEBPACK_IMPORTED_MODULE_5__pd_list_pd_list__","localStorage","clear","err","__WEBPACK_IMPORTED_MODULE_6__password_password__","forgotopen","forgotpassword","auth","loggedInCheck","isLoggedIn","alert","__WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__","__WEBPACK_IMPORTED_MODULE_3__angular_material__","__WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__","InputPage","statusBar","platform","launchNavigator","geolocation","locationAccuracy","initiatedAccess","scheduleAccess","pipe","__WEBPACK_IMPORTED_MODULE_11__angular_common__","acceptedAccess","startedAccess","timeOut","maxdate","transform","styleDefault","overlaysWebView","backgroundColorByHexString","getFullPD","getenableAccuracy","ionViewCanLeave","clearInterval","timeInterval","locationnavicate","address","navigate","getFullPDdetails","courrentDateTime","scheduledDateTime","pd_master_details","scheduled_on_for_validation","diffInMs","parse","diffInHours","enableStartPD","pdStatus","appdetails","updateStatus","getNewpdupdate","pdschedule","scheduledate","schDate","scheduled_on","updateSchedule","canRequest","request","REQUEST_PRIORITY_HIGH_ACCURACY","getcurrentLocation","options","frequency","enableHighAccuracy","setInterval","currentPosPDofficer","getCurrentPosition","resp","coords","latitude","longitude","saveCurrentLocation","link","catch","pdreschedule","pdinitiated","officerName","pd_allocated_to","firstName","applicant_name","updateinitiated","startPdDiscussion","role","updatestarted","__WEBPACK_IMPORTED_MODULE_9__otp_otp__","getpddetails","appdata","app","camerasetup","__WEBPACK_IMPORTED_MODULE_15__pd_general_images_pd_general_images__","__WEBPACK_IMPORTED_MODULE_3__ionic_native_status_bar__","__WEBPACK_IMPORTED_MODULE_4__angular_cdk_platform__","__WEBPACK_IMPORTED_MODULE_5__ionic_native_launch_navigator__","__WEBPACK_IMPORTED_MODULE_7__providers_aws_service_aws_service__","__WEBPACK_IMPORTED_MODULE_6__providers_pdtrigger_pdtrigger__","__WEBPACK_IMPORTED_MODULE_10__ionic_native_geolocation__","__WEBPACK_IMPORTED_MODULE_12__ionic_native_location_accuracy__","__WEBPACK_IMPORTED_MODULE_13__providers_common_provider_toast__","__WEBPACK_IMPORTED_MODULE_14__providers_constants_constants__","PdQuestionPage","qstDetails","docName","docArray","imageArray","SwipedTabsIndicator","tabTitleWidthArray","tabElementWidth_px","screenWidth_px","isRight","isLeft","tabs","questionAnswer","answerDetails","items","questionanotherData","questionRemarks","getpdQuestionDetails","document","getElementById","offsetWidth","selectTab","__WEBPACK_IMPORTED_MODULE_5__pd_question_category_pd_question_category__","scrollIndicatiorTab","ItemsTitles","scrollTo","calculateDistanceToSpnd","SwipedTabsSlider","getActiveIndex","index","style","webkitTransform","slideTo","result","updateIndicatorPosition","updateIndicatorPositionOnTouchEnd","animateIndicator","$event","currentSliderCenterProgress","progress","isEnd","isBeginning","questions","qustimage","images","_d","image","questionId","fk_question_id","_e","_f","answers","fk_question_answertype","getquestionAnswer","questions_count","pd_detail_answer_id","pd_answer_id","question_answer_id","pd_answer","answer","pd_answer_weightage","template_answer_weightage","fk_pd_id","fk_pd_detail_id","checkbox","getDocUpload","qustid","pd_document_name","pd_document_title","docnames","removeimage","splice","saveQuestionDetails","docs","qt_id","qst","template_question_id","fk_template_question_id","pd_detail_id","qustinfo","pdId","question_id","template_id","fk_template_id","category_id","fk_template_question_category_id","question_remark","prev","pd_id_1","catid","qt_id_1","qut_weightage","question_weightage","updatedby","updateon","createdby","createon","pd_details_id","fk_category_id","pd_question","question","pd_question_weightage","fk_question_answer_id","fk_createdon","fk_updatedon","qustCate","slidePrev","__WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__","PdQuestionAddressPage","alerCtrl","placeholderName","premisesRentAmtInwords","locality","pdlocation","addressTypes","addressRemarksAccess","addressline2","addressline3","addressline1","getdropdownlist","pdQuestionAddress","address_type","address_type_others","locality_others","pd_location","comment_locality","other_comment_locality","address_form_remark","address_ownership","other_ownership","rent_amt","other_premises_bussiness_activity","bussiness_activity_remark","bussiness_activity","bussiness_address_type","bussiness_address_type_others","business_years","business_month","additional_address_units","getaddressForm","add","loca","cmtlocality","loc","residence","red","CITY","createUnits","val","no_of_additional_units","premises_type","premises_type_others","premises_city","premises_remarks","addUnits","removeUnits","ConvertMonthintoYear","converted_month","converted_year","keyPress","event","inputChar","String","fromCharCode","charCode","keyCode","test","preventDefault","inWords","inWordsForRent","rentAmtInwords","selectedAddressType","savepdQuestion","getaddressDetails","element","address_type_id","__WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__","__WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__","__WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__","PdQuestionEmpInfoPage","empInfo","nameOfEmp","yearWithEmp","empMet","designationOfEmp","salaryConfirm","actualSalary","attRegisterSeen","salaryRegisterSeen","PdQuestionCurrentLoansPage","currentLoans","existing_loan","currentloan_remarks","loan_details","getcurrentLoans","exitsCheck","addLoanDetails","createLoanDetail","loan_amount","emi","loan_type","lender","original_tenure","current_balance_tenure","deleteLoanDetails","submitCurrentloan","currentLoanDetails","control_1","PdQuestionLoansPage","enduse","mortageAccess","ownerNames","isOtherPurpose","endUserList","mergeCompanyApplicant","isOtherSource","isPLSource","sourceList","applicants","loanDetailsForm","end_use","end_use_other","is_transfer","is_topup","balance_transfer_amount","topup_amount","other_bt_lender","own_contribution","source","personal_loan_source","other_source","emi_level","property_type","property_type_others","owner_name","construction_status","percentage_of_construction","emv_per_customer","loandetails_remarks","product_abbr","mortagetypeAccess","getLoanDetails","m_statusofCunstruction","that_1","m_mortageTypeProperty","group_name","sub_group_name","subproduct_name","m_sourceofamount","subdata","that_2","m_endUseofLoad","fk_product_id","endUserChange","m_btLenderList","m_endUseForLoan","existCompanyList","is_active","is_company_applicant","modifyCompanyList","company_order_id","company_name","group_id","groupName","groupValues","modifyApplicantList","pd_co_applicant_id","selectedBalancesTransferChanges","clearValidators","updateValueAndValidity","setValidators","mortage_type","mortage_value","mortagetypes","mor","mortage_property_id","property_name","compareObjects","o1","o2","loanCalc","topupAmt","BtAmount","loanAmount","option","othresData","sub","enduse_of_loan_id","enduse_of_loan","toLowerCase","ownerNameChange","sourceChange","evt","some","flag","loanAmtInWords","balTxrfAmtInWords","valAsPerAgmtInWords","ownContributionInWords","topUpAmtInWords","emiAmtInWords","emvAmtInWords","submitLoanDetails","dataEnd_user_data","end_use_group","dataSource_list_1","sources","source_group","dataOwner_name","owner_name_group","loanDetails_1","owner","ownername_1","dbsourcelist_1","propertyType","PdQuestionBankingPage","cons","limitCaseFlag","amtInwords","applicant_type","bankDetails","bankitems","banking_form_remark","salaryField","customer_segment_abbr","substring","retiveBankDetails","accountType","selectedAccTypeChanges","itemrow","vintage_year","vintage_month","checkOthers","values","createBankItem","bank_name","account_type","salary","limit","other_bank","other_applicant","addBankDetails","addmoreBankDetils","removebank","savepdBank","banking_details","PdQuestionFamilyPage","filteredStates","getFamilyData","familyForm","person","personOther","members","years","ownership","ownershipOther","rent","family_details_form_remark","earningMembers","nonEarningMembers","getRelation","getoccupation","relationData","rel","occupationData","occ","createMembers","relation","segment","income","employerName","addearningMembers","deleteEarningMembers","createNonMembers","relationship","occupation","retired","addMembers","membersitem","deleteMembers","savepdfamily","no_of_years","what_rent","person_met","family_members","earning_members","non_earning_members","earning","non_earning","familyDetails","PdQuestionAssestsPage","constprovider","m_any_asset_loan_type","viewValue","FormList","loadDetails","appxMarketAmtInwords","OtherAppxMarketAmtInwords","emiAmtInwords","OtherEmiAmtInwords","PremiumPaidInwords","OtherPremiumPaidInwords","SumAssuredInwords","OtherSumAssuredInwords","AmtInvestInwords","AssetValueInwords","OtherAssetValueInwords","B_emiAmtInwords","O_emiAmtInwords","assestInfo","AssetsDetailsForm","assets_details","assets_form_remark","getAssetDetails","m_assets_type","m_propertyType","m_investmentType","m_insuranceType","m_relation","createAsset","assets_mode","details","approximate_market_value","name_of_the_owner","other_owner","purchase_year","minLength","maxLength","vintage_personal","emi_paid","elapsed_tenure","balance_tenure","original_loan_tenure","addAsset","assetItem","deleteAsset","selectedAssetsType","at","otherAssetsDescription","loadProperty","load_Four_Weeler","loadConsumerDurableDescription","loadInsuranceDescription","loadInvestDescription","other_property_type","loadJwellDescription","consumer_durable_description","otherBusinessAssetsDescription","any_other_assets","any_other_asset_value","any_other_asset_loan","insurance_type","premium_paid","frequency_mode","other_frequency_mode","sum_assured","members_coverd","investments_type","other_investments_type","amount_of_invest","manufacturer_model_vehicle","load_Two_Weeler","manufacturer_model_two_weeler","loadPropertyWithData","loadJwellDescriptionWithData","loadConsumerDurableDescriptionWithData","otherAssetsDescriptionWithData","otherBusinessAssetsDescriptionWithData","loadInsuranceDescriptionWithData","loadInvestDescriptionWithData","load_Four_WeelerWithData","load_Two_WeelerWithData","saveAssetDetails","assetArray","assetArray_1","vals","control","initDetailsWithdata","setAssetsDetailsWithData","assets_details_mode","array_data_1","array_data_2","array_data_3","array_data_4","array_data_5","OtherAmtInvestInwords","__WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__","PdQuestionOtherIncomePage","otherIncomeForm","other_income","otherincome_remarks","income_details","getOtherIncome","getFrequency","createDetail","addIncomeDetails","incomeDetails","deleteIncomeDetails","checkotherDetails","frequencyData","fre","submitOtherIncome","incomeArray","otherIncomeDetails","PdQuestionPersonalInfoPage","_fb","qualifications","earningStatus","relationShipList","mainApplicantQuestions","coApplicantQuestions","mainApplicantDetails","coApplicantDetails","repeat","loadDataStatus","loadPDDetails","getRelationMaster","item","loadFormWithIDData","defaultMainApp","loadFormData","errorMessage","main_result","main_applicant_details","co_result","co_applicant_details","mainApplicantGroup","name_ans","age_ans","entity_ans","qualification_ans","earning_ans","coApplicantGroup","relation_ans","_personalForm","mainItem","coItem","personal_info_form_remark","mainApp","coApp","name_ques","name_id","age_ques","age_id","entity_ques","entity_id","qualification_ques","qualification_id","earningStatus_ques","earning_id","relationShip_ques","relation_id","defineProperty","submitPersonalForm","formData","main_applicantDetails_1","co_applicantDetails_1","Coelement","Cokey","save_details","PdQuestionStockInfoPage","stockForm","stock_remarks","raw_materials","finished_goods","getStockDetails","rawmaterial","uomData","uom","createRawmaterial","raw_name","stock_observed","raw_quantity","raw_uom","other_uom","raw_value","rawmaterial_value","is_sufficiant_raw","createGoods","goods_name","goods_quantity","goods_value","finished_goods_value","is_sufficiant_goods","addRawMaterials","deleteRawMaterials","addGoods","deleteGoods","submitDetails","rawMaterial","finishedGoods","stockDetails_1","result_Goods","PdQuestionFinancialInfoPage","PdQuestionRentalInfoPage","rentalForms","property_own","nature_property","nature_others","rental_home","getRentalDetails","createrentalHome","complete_add","area_of_property","structure_property","total_room","is_rent","date_agreement","date_validity","rent_agreement","actual_rent","photo_areegment","property_photographs","bank","cash","rent_each_floor","total_rent","related_doc_owner","details_tenants","third_party_check","createTenantsDetails","tenants_seen","tenants_con_owner","rent_paid","staying_since","addrentalHome","addTenantsDetails","deleteTenantsDetails","rentIndex","TenantsIndex","deleterentalHome","saveRentalDetails","tanantscontrol","rentalDetails","rentalData","createTenantsDetailswithData","validateAllFormFields","formGroup","field","markAsTouched","onlySelf","__WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__","PdQuestionAssessedDashPage","assessedForm","calc_type_id","mode","__WEBPACK_IMPORTED_MODULE_3__angular_forms__","margin","getassessedIncome","getViewPage","pageId","__WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_info_pd_question_assessed_info__","saveAssessedForm","assessedProcess","grossprofit","gross_profit_calculation_type","purchase_details","purchaseData","sales_items_by_monthwise","sales_declared_by_customer","sales_calculated_by_itemwise","salesData","business_expenses","businessData","house_hold_expenses","houseExpenseData","othre_business_income","businessIncome","final_data","finalAccess","finalData","finalIncome","finalExpense","expense","grossAccess","PdQuestionAssessedInfoPage","houseannual","expenseannual","sales_item_month_value","sales_wise_month_headers","sales_month_wise_data","grandpurchaseTotal","annual","FormName","sdc_id","margin_per","margin_value","getAssessedDetails","getMarginCalc","sales_item_value","sales_value","purchse_details","grossprofitCalc","reduce","p","businessExpenses_details","houseHold_details","busissnessIncome","itemElement","itemIndex","expandBodyContent","header","listItems","expnadElement","expnadIndex","calculateItems","acc","calculate","Number","itemsTotal","calculateAllItemsTotal","racc","rcalculate","convertYear","footerMessage","month_message","month_value","year_message","year_value","salesItem","sales_item","expandElements","simId","sim_id","AddAssessedForm","__WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_sales_pd_question_assessed_sales__","sales","editDetails","salesCal","sal","sci_id","editAllDetails","AllsalesData","AddAssessedDailyForm","__WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__","salesDaily","editAssessedDailyForm","dailySaleDetails","ass","AddPurchaseForm","__WEBPACK_IMPORTED_MODULE_8__pd_question_assessed_purchase_pd_question_assessed_purchase__","purchase","editPurchaseDetails","purchaseCal","purchase_id","editPurchaseAllDetails","AllpurchaseData","AddExpenseForm","__WEBPACK_IMPORTED_MODULE_9__pd_question_assessed_business_pd_question_assessed_business__","editExpenseDetails","expenseCal","pd_expense_id","editExpenseAllDetails","AllexpenseData","AddHouseExpenseForm","__WEBPACK_IMPORTED_MODULE_10__pd_question_assessed_household_pd_question_assessed_household__","editHouseExpenseDetails","household_expense_id","editHouseExpenseAllDetails","AllExpenseData","AddIncomeForm","__WEBPACK_IMPORTED_MODULE_11__pd_question_assessed_business_income_pd_question_assessed_business_income__","editIncomeDetails","pd_business_income_id","editIncomeAllDetails","PdQuestionAssessedSalesPage","salesCalItemwise","getSalesItemData","addSalesCal","frq","UOM","createSalesCal","sales_qty","fk_uom_id","rate_per_unit","fk_frequency_id","annual_sale_value","margin_per_uom","margin_final_value","removeSalesCal","grandTotal","salecalculat","frequencyId","salesQty","getSalesCalc","margin_amount","sale","createSaleswithData","PdQuestionAssessedDailySalesPage","temparr","tempdate","currentDate","salesDailyForm","sales_product","getDailySalesData","adddailySalaesProduct","createdailysalesProduct","child","createdailyChildSaleProduct","simc_id","fk_sim_id","sales_date","subchild","saledate","totalitemmargin","loopAccess","loopindex","month","totalMonth","tempgrandTotal","adddailyChildSaleProduct","deletedailySalesProduct","deletedailyChildSaleProduct","saleIndex","saleChildIndex","dailySalesData","salesChildControl","salesChildControlarr","dailySalesWithData","saleDate","getDay","dailySalesChildWithData","fk_id","PdQuestionAssessedPurchasePage","purchaseDetails","rawMaterialForm","getpurchaseDetails","addPurchaseDetails","createPurchaseDetails","purchase_item","purchase_qty","annual_purchase_value","businessExpenses","bus","deletePurchaseDetails","purchaseQty","savepurchaseData","createPurchasewithData","__WEBPACK_IMPORTED_MODULE_5__providers_aws_service_aws_service__","PdQuestionAssessedBusinessPage","grandExpenseTotal","expenseDetails","BuissnessForm","busExpense","getBuisnessExpenses","addBusinessDetails","arg0","createBusinessDetails","expense_item_id","expense_value","annual_expenses_value","deleteBuisnessDetails","busExpensecalculat","expenseValue","saveBusinessData","createBusinessExpensewithData","PdQuestionAssessedHouseholdPage","grandHouseExpenseTotal","houseExpenseDetails","houseHoldForm","houseExpense","getHouseholdExpense","addHouseExpenses","createHouseExpense","expense_item","annual_expense_value","deleteHouseExpense","houseExpensecalculat","saveHouseExpenseData","houseExpesneDetails","createHouseholdwithData","__WEBPACK_IMPORTED_MODULE_5__providers_question_category_question_category__","PdQuestionAssessedBusinessIncomePage","grandIncomeTotal","incomeannual","busIncome","business_income_id","income_value","annual_income_value","other_income_item","other_frequncy_item","busIncomecalculate","incomeValue","frequency_factor","frequency_id","mutiple_factor","PdQuestionLenderRepresentativePage","representativeForm","lender_representative_accompany","representative_remarks","lender_representative_details","getLenderReDetails","createlenReDetails","lender_representative_who_accompanies","lender_representative_carry_loan_files","selectedLoanChanges","sumbitData","lenderReDetails","lender_represent_details","PdQuestionGeneralInfoPage","modal","__WEBPACK_IMPORTED_MODULE_7__angular_common__","fetch_related_details","pd_applicants_details","OldData","OldData_indi","cart","maxDate","getGeneralForm","generalForm","applicant_list","applicant_relation","list_value","company_value","individuals","companies","persons_with_relationships","company_with_relationships","general_remark","buttonClick","h_companies","datav","valueChanges","individualsList","is_applicant","individualsListBothCase","is_person_met","fulldata","companyList","initlistv","purpose","lengthv","data_1","c_qualification_name","qualificationById","qualification","applicant_title_name","age","individuals_order_id","is_new","qualification_name","data_2","qualificationList","qual_name","initCompanyValue","data_3","c_business_name","business_entity_type","businessEntityById","business_entity_type_other","company_messrs_name","business_date_object","business_entity_type_name","data_4","businessEntityTypeList","v","business_entity_type_id","initIndividuals","initCompanies","initPersonRelationship","relation_to","value_1","initCompanyRelationShip","company_relationship","relation_to_company","value_2","addRec","delete","removeList","vla","companyRelationShipList","com","titleList","getcoapplicantDetails","checkApplicantExist","exist_applicant_relation","applicantControl","relationControl","createApplicant","createApplicantRelation","elementValue","exist_status","coapplicantChange","__WEBPACK_IMPORTED_MODULE_6__pd_question_general_other_applicant_pd_question_general_other_applicant__","onDidDismiss","otherName","applicant_relation_to","company_relation","relationControl_1","pos_id","indexOf","pos_name","nullValidator","removereferance","ConvertMonthintoYearforBusiness","controlIndex","getDateObjects","pd_initiation_date","pd_date_of_initiation","reverse","selected_date","diff","abs","round","submitData","saveRecords","valuesData_indi","valuesData","dataResult","data_all","exist_companies","arraylis","cindex","createCompanies","providers","__WEBPACK_IMPORTED_MODULE_8__pipes_pd_pd__","PdQuestionGeneralOtherApplicantPage","viewCtrl","applicantInfo","otherForm","addmore","createName","deleteappdata","closeModal","dismiss","PdPipe","searchItem","findExistIndex","existRelationList","sVal","currentApplicantID","fVal","PdQuestionNeighbourHoodPage","check_type","type_name","finalRemarksList","amtInWords","isDisplay","isDisplay2","appt","neighbourhoodForm","neighbourhood_list","neighbourhood_status","referencecheck_list","neighbour_reference_remark","getneighbourhood","relationBusiness","year_relation_applicant","months_relation_applicant","how_long_do_know_in_year","how_long_do_know_in_month","toggleVisibility","createreferance","reference_name","mobile","statecode","landline","location","relationship_with","others","business_volume_amount","business_volume_unit","others_unit","reference_final_remarks","specify_final_remark","addreferance","createNeighbourhood","neighbourhood_name","do_know","organisation_owner","is_applicant_owner","other_organisation_owner","did_not_know_the_business_operation","did_not_know_the_owner","addneighbourhood","removeneighbourhood","neicontrol","neighbourDetails","referencecheck_list_1","statecodesearch","search","PdQuestionFinalRemarkPage","qustcat","m_remarkTypeCustomerBehaviour","_finalRemarkForm","final_custormer_remark_type","final_other_customer_behaviour","is_service_provided","final_form_remarks","getDropDown","getFinalRemark","saveFinalRemark","invalid","PdQuestionBusinessGroupPage","getCompanyListForBusiness","waitLoading","OnSelectBusinessGroupForms","company","company_id","__WEBPACK_IMPORTED_MODULE_3__pages_pd_question_pd_question_supplier_info_pd_question_supplier_info__","__WEBPACK_IMPORTED_MODULE_4__pages_pd_question_pd_question_client_info_pd_question_client_info__","__WEBPACK_IMPORTED_MODULE_5__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__","__WEBPACK_IMPORTED_MODULE_7__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__","__WEBPACK_IMPORTED_MODULE_6__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__","PdQuestionBusinessInfoPage","stateList","sourcsection_labeleName","industryData","activityData","countryDataList","filterCityList","titleData","personsList","ExportFlag","ManufacturingCounterArray","RetailCounterArray","WholeSaleCounterArray","ServiceCounterArray","getStateCityDet","generalExistEntityType","generalExistEntityType_other","generalExistBusinessYear","step","businessForm","partners","select_business_activity_type","manufacturing_activity_details","retail_trading_activity_details","wholesale_trading_activity_details","service_provider_activity_details","others_activity_details","export_sale_of_total_sales","seasonality","employees_total","employees_permanent","employees_temporary","employees_appx_salary","was_the_company_name_board_sighted","officer_total","shop_eat_act_cert","gst_Regn_cert","pf_regn","esic_regn","other_documents","documents","business_remarks","filterList","section_label","getDetails","params","businessVal","Partnr","control1","business_activity","manufacture_details","retailControl","wholesaleControl","serviceProviderControl","othersControl","otherDoc","DocArray","PartnrArray","createPartners","partner_name","addControl","total_business_experiance","current_business_experiance_year","removeControl","PartnrArray1","createRelationShip","createDocument","appxSalaryAmtInwords","activityData_1","type_of_activity_id","exist_activity_data_1","check_exist_businees_activity","createBusinessActivity","selectedManufacturing","manufactureDetails","area_of_sale","india_where_sale_done","innerElement","innerIndex","indiaSalesDone","max_sale_state_name","maxSaleState","countries_where_export_done","createCountrySale","selectedRetail","selectedWholesale","selectedService","selectedOthers","createOthersActivity","toUpperCase","filterCity","datasource","filterid","cities","filterMaxSaleState","filterValues","getOriginalStateList_1","dval","setStateFilter","state_name","mapVal","findIndex","filterMaxSaleCities","selectedCites","existCities","cfVal","city_name","mcVal","concat","apply","getOriginalStateList_2","setCityFilter","merged","city_id","checkTotalEmployee","FormData","checkWithExistBusinessYear","changeBusinessActivity","ManufacturingChecked","manufacturingControl","RetailedChecked","WholeSalesChecked","ServiceChecked","serviceControl","export_import_cert","factory_cert","practice_cert","applicant_use_mobile_wallets","applicant_use_pos_machines","changeManufacturingAreaSale","getIndex","changeRetailAreaSale","changeWholesaleAreaSale","changeServiceArea","changePanIndiaOptions","type","selectedIndex","changePartnerGroup","createDesignation","sec_name","sec_designation","getWorkExperience","current_experience","total_experience","current_business_experiance_month","shareholding","started_business","total_business_previous_experience","family_member_salutation","family_member_name","other_family_relationship_id","relation_to_id","relationship_with_company_id","createServiceActivity","main_products","description","others_details","addDesignation","deleteDesignation","addPartnerDetails","stopPropagation","addPersonRelationship","deletePersonRelationship","deletePartnerDetails","addMoreManufacturing","addMoreRetail","addMoreWholesale","country_name","approx_sale","addMoreState","mindex","removeState","sindex","addRetailMoreState","rindex","removeRetailState","addWholesaleMoreState","windex","removeWholesaleState","addServiceMoreState","addMoreServiceprovider","addMoreOthersActivity","removeServiceState","addDocuments","deleteDocuments","relationChanged","relativeNames","member","initBusinessForm","profession_name","industry","type_of_activity","designation","officer_permanent","officer_temporary","invested_amount","working_capital","ownership_setup","ownership_others","who_started","main_person","other_main_person","family_members_involved","before_business","any_delays","validationFlag","total","sum","getBuisnessDetails","Desgn","DesgnArray","enduse_1","existRelative_1","setStep","CheckExport","stringFlag","SumOfManufacturingCounter","SumOfRetailCounter","SumOfWholeSaleCounter","SumOfServiceCounter","overallCounter","PdQuestionBusinessAssetsPage","currentYear","RentAmtInwords","m_address_type","generalExistBusinessMonth","pageTitle","main_applicant","lender_applicant_id","subproduct_abbr","addressLabel","addressType","formLoadData","_businessAssetsQuesFrom","business_address_availability","business_is_pd_visited","business_pd_visited_remark","business_assets_details","initBusinessDetails","business_assets_form_remark","addBusinessAssetsDetailsWithData","business_assets_mode","business_details","business_approximate_market_value","business_ownership_type","business_monthly_rented_amt","business_name_of_the_owner","business_name_of_the_other_owner","business_vintage","business_purchase_year","pattern","business_emi","loadEquipmentManufacturingDescription","equipment_manufacturing_description","addAssetDetails","removeAssetsDetails","loadEquipmentManufacturingDescriptionWithData","supp_data","result_1","initBusinessDetailsWithdata","setBusinessAssetsDetailsWithData","business_property_datas_1","business_Four_Weeler_datas_1","equipment_manufacturing_description_datas_1","array_datas_1","onSubmit","calculateVintagePurchase","controlKey","setRequiredValidation","other_vehicle_type","business_year","Year","yearErrorMessage","monthErrorMessage","PdQuestionBusinessBankingPage","pd_cus_segment","bankingForm","itemRows","is_main","PdGeneralImagesPage","cameraArr","count","saveAccess","takePicture","doc","img","Name","__WEBPACK_IMPORTED_MODULE_2__providers_common_provider_camera__","PasswordPage","setNewPassword","newpass","newpassword","__WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__","AuthPage","faio","loadingCtrl","mpinaccess","getuserDetails","pdloader","userDetails","loading","mpin","setnewpin","newpin","userpinupdate","newpindetails","checkpin","pin","checkfingerprint","show","clientId","clientSecret","localizedFallbackTitle","localizedReason","disableBackup","__WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__","__WEBPACK_IMPORTED_MODULE_6__ionic_native_fingerprint_aio__","__WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__","__WEBPACK_IMPORTED_MODULE_9__providers_constants_constants__","LoadingProvider","content","__WEBPACK_IMPORTED_MODULE_2_ionic_angular__","__WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__","bootstrapModule","__WEBPACK_IMPORTED_MODULE_1__app_module__","AppModule","declarations","__WEBPACK_IMPORTED_MODULE_3__app_component__","__WEBPACK_IMPORTED_MODULE_14__pages_auth_auth__","__WEBPACK_IMPORTED_MODULE_15__pages_login_login__","__WEBPACK_IMPORTED_MODULE_16__pages_pd_list_pd_list__","__WEBPACK_IMPORTED_MODULE_17__pages_pd_question_category_pd_question_category__","__WEBPACK_IMPORTED_MODULE_18__pages_pd_question_pd_question__","__WEBPACK_IMPORTED_MODULE_19__pages_googleplaytab_googleplaytab__","__WEBPACK_IMPORTED_MODULE_20__pages_password_password__","__WEBPACK_IMPORTED_MODULE_21__pages_pd_allocation_pd_allocation__","__WEBPACK_IMPORTED_MODULE_22__pages_input_input__","__WEBPACK_IMPORTED_MODULE_27__pages_otp_otp__","__WEBPACK_IMPORTED_MODULE_34__pages_pd_question_pd_question_address_pd_question_address__","__WEBPACK_IMPORTED_MODULE_35__pages_pd_question_pd_question_assests_pd_question_assests__","__WEBPACK_IMPORTED_MODULE_36__pages_pd_question_pd_question_banking_pd_question_banking__","__WEBPACK_IMPORTED_MODULE_37__pages_pd_question_pd_question_current_loans_pd_question_current_loans__","__WEBPACK_IMPORTED_MODULE_38__pages_pd_question_pd_question_emp_info_pd_question_emp_info__","__WEBPACK_IMPORTED_MODULE_39__pages_pd_question_pd_question_family_pd_question_family__","__WEBPACK_IMPORTED_MODULE_48__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__","__WEBPACK_IMPORTED_MODULE_40__pages_pd_question_pd_question_loans_pd_question_loans__","__WEBPACK_IMPORTED_MODULE_41__pages_pd_question_pd_question_financial_info_pd_question_financial_info__","__WEBPACK_IMPORTED_MODULE_42__pages_pd_question_pd_question_other_income_pd_question_other_income__","__WEBPACK_IMPORTED_MODULE_43__pages_pd_question_pd_question_supplier_info_pd_question_supplier_info__","__WEBPACK_IMPORTED_MODULE_45__pages_pd_question_pd_question_personal_info_pd_question_personal_info__","__WEBPACK_IMPORTED_MODULE_46__pages_pd_question_pd_question_stock_info_pd_question_stock_info__","__WEBPACK_IMPORTED_MODULE_47__pages_pd_question_pd_question_client_info_pd_question_client_info__","__WEBPACK_IMPORTED_MODULE_49__pages_pd_question_pd_question_rental_info_pd_question_rental_info__","__WEBPACK_IMPORTED_MODULE_50__pages_pd_question_pd_question_assessed_info_pd_question_assessed_info__","__WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__","__WEBPACK_IMPORTED_MODULE_52__pages_pd_question_pd_question_assessed_sales_pd_question_assessed_sales__","__WEBPACK_IMPORTED_MODULE_53__pages_pd_question_pd_question_assessed_household_pd_question_assessed_household__","__WEBPACK_IMPORTED_MODULE_54__pages_pd_question_pd_question_assessed_purchase_pd_question_assessed_purchase__","__WEBPACK_IMPORTED_MODULE_55__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__","__WEBPACK_IMPORTED_MODULE_56__pages_input_bounced_reject_bounced_reject__","__WEBPACK_IMPORTED_MODULE_57__pages_pd_question_pd_question_assessed_business_pd_question_assessed_business__","__WEBPACK_IMPORTED_MODULE_58__pages_pd_question_pd_question_lender_representative_pd_question_lender_representative__","__WEBPACK_IMPORTED_MODULE_59__pages_pd_question_pd_question_general_info_pd_question_general_info__","__WEBPACK_IMPORTED_MODULE_60__pages_pd_question_pd_question_general_info_pd_question_general_other_applicant_pd_question_general_other_applicant__","__WEBPACK_IMPORTED_MODULE_61__pages_pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__","__WEBPACK_IMPORTED_MODULE_62__pages_pd_question_pd_question_final_remark_pd_question_final_remark__","__WEBPACK_IMPORTED_MODULE_63__pages_pd_question_pd_question_business_pd_question_business__","__WEBPACK_IMPORTED_MODULE_64__pages_pd_question_pd_question_business_group_pd_question_business_group__","__WEBPACK_IMPORTED_MODULE_65__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__","__WEBPACK_IMPORTED_MODULE_66__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__","__WEBPACK_IMPORTED_MODULE_68__pages_pd_question_pd_question_assessed_business_income_pd_question_assessed_business_income__","__WEBPACK_IMPORTED_MODULE_69__pages_pd_general_images_pd_general_images__","__WEBPACK_IMPORTED_MODULE_70__pages_pd_question_pd_question_salary_info_pd_question_salary_info__","imports","__WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__","__WEBPACK_IMPORTED_MODULE_29__angular_forms__","forRoot","links","__WEBPACK_IMPORTED_MODULE_6__angular_platform_browser_animations__","__WEBPACK_IMPORTED_MODULE_7__angular_material__","__WEBPACK_IMPORTED_MODULE_9__angular_common_http__","__WEBPACK_IMPORTED_MODULE_30_ionic_img_viewer__","bootstrap","entryComponents","__WEBPACK_IMPORTED_MODULE_4__ionic_native_status_bar__","__WEBPACK_IMPORTED_MODULE_8__providers_aws_service_aws_service__","__WEBPACK_IMPORTED_MODULE_10__providers_guard_auth_guard__","__WEBPACK_IMPORTED_MODULE_11__providers_guard_token_interceptor__","__WEBPACK_IMPORTED_MODULE_23__providers_common_provider_toast__","__WEBPACK_IMPORTED_MODULE_13__providers_constants_constants__","__WEBPACK_IMPORTED_MODULE_12__providers_aws_service_cognito_service__","__WEBPACK_IMPORTED_MODULE_5__ionic_native_splash_screen__","__WEBPACK_IMPORTED_MODULE_24__providers_pdtrigger_pdtrigger__","__WEBPACK_IMPORTED_MODULE_25__ionic_native_fingerprint_aio__","provide","useClass","multi","__WEBPACK_IMPORTED_MODULE_26__ionic_native_launch_navigator__","__WEBPACK_IMPORTED_MODULE_28__providers_question_category_question_category__","__WEBPACK_IMPORTED_MODULE_31__providers_common_provider_camera__","__WEBPACK_IMPORTED_MODULE_33__ionic_native_camera__","__WEBPACK_IMPORTED_MODULE_67__pipes_pd_pd__","__WEBPACK_IMPORTED_MODULE_32__providers_common_provider_loading__","__WEBPACK_IMPORTED_MODULE_44__ionic_native_geolocation__","MyApp","splashScreen","AWS","userAccess","rootPage","__WEBPACK_IMPORTED_MODULE_4__pages_login_login__","initializeApp","pages","icon","method","menulist","ready","is","hide","getAccessToken","__WEBPACK_IMPORTED_MODULE_8__pages_auth_auth__","nav","__WEBPACK_IMPORTED_MODULE_5__pages_pd_list_pd_list__","logout","__WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__","__WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__","__WEBPACK_IMPORTED_MODULE_7__providers_aws_service_cognito_service__","DatabaseProvider","sql","createnewdb","db","executeSql","__WEBPACK_IMPORTED_MODULE_2__ionic_native_sqlite__","AuthGuard","getlogin","TokenInterceptor","intercept","next","token","getToken","getIdToken","getJwtToken","requests","clone","headers","__WEBPACK_IMPORTED_MODULE_1__angular_common_http__","Authorization","Token","From","handle","__WEBPACK_IMPORTED_MODULE_3_rxjs_operators__","handleError","operation","__WEBPACK_IMPORTED_MODULE_2_rxjs__","__WEBPACK_IMPORTED_MODULE_4__aws_service_cognito_service__","GoogleplaytabPage","PdAllocationPage","pdFullDetails","BouncedRejectPage","pdservice","bounce_reason_others","bounseMaster","bouns","updatePDStatus","bounce_reason","__WEBPACK_IMPORTED_MODULE_6__pd_list_pd_list__","__WEBPACK_IMPORTED_MODULE_3__providers_pdtrigger_pdtrigger__","PdQuestionBusinessPage","PdQuestionSalaryInfoPage","salaryDetails","gross","netTakeHome","bounsIncentive","salaryDate","anydelays","sineedgedevUserpool","__WEBPACK_IMPORTED_MODULE_1_amazon_cognito_identity_js__","UserPoolId","ClientId","CognitoServiceProvider","loggedIn","isloggin","getCurrentUser","tokenexp","getSession","session","isValid","reject","jwttoken","__WEBPACK_IMPORTED_MODULE_2_amazon_cognito_identity_js__","AwsServiceProvider","con","authenticationData","authenticationDetails","Newpassword","attributesData","cognitoUser","Pool","__WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__","observer","authenticateUser","newPasswordRequired","userAttributes","requiredAttributes","completeNewPasswordChallenge","onSuccess","onFailure","userforgotpass","observe","forgotPassword","inputVerificationCode","verificationCode","prompt","newPassword","confirmPassword","signOut","idToken","payload","locale","formdata","append","__WEBPACK_IMPORTED_MODULE_5__cognito_service__","__WEBPACK_IMPORTED_MODULE_6__constants_constants__","PdListPage","pdofficer","androidPermissions","bgColorPast","bgColor","pdinprogress","pdlistdetails","pdlist","pdlistaccess","setpermission","getpdTriggerdetails","pdschduleDetails","searchinprogress","searchpast","newpage","__WEBPACK_IMPORTED_MODULE_2__input_input__","sch","allocate","random_bg_color","PdAllocation","__WEBPACK_IMPORTED_MODULE_6__otp_otp__","__WEBPACK_IMPORTED_MODULE_7__pd_question_category_pd_question_category__","checkPermission","PERMISSION","ACCESS_LOCATION_EXTRA_COMMANDS","hasPermission","requestPermission","requestPermissions","GET_ACCOUNTS","__WEBPACK_IMPORTED_MODULE_4__providers_pdtrigger_pdtrigger__","__WEBPACK_IMPORTED_MODULE_5__providers_aws_service_cognito_service__","__WEBPACK_IMPORTED_MODULE_8__providers_database_database__","__WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__","PdtriggerProvider","constants","otpDetails","ToastProvider","mess","duration","dismissOnPageChange"],"mappings":"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","sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ConstantsProvider } from '../constants/constants';\n\n/*\n Generated class for the QuestionCategoryProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class QuestionCategoryProvider {\napiurl:any;\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\n console.log('Hello QuestionCategoryProvider Provider');\n this.apiurl = constant.apiurl();\n }\n \n \n getLoadTemplate(pdid)\n {\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\n }\n saveQusetion(saveData)\n {\n let records = {'records':[saveData]};\n return this.http.post(this.apiurl+'savePDQuestions',records);\n }\n\n \n getAnswerTemplate(qustDetails)\n {\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\n }\n\n /***\n * Get PD Questions dropdown api\n * sriram\n */\n getcommondrop(tableName)\n {\n let masters = {'master_name':tableName}\n return this.http.post(this.apiurl+'getListOfMaster',masters);\n }\n\n saveForm(records)\n { let record = {'records':records};\n return this.http.post(this.apiurl+'savePDFormDetails',record);\n }\n\n retiverForm(records)\n {\n return this.http.post(this.apiurl+'getPDFormDetails',records);\n }\n\n /**Assessed Form Details API */\n saveassessedForms(api,saveData)\n {\n return this.http.post(this.apiurl+api,saveData);\n }\n\n retiverassessedForm(api,records)\n {\n return this.http.post(this.apiurl+api,records);\n }\n\n updatePdApplicant(editData: any) {\n // editData.fk_updatedby = this._aws.getlocale();\n // editData.updatedon = currentdate;\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\n\n \n}\n\ngetEndUseForLoan(pdid:any){\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid}})\n}\ngetCompaniesListsForBusiness(pdid:any){\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\n}\ngetStateWiseCities(stateid:any){\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\n}\ngetAllPersonsName(pdid:any){\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\n \n}\ngetStateCityDetails(){\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\n}\ngetAssetsWithLoanFromBusiness(pdid:any){\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\n\n}\n\n\ngetTypeofActivityForSuppliedInfoForm(pd_id: any){\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id }});\n}\n\n\n/*****Save Images */\nsavePDImages(imagesDetails)\n{ \n let record = {'records':imagesDetails};\n return this.http.post(this.apiurl+'savePDPhotos',record);\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { PdQuestionPage } from '../pd-question/pd-question';\nimport Chart from 'chart.js';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\n\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-supplier-info/pd-question-supplier-info';\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-financial-info/pd-question-financial-info';\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-client-info/pd-question-client-info';\nimport { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\n/**\n * Generated class for the PdQuestionCategoryPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Component({\n selector: 'page-pd-question-category',\n templateUrl: 'pd-question-category.html',\n})\nexport class PdQuestionCategoryPage {\n searchTempForm: any;\n searchQuestion: any;\n viewchange: boolean;\n templateAccess: boolean;\n bgColortempForm: any=[];\n bgColorqustCat: any=[];\n // @ViewChild('doughnutCanvas') doughnutCanvas;\n pdinfo: any;\nquestionList:any;\nquestionCate:any;\nquestionCateAccess:boolean = null;\nquestionfinishedList:any =[];\npddetails:any;\noverallqustioncountAccess:boolean = true;\ndoughnutChart: any;\ncompletedAccess:any;\nsearchitem:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\n this.pddetails = this.navParams.get('pdDetails');\n console.log(\"Pd\",this.pddetails);\n \n \n }\n\n ionViewCanEnter()\n {\n this.getcategoryList(); \n }\n // doughuntChart()\n // {\n // console.log(this.doughnutCanvas);\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\n \n // type: 'doughnut',\n // data: {\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\n // datasets: [{\n // label: '# of Votes',\n // data: [12],\n // backgroundColor: [\n // // 'rgba(255, 99, 132, 0.2)',\n // 'rgba(54, 162, 235, 0.2)',\n // // 'rgba(255, 206, 86, 0.2)',\n // // 'rgba(75, 192, 192, 0.2)',\n // // 'rgba(153, 102, 255, 0.2)',\n // // 'rgba(255, 159, 64, 0.2)'\n // ],\n // hoverBackgroundColor: [\n // \"#FF6384\",\n // \"#36A2EB\",\n // \"#FFCE56\",\n // \"#FF6384\",\n // \"#36A2EB\",\n // \"#FFCE56\"\n // ]\n // }]\n // }\n\n // });\n // }\n ionViewDidLoad() {\n this.shared.refresh();\n //this.doughuntChart();\n console.log('ionViewDidLoad PdQuestionCategoryPage');\n }\n \n getcategoryList()\n {\n let j = 1;\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\n {\n this.questionCate = res;\n if(this.questionCate.dataStatus == true)\n {\n \n this.questionCate = this.questionCate.records;\n //console.log(this.questionCate.counts);\n this.random_ng_past(); \n if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\n {\n this.questionCateAccess = true;\n this.templateAccess = true;\n this.questionCate = this.questionCate;\n this.searchQuestion = this.questionCate.question_answers;\n\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)\n {\n this.overallqustioncountAccess = false;\n }else\n {\n this.overallqustioncountAccess = true;\n }\n \n //console.log(this.questionCate);\n \n \n \n // console.log(this.questionfinishedList);\n \n }else if(this.questionCate.template_forms!='')\n {\n this.templateAccess = true;\n this.questionCate = this.questionCate;\n this.searchTempForm = this.questionCate.template_forms\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)\n // {\n // this.overallqustioncountAccess = false;\n // }else\n // {\n // this.overallqustioncountAccess = true;\n // }\n }\n else\n {\n this.questionCateAccess = false;\n this.templateAccess = false; \n this.questionCate = \"No Template Available\";\n }\n }\n })\n }\n random_ng_past()\n {\n for(let id of this.questionCate.question_answers){\n var a = Math.floor(Math.random() * 256);\n var b = Math.floor(Math.random() * 256);\n var c = Math.floor(Math.random() * 256);\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\n \n }\n for(let id of this.questionCate.template_forms){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n }\n questionsTag(categroyId){\n \n this.pdinfo = this.pddetails; \n console.log('data',categroyId); \n \n console.log('pdinfo',this.pdinfo);\n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\n //console.log(this.questionCate);\n // if(this.questionCate.questions.length !=\"0\"){\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\n \n // }else\n // {\n // this.getcategoryList();\n // this.toast.pdTriggerappmessage('No Question Available');\n // }\n }\n\n tempQustionTag(categroyId)\n {\n this.pdinfo = this.pddetails; \n console.log('data',categroyId); \n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\n if(categroyId ==5)\n {\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\n \n }else if(categroyId==12){\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\n }else if(categroyId==10)\n {\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==8){\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==13)\n {\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n \n }else if(categroyId==7)\n {\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n\n }else if(categroyId==6)\n {\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId ==4){\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==9){\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==1){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==3){\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==11)\n {\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==14)\n {\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId ==2)\n {\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId ==17)\n {\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }\n else if(categroyId==16)\n {\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==15)\n {\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==18)\n {\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==19)\n {\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }\n else if(categroyId==20)\n {\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\n }\n }\n filter(view){\n if(!view){\n this.viewchange = true;\n }else{\n this.viewchange = false;\n }\n //alert(this.viewchange);\n }\n pdlistsearch(searchbar) {\n // this.questionCate = this.searchQuestion;\n // this.questionCate.template_forms = this.searchTempForm;\n // reset countries list with initial call\n //this.pdinprogress = this.countriesInitial;\n // set q to the value of the searchbar\n var q = searchbar.target.value;\n\n // if the value is an empty string don't filter the items\n console.log(this.searchQuestion);\n if(this.searchQuestion !== undefined){\n if (q.trim() == '') {\n return ;\n }else{\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\n // return true;\n // }\n // })\n // console.log(this.questionCate);\n }\n }else\n {\n if (q.trim() == '') {\n return ;\n }else{\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\n// return true;\n// }\n// })\n console.log(this.questionCate);\n }\n }\n}\n completed()\n {\n let users = this.aws.getlocale();\n \n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\n \n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\n {\n this.completedAccess = res;\n if(this.completedAccess.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage);\n }\n })\n }\n doRefresh(refresher) {\n this.questionCate = [];\n this.questionfinishedList = [];\n console.log('Begin async operation', refresher);\n this.shared.refresh();\n this.getcategoryList();\n setTimeout(() => {\n console.log('Async operation has ended');\n refresher.complete();\n }, 2000);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../providers/constants/constants';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n\n\n/**\n * Generated class for the OtpPage 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-otp',\n templateUrl: 'otp.html',\n})\nexport class OtpPage {\n\n \n timeLimit: any;\n reason_otp: any;\n users: any;\n timerOn: boolean = true;\n balance_time: string;\n otpStatus: any;\n pin:any;\n otpStatusAccess:boolean = true;\n applicatentDetails: any;\n commonImage:any;\n maxtime: any=30;\n \n reasonForm:FormGroup\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) {\n this.commonImage = this.commonconstant.commonimage;\n this.applicatentDetails = this.navParams.get('pdDetails');\n this.reasonForm = this.fb.group(\n {\n reason:[null,Validators.compose([Validators.required])],\n others_reason:[null],\n })\n this.getDropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad OtpPage');\n }\n ionViewDidEnter(){\n //this.Menu.enable(false);\n this.timer(120);\n }\n ionViewWillLeave(){\n //this.Menu.enable(true);\n clearTimeout(this.timeLimit);\n }\n getDropdown()\n {\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\n // console.log(this.reason_otp);\n \n }\n })\n }\n checkotp(otp)\n {\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp};\n this.pddetails.checkotp(data).subscribe(res=>\n {\n this.otpStatus = res;\n if(this.otpStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\n }else\n {\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\n }\n })\n }\n\n timer(remaining) {\n // console.log(remaining);\n let m:any = Math.floor(remaining / 60);\n let s:any = remaining % 60;\n \n m = m < 10 ? '0' + m : m;\n s = s < 10 ? '0' + s : s;\n // var balance_time = m + ':' + s;\n this.balance_time = m + ':' + s;\n remaining -=1;\n // console.log(this.balance_time);\n if(remaining >= 0 && this.timerOn) {\n this.timeLimit = setTimeout(()=> {\n this.timer(remaining);\n }, 1000);\n return;\n }\n \n if(!this.timerOn) {\n // Do validate stuff here\n return;\n }\n \n // Do timeout stuff here\n this.users = this.aws.getlocale();\n let data:any;\n let alert = this.alertCtrl.create({\n title: 'OTP Expired ',\n message: 'Do you want sure resend OTP',\n buttons: [\n {\n text: 'OTP Without Start',\n \n handler: () => {\n \n this.otpStatusAccess = false;\n }\n },\n {\n text: 'Resend OTP',\n handler: () => {\n \n \n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users};\n console.log(data);\n this.pddetails.updatepdStatus(data).subscribe(res=>\n {\n \n })\n // console.log('Buy clicked');\n \n } \n }\n \n ]\n });\n alert.present();\n }\n \n saveotpreasno()\n {\n console.log(this.reasonForm.value);\n if(this.reasonForm.valid)\n {\n let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason};\n this.pddetails.checkotp(data).subscribe(res=>\n {\n this.otpStatus = res;\n if(this.otpStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\n }else\n {\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Camera } from '@ionic-native/camera';\n/*\n Generated class for the CameraProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class CameraProvider {\n\n constructor(public http: HttpClient,public camera:Camera) {\n console.log('Hello CameraProvider Provider');\n }\n getpicture() \n {\n const options = {\n quality: 100,\n destinationType: this.camera.DestinationType.DATA_URL,\n targetWidth: 500,\n targetHeight: 500,\n correctOrientation: true\n };\n\n // If set to crop, restricts the image to a square of 600 by 600\n \n\n return this.camera.getPicture(options).then(imageData => {\n const base64Image = 'data:image/png;base64,' + imageData;\n // console.log(base64Image);\n return base64Image;\n }, error => {\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\n });\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { PdQuestionCategoryPage } from '../../pd-question-category/pd-question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionSupplierInfoPage 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-supplier-info',\n templateUrl: 'pd-question-supplier-info.html',\n})\nexport class PdQuestionSupplierInfoPage {\n users: any;\n pdDetails: any;\n questionDetails: any;\n supplierInfoForm: FormGroup;\n supplierDetails: any;\n supplierArray:FormArray;\n m_paymentModeType:any;\n\n m_freqOfPurchase:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n\n this.supplierInfoForm = this.fb.group({\n \n main_raw_materials: [null],\n supplier_details: this.fb.array([])\n });\n this.getSupplierForm();\n \n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\n }\n\n getdropList()\n {\n this.m_paymentModeType = [\n {\n 'id': \"1\",\n 'name': 'Immediate Or Advanced Payment'\n },\n {\n 'id': \"2\",\n 'name': 'Credit'\n },\n {\n 'id': \"3\",\n 'name': 'Combination of Both'\n },\n ];\n this.m_freqOfPurchase = [\n {\n 'id': \"1\",\n 'name': 'Daily'\n },\n {\n 'id': \"2\",\n 'name': 'Weekly'\n },\n {\n 'id': \"3\",\n 'name': 'Monthly'\n },\n {\n 'id': \"4\",\n 'name': 'Every 3 months'\n },\n {\n 'id': \"5\",\n 'name': 'Half yearly'\n },\n {\n 'id': \"6\",\n 'name': 'Yearly'\n },\n {\n 'id': \"7\",\n 'name': 'As and when required'\n },\n {\n 'id': \"8\",\n 'name': 'Others'\n }\n ];\n }\n public paymentModeTextBox: number;\n selectedPM(e) {\n this.paymentModeTextBox = e.value;\n // this.f.supplier_details.controls.get('payment_mode_value');\n }\n \n public freqPurchaseTextBox: number;\n selectedFreqPurchase(e){\n this.freqPurchaseTextBox = e.value;\n }\n initDetails() {\n return this.fb.group({\n supplier_name: [null],\n contact_person: [null],\n mobile_number: [null],\n payment_mode: [null],\n per_of_immediate_advance_payment:[null],\n credit_period:[null],\n frequency_of_purchase: [null],\n freq_purchase_others_text_value: [null]\n });\n }\n\n addSupplierDetails() {\n this.supplierArray = this.supplierInfoForm.get('supplier_details') as FormArray;\n // const control = ;\n this.supplierArray.push(this.initDetails());\n }\n\n removeLanguage(i: number) {\n this.supplierArray = this.supplierInfoForm.get('supplier_details') as FormArray;\n \n this.supplierArray.removeAt(i);\n }\n\nsaveSupplierInfo(answerData)\n{\n let records:any ={};\n\n records.pdid = this.pdDetails.pd_id;\n records.formid = '338';\n records.fk_createdby = this.users;\n records.main_raw_materials = answerData.main_raw_materials;\n records.supplier_details = answerData.supplier_details;\n console.log('data',records); \n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n });\n\n \n}\n\ngetSupplierForm()\n{\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'338'};\n\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.supplierDetails = res['records'];\n var supplierArray = Object.keys(res['records'].supplier_details\n ).map(function(key) {\n //console.log(res);\n return res['records'].supplier_details\n [key];\n\n });\n this.supplierArray = this.supplierInfoForm.get('supplier_details') as FormArray; \n this.supplierInfoForm.controls['main_raw_materials'].setValue(this.supplierDetails.main_raw_materials);\n if(supplierArray.length ==0)\n {\n \n this.supplierArray.push(this.initDetails()); \n }else\n {\n supplierArray.forEach(datas=>\n {\n this.supplierArray.push(this.initDetails());\n })\n }\n this.supplierInfoForm.controls['supplier_details'].setValue(supplierArray);\n }else{\n this.addSupplierDetails();\n }\n })\n \n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-supplier-info/pd-question-supplier-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionClientInfoPage 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-client-info',\n templateUrl: 'pd-question-client-info.html',\n})\nexport class PdQuestionClientInfoPage {\n\n users: any;\n paymentModeTextBox: any;\n m_paymentModeType: any;\n m_freqOfPurchase: any;\n FormId: any;\n pdDetails: any;\n clientForms:FormGroup;\n clientDataArray:FormArray;\n apiLoadFinish:boolean = false;\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.users = this.aws.getlocale();\n this.clientForms = this.fb.group({\n clientArray:this.fb.array([])\n });\n this.getClientDetails();\n this.getdropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\n }\n\n createClientItem()\n {\n return this.fb.group(\n {\n client_name: [''],\n contact_person: [''],\n mobile_number: [''],\n payment_mode: [''],\n per_of_immediate_advance_payment:[''],\n credit_period:[''],\n frequency_of_purchase: [''],\n freq_purchase_others_text_value: ['']\n })\n }\n selectedPM(e) {\n this.paymentModeTextBox = e.value;\n // this.f.supplier_details.controls.get('payment_mode_value');\n }\n public freqPurchaseTextBox: number;\n selectedFreqPurchase(e){\n this.freqPurchaseTextBox = e.value;\n }\n getdropdown()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(\n data => {\n this.m_freqOfPurchase = data['records'].filter(data => data.isactive == 1);\n },\n error => {\n // this.notifier.notify('warning', 'No Category Records Found.!');\n // this.m_assets_type = \"No Category Records Found.\";\n }\n )\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\n data => {\n this.m_paymentModeType = data['records'].filter(data => data.isactive == 1);\n },\n error => {\n // this.notifier.notify('warning', 'No Category Records Found.!');\n // this.m_assets_type = \"No Category Records Found.\";\n }\n )\n }\n addClientDetails()\n {\n this.clientDataArray = this.clientForms.get('clientArray') as FormArray;\n this.clientDataArray.push(this.createClientItem());\n }\n removeClientDetails(i)\n {\n \n if(this.clientDataArray.length==1)\n {\n this.clientForms.controls['clientArray'].reset();\n }else{\n this.clientDataArray = this.clientForms.get('clientArray') as FormArray; \n this.clientDataArray.removeAt(i);\n }\n }\n\n saveclientDetails(answerData)\n{\n let records:any ={};\n\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n \n records.client_details = answerData.clientArray;\n console.log('data',records); \n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n });\n\n \n}\n getClientDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n let clientData:any = [];\n this.qustCat.retiverForm(records).subscribe(\n data => {\n if(data['dataStatus']==true)\n {\n let clientDetails = data['records'];\n console.log(clientDetails);\n clientData = Object.keys(data['records'].client_details).map(function(key) {\n \n return clientDetails.client_details[key];\n });\n this.clientDataArray = this.clientForms.get('clientArray') as FormArray;\n \n if(clientData.length ==0)\n {\n \n this.clientDataArray.push(this.createClientItem()); \n }else\n {\n // console.log('else');\n clientData.forEach(datas=>\n {\n this.clientDataArray.push(this.createClientItem());\n })\n \n this.clientForms.controls['clientArray'].setValue(clientData);\n this.apiLoadFinish = true;\n }\n }else{\n\n this.addClientDetails();\n this.apiLoadFinish = true;\n }\n }\n);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-client-info/pd-question-client-info.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 = 242;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 242\n// module chunks = 0","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 = 285;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 285\n// module chunks = 0","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n/*\n Generated class for the ConstantsProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class ConstantsProvider {\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\n constructor(public http: HttpClient) {\n console.log('Hello ConstantsProvider Provider');\n }\n\n apiurl()\n {\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\n return testapiurl;\n }\n\n getcurrentDate()\n {\n var today = new Date();\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\n var time = today.getHours() + \":\" + today.getMinutes();\n let CurrentDate = date+\"T00:00\";\n return CurrentDate.toString();\n }\n \n convertNumberToWords(amount) {\n var words = new Array();\n words[0] = '';\n words[1] = 'One';\n words[2] = 'Two';\n words[3] = 'Three';\n words[4] = 'Four';\n words[5] = 'Five';\n words[6] = 'Six';\n words[7] = 'Seven';\n words[8] = 'Eight';\n words[9] = 'Nine';\n words[10] = 'Ten';\n words[11] = 'Eleven';\n words[12] = 'Twelve';\n words[13] = 'Thirteen';\n words[14] = 'Fourteen';\n words[15] = 'Fifteen';\n words[16] = 'Sixteen';\n words[17] = 'Seventeen';\n words[18] = 'Eighteen';\n words[19] = 'Nineteen';\n words[20] = 'Twenty';\n words[30] = 'Thirty';\n words[40] = 'Forty';\n words[50] = 'Fifty';\n words[60] = 'Sixty';\n words[70] = 'Seventy';\n words[80] = 'Eighty';\n words[90] = 'Ninety';\n amount = amount.toString();\n var atemp = amount.split(\".\");\n var number = atemp[0].split(\",\").join(\"\");\n var n_length = number.length;\n let value:any = \"\";\n var words_string = \"\";\n if (n_length <= 9) {\n var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\n var received_n_array = new Array();\n for (var i = 0; i < n_length; i++) {\n received_n_array[i] = number.substr(i, 1);\n }\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\n n_array[i] = received_n_array[j];\n }\n for (var i = 0, j = 1; i < 9; i++, j++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n if (n_array[i] == 1) {\n n_array[j] = 10 + parseInt(n_array[j]);\n n_array[i] = 0;\n }\n }\n }\n value = \"\";\n for (var i = 0; i < 9; i++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n value = n_array[i] * 10;\n } else {\n value = n_array[i];\n }\n if (value != 0) {\n words_string += words[value] + \" \";\n }\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Crores \";\n }\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Lakhs \";\n }\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Thousand \";\n }\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\n words_string += \"Hundred and \";\n } else if (i == 6 && value != 0) {\n words_string += \"Hundred \";\n }\n }\n words_string = words_string.split(\" \").join(\" \");\n }\n return words_string;\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/constants/constants.ts","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\nimport { AlertController } from 'ionic-angular';\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\n// import { GridPage } from '../grid/grid';\n\n\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\nimport { Camera } from '@ionic-native/camera';\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\n// import { CustomValidators } from 'ng2-validation';\n\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { PasswordPage } from '../password/password';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n\n\n@Component({\n selector: 'page-login',\n templateUrl: 'login.html',\n})\nexport class LoginPage {\n users: any;\nchangepass: FormGroup;\nemail: string;\npassword: string;\nnewpassword: any;\nconfirmPassword: any;\nchangePassword: any;\nstatus: Boolean = false;\nconfig: MatDialogConfig = {\n disableClose: false,\n width: '',\n height: '',\n position: {\n top: '',\n bottom: '',\n left: '',\n right: ''\n }\n};\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\n,public toast:ToastProvider) {\n \n}\nngOnInit(){\n //this.loggedInCheck();\n \n}\nionViewDidEnter(){\n this.Menu.enable(false);\n}\nionViewWillLeave(){\n this.Menu.enable(true);\n}\n/**\n* @param email\n* @param password\n* AWS login service\n*/\nlogin() {\n // console.log(this.email);\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\n let auth = { 'Username': this.email, 'Password': this.password };\n this.aws.dologin(auth).subscribe(awsres => {\n let userid = this.aws.getlocale();\n \n this.aws.getuserprofile(userid).subscribe(usersres=>\n {\n this.users = usersres; \n \n if (this.users.dataStatus == true) {\n \n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\n this.navCtrl.setRoot(PdListPage);\n \n }else\n {\n \n this.toast.pdTriggerappmessage('This App only for PD Officers');\n localStorage.clear();\n }\n\n \n }\n });\n }, err => {\n console.log(JSON.stringify(err.message));\n if (err.message == \"New password is required.\") {\n //console.log(\"if\");\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\n } else {\n console.log(JSON.stringify(err.message));\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\n\n }\n //alert(err.message);\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter Email or Password');\n }\n}\n/**\n * New password set\n * Defalut aws function \n * @param email password,newpassword\n */\n// newpassopen() {\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\n// dialogRef.afterClosed().subscribe(result => {\n// if (result !== undefined) {\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\n// console.log(auth);\n// this.aws.dologin(auth).subscribe(res => {\n// console.log(res);\n// // this.router.navigate(['/home']);\n// }, err => {\n// // alert(err.message);\n\n// })\n// }\n// });\n// }\n\nforgotopen() {\n this.status = true;\n}\n\n\nforgotpassword() {\n\n let auth = { 'Username': this.email };\n console.log(auth);\n // this.aws.userforgotpass(auth).subscribe(res => {\n // console.log(res);\n\n // })\n}\nloggedInCheck(){\n //alert(this.shared.isLoggedIn);\n if(this.shared.isLoggedIn){\n alert(\"if\");\n // this.router.navigate(['/home']);\n return false;\n }else{\n alert(\"else\");\n \n return true;\n }\n}\n\n}\n\n// ======================= END ==============================\n/**\n* New password Dialog\n*/\n\n// const newpassword = new FormControl('', Validators.required);\n// const confirmPassword = new FormControl('');\n\n// @Component({\n// selector: 'app-jazz-dialog',\n// template: `\n//
New Password Change.
\n\n// \n// \n \n// \n\n\n//
\n// \n// \n// \n\n// Passwords do not math.\n\n//
\n \n// \n \n \n// `\n// })\n// export class NewPasswordDialog {\n\n// newpassword: any = newpassword;\n// confirmPassword: any = confirmPassword;\n// jazzMessage = 'Jazzy jazz jazz';\n\n// constructor(public dialogRef: MatDialogRef) {\n\n// }\n\n\n// }\n\n\n\n// @Component({\n// selector: 'app-jazz-dialog',\n// template: `\n//
Forgot Password
\n\n// \n// \n \n// \n\n\n\n//
\n \n// \n \n \n// `\n// })\n// export class ForgotPass {\n\n// newpassword: any = newpassword;\n// confirmPassword: any = confirmPassword;\n// jazzMessage = 'Jazzy jazz jazz';\n\n// constructor(public dialogRef: MatDialogRef) {\n\n// }\n\n// }\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams,AlertController } from 'ionic-angular';\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { Platform } from '@angular/cdk/platform';\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \nimport { AuthPage } from '../auth/auth';\n\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { OtpPage } from '../otp/otp';\n\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\nimport {DatePipe } from '@angular/common';\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { observable, Observable } from 'rxjs';\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\nimport { ConstantsProvider } from '../../providers/constants/constants';\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\n\n/**\n * Generated class for the InputPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19);\n\n\n@Component({\n selector: 'page-input',\n templateUrl: 'input.html',\n})\n\n\nexport class InputPage {\n enableStartPD: boolean;\n diffInHours: number;\n updatestarted: any;\n updateinitiated: any;\n appdata: any;\n users: any;\n initiatedAccess: boolean = false;\n scheduleAccess: boolean = false;\napplicatentDetails:any;\nmaxdate :any;\npipe = new DatePipe('en-US');\nupdateStatus:any;\nscheduleDate:any;\nupdateSchedule:any;\nacceptedAccess:boolean = false;\nstartedAccess:boolean = false;\ntimeOut:any = 15*1000;\ntimeInterval:any;\ncurrentPosPDofficer:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,public constant:ConstantsProvider) {\n\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddThh:mm').toString();\n \n /***Header value pass */\n this.statusBar.styleDefault();\n \n this.statusBar.overlaysWebView(false);\n this.statusBar.backgroundColorByHexString('#db4437');\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\n \n \n this.applicatentDetails = this.navParams.get('pdDetails');\n \n this.getFullPD();\n \n \n if(this.applicatentDetails.pd_status == 'ALLOCATED')\n {\n this.acceptedAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\n {\n this.scheduleAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\n {\n \n this.initiatedAccess = true;\n }\n //console.log(this.initiatedAccess);\n if(this.applicatentDetails.pd_status == 'INITIATED')\n {\n this.startedAccess = true;\n this.getenableAccuracy();\n \n }\n this.users = this.aws.getlocale();\n }\n\n \n ionViewDidLoad() {\n console.log('ionViewDidLoad InputPage');\n }\n ionViewCanLeave()\n {\n clearInterval(this.timeInterval);\n }\n locationnavicate(address)\n {\n this.launchNavigator.navigate(address);\n }\n\n getFullPD()\n {\n let records = {'pdid':this.applicatentDetails.pd_id};\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n // console.log()\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\n console.log(diffInHours);\n if(diffInHours <=-4){\n this.enableStartPD=true;\n }\n else\n {\n this.enableStartPD = false;\n }\n } \n })\n \n }\n pdStatus(status,appdetails)\n {\n let data :any;\n \n if(status == 'BOUNCED')\n {\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateStatus = res;\n if(this.updateStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }else if(status == 'ACCEPTED')\n {\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateStatus = res;\n if(this.updateStatus.dataStatus == true)\n {\n this.getNewpdupdate();\n this.scheduleAccess = true;\n \n }else\n {\n this.scheduleAccess = false;\n }\n })\n }\n \n }\n\n pdschedule(scheduledate,appdetails)\n {\n \n let data :any;\n console.log(scheduledate);\n let schDate = scheduledate.slice(0,19).replace('T',' ');\n console.log(schDate);\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateSchedule = res;\n if(this.updateSchedule.dataStatus == true)\n {\n this.getNewpdupdate();\n this.initiatedAccess = true;\n }\n });\n }\n\n getenableAccuracy()\n {\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\n\n if(canRequest) {\n // the accuracy option will be ignored by iOS\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\n () => {\n this.getcurrentLocation();\n },\n error => alert('Error requesting location permissions'+JSON.stringify(error))\n );\n }\n \n });\n }\n getcurrentLocation() \n {\n let data:any;\n let options = {\n frequency: 3000, \n enableHighAccuracy: true,\n timeOut:1000,\n };\n \n this.timeInterval = setInterval(()=>{\n this.currentPosPDofficer = '';\n this.geolocation.getCurrentPosition(options).then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n if((resp as Geoposition).coords !=undefined){\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\n console.log(this.currentPosPDofficer);\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\n\n\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\n {\n // this.updateinitiated = res;\n // if(this.updateinitiated.dataStatus == true)\n // { \n // // this.getNewpdupdate();\n // // this.startedAccess = true;\n // }else\n // {\n // this.startedAccess = false;\n // }\n })\n }\n }).catch((error)=>{\n this.toast.pdTriggerappmessage(error.message);\n })\n \n },this.timeOut);\n }\n pdreschedule()\n {\n this.scheduleAccess = true;\n this.initiatedAccess = false;\n }\n pdinitiated(appdetails)\n { let data:any;\n\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\n\n if(canRequest) {\n // the accuracy option will be ignored by iOS\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\n () => {\n this.geolocation.getCurrentPosition().then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n \n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\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};\n\n\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateinitiated = res;\n if(this.updateinitiated.dataStatus == true)\n { \n this.getNewpdupdate();\n this.getcurrentLocation();\n this.startedAccess = true;\n }else\n {\n this.startedAccess = false;\n }\n })\n }).catch((error) => {\n console.log('Error getting location', error);\n });\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\n );\n }\n \n });\n }\n\n startPdDiscussion(appdetails)\n {\n let data:any;\n let alert = this.alertCtrl.create({\n title: 'Starting PD Officer',\n message: 'Do you want sure PD officer Start',\n buttons: [\n {\n text: 'No',\n role: 'cancel',\n handler: () => {\n \n // console.log('Cancel clicked');\n // this.toast.pdTriggerappmessage('')\n }\n },\n {\n text: 'YES',\n handler: () => {\n this.geolocation.getCurrentPosition().then((resp) => {\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n \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};\n console.log(data);\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {this.updatestarted = res;\n if(this.updatestarted.dataStatus == true)\n {\n clearInterval(this.timeInterval);\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\n }\n \n })\n // console.log('Buy clicked');\n })\n } \n }\n ]\n });\n alert.present();\n }\n getNewpdupdate()\n {\n this.acceptedAccess = false;\n this.initiatedAccess = false;\n this.scheduleAccess = false;\n this.startedAccess = false;\n this.pdDetails.getpddetails(this.users).subscribe(res=>\n {\n this.appdata = res;\n if(this.appdata.dataStatus == true)\n {\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\n {\n this.acceptedAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\n {\n this.scheduleAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\n {\n this.initiatedAccess = true;\n this.getFullPD();\n }\n\n if(this.applicatentDetails.pd_status == 'INITIATED')\n {\n this.startedAccess = true;\n }\n }\n })\n }\n\n camerasetup()\n {\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\n\nimport { CameraProvider } from '../../providers/common-provider/camera';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n/**\n * Generated class for the PdQuestionPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Component({\n selector: 'page-pd-question',\n templateUrl: 'pd-question.html',\n})\nexport class PdQuestionPage {\n \n docqustid: any;\n docName: any = [];\n docArray: any = [];\n imageArray:any = [];\n questionCate: any;\n qustCate: any;\n pdinfo: any;\n items: FormArray;\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\n\n SwipedTabsIndicator :any= null;\n tabTitleWidthArray :any= [];\n tabElementWidth_px :number= 50;\n screenWidth_px :number= 0;\n isRight :boolean= false;\n isLeft:boolean= false;\n tabs:any=[];\n \n questionDetails: any;\n questionAnswer:FormGroup;\n questionanotherData:FormGroup;\n userid:any;\n questionId:any;\n qustType:any;\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) {\n \n console.log('Width: ' + platform.width());\n this.screenWidth_px=platform.width();\n\n \n this.questionAnswer = this.fb.group(\n {\n answerDetails:[null],\n items:this.fb.array([]),\n })\n this.questionanotherData = this.fb.group(\n {\n questionRemarks:[null]\n })\n this.getpdQuestionDetails();\n this.userid = this.aws.getlocale();\n}\n\n ionViewDidLoad() {\n // console.log('ionViewDidLoad GoogleplaytabPage');\n }\n ionViewDidEnter() {\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\n for (let i in this.tabs)\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\n\n this.selectTab(0);\n }\n\n ionViewWillLeave() {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\n }\n\n scrollIndicatiorTab()\n {\n //console.log(1);\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\n // console.log(82,this.isLeft);\n // console.log(this.isLeft,this.isRight);\n // let answerDetails = this.questionAnswer.value;\n // console.log(answerDetails);\n // let remarks = this.questionanotherData.value;\n if(this.isLeft)\n {\n console.log(this.isLeft);\n //this.prev(answerDetails,remarks,this.questionDetails);\n }\n if(this.isRight)\n {\n console.log(this.isRight);\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\n }\n }\n\n selectTab(index)\n {\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n this.SwipedTabsSlider.slideTo(index);\n \n }\n\n calculateDistanceToSpnd(index)\n {\n var result=0;\n for (var _i = 0; _i < index; _i++) {\n result=result+this.tabTitleWidthArray[_i];\n }\n return result;\n }\n\n updateIndicatorPosition() {\n var index=this.SwipedTabsSlider.getActiveIndex();\n if( this.SwipedTabsSlider.length()==index)\n index=index-1;\n\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n \n }\n\n updateIndicatorPositionOnTouchEnd()\n {\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\n }\n\n animateIndicator($event)\n {\n \n this.isLeft=false;\n this.isRight=false;\n \n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\n if($event.progress < currentSliderCenterProgress)\n {\n this.isLeft=true;\n this.isRight=false;\n\n } if($event.progress > currentSliderCenterProgress)\n {\n this.isLeft=false;\n this.isRight=true;\n }\n\n if(this.SwipedTabsSlider.isEnd())\n this.isRight=false;\n\n if( this.SwipedTabsSlider.isBeginning())\n this.isLeft=false;\n\n if(this.isRight)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\n +'px,0,0)';\n\n if(this.isLeft)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\n +'px,0,0)';\n\n if(!this.isRight && !this.isLeft)\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\n \n \n }\n /**\n * Pd Discussion Qustion Load\n */\n getpdQuestionDetails()\n {\n this.questionDetails = this.navParams.get('questionDetails');\n console.log('157',this.questionDetails);\n this.pdinfo = this.navParams.get('pdDetails');\n console.log(this.pdinfo);\n for(let qustimage of this.questionDetails.questions)\n { \n if(qustimage.images !==undefined){\n for(let image of qustimage.images)\n {\n image.questionId = qustimage.fk_question_id; \n this.docArray.push(image);\n }\n for(let answers of qustimage.answers)\n {\n if(qustimage.fk_question_answertype == 3)\n {\n this.items = this.questionAnswer.get('items') as FormArray;\n \n this.items.push(this.getquestionAnswer(answers));\n \n \n }\n }\n console.log(this.questionAnswer.get('items')['controls']);\n }\n }\n console.log(this.docArray);\n for(let i=1;i<=this.questionDetails.questions_count;i++){\n let j = i.toString();\n this.tabs.push(j);\n }\n }\n\ngetquestionAnswer(answers)\n{\n return this.fb.group(\n {\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\n \"pd_answer_id\":answers.question_answer_id,\n \"pd_answer\": answers.answer,\n \"pd_answer_weightage\": answers.template_answer_weightage,\n \"fk_pd_id\":this.pdinfo.pd_id,\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\n \"checkbox\":(answers.isactive == null?false:true)\n \n \n })\n}\n // count = 0;\n getDocUpload(qustid)\n {\n //console.log('right',this.isRight,'left',this.isLeft);\n // this.docqustid = qustId;\n // console.log(this.count);\n // console.log(qustid);\n this.camera.getpicture().then(res=>\n {\n if(res !== undefined){\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\n }\n });\n // this.count++;\n }\n docnames(name,id,image,qustid)\n {\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\n }\n removeimage(index){\n //for(let i=0;i<=this.igrimage.length;i++){\n //if(this.igrimage[i]== this.igrimage[index]){\n this.docArray.splice(index,1);\n //}\n //}\n }\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\n {\n console.log(answerDetails);\n \n //console.log(this.docArray);\n for(let docs of this.docArray)\n {\n \n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\n console.log('if');\n // return true;\n }else\n {\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\n \n }\n }\n //console.log(answerDetails.answerDetails);\n if(answerDetails.answerDetails !=null){\n //alert('answers');\n console.log(this.imageArray);\n let pd_id = this.pdinfo.pd_id;\n let catid = questionDetails.fk_question_category_id;\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\n console.log(qt_id);\n let qut_id = qt_id.fk_question_id;\n let qustName = qt_id.question;\n let qut_weightage = qt_id.question_weightage;\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\n let pd_answer = answerDetails.answerDetails.answer;\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\n let pd_remarks = questionRemarks.questionRemarks;\n let updatedby:any='';\n let updateon:any='';\n let createdby:any='';\n let createon:any='';\n let pd_details_id:any='';\n let pd_detail_answer_id:any = '';\n if(qt_id.pd_detail_id ==null)\n {\n createdby = this.userid;\n createon = currentdate;\n pd_details_id = '';\n }else\n {\n pd_details_id = qt_id.pd_detail_id;\n updatedby = this.userid;\n updateon = currentdate;\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\n }\n let saveRecords = \n {\n \"pd_detail_id\": pd_details_id,\n\t\t\"fk_pd_id\": pd_id,\n\t\t\"fk_category_id\": catid,\n\t\t\"fk_question_id\": qut_id,\n\t\t\"pd_question\": qustName,\n \"pd_question_weightage\": qut_weightage,\n \"question_remark\": pd_remarks,\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\n \"pd_answer_id\":ans_id,\n\t\t\"pd_answer\": pd_answer,\n\t\t\"pd_answer_weightage\": qut_weightage,\n \"fk_pd_id\":pd_id,\n \"fk_pd_detail_id\":pd_details_id,\n\n }],\n\t\t\n\t\t\"fk_createdon\": createon,\n\t\t\"createdby\": createdby,\n\t\t\"fk_updatedon\": updateon,\n \"updatedby\": updatedby,\n \"images\": this.imageArray || \"\",\n \n\n };\n //console.log(this.docArray);\n \n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\n // {\n // this.qustCate = res;\n // if(this.qustCate.dataStatus == true){\n // this.SwipedTabsSlider.slideNext();\n // this.docArray = [];\n // this.getcategoryList(qt_id,pd_id);\n // console.log(this.docArray);\n // }\n // })\n // }else\n // {\n \n // this.SwipedTabsSlider.slideNext(); \n }\n } \n\n getcategoryList(qustinfo,pdId)\n {\n console.log(\"252\",qustinfo);\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\n };\n let answerData:any;\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\n {\n answerData = res;\n if(answerData.dataStatus == true)\n {\n \n // answerData = answerData.records;\n // console.log('303',answerData);\n // console.log('304',this.questionDetails);\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\n // eachquestion['answers'] = answerData.answers; \n \n // this.questionDetails =\n // console.log(this.questionDetails);\n // this.imageArray = answerData.images;\n // for(let docs of this.imageArray)\n // {\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\n // }\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\n }\n });\n }\n prev(answerDetails,questionRemarks,questionDetails) {\n //console.log(this.docArray);\n for(let docs of this.docArray)\n {\n \n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\n console.log('if');\n // return true;\n }else\n {\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\n \n }\n }\n //console.log(answerDetails.answerDetails);\n if(answerDetails.answerDetails !=null){\n //alert('answers');\n console.log(this.imageArray);\n let pd_id = this.pdinfo.pd_id;\n let catid = questionDetails.fk_question_category_id;\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\n console.log(qt_id);\n let qut_id = qt_id.fk_question_id;\n let qustName = qt_id.question;\n let qut_weightage = qt_id.question_weightage;\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\n let pd_answer = answerDetails.answerDetails.answer;\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\n let pd_remarks = questionRemarks.questionRemarks;\n let updatedby:any='';\n let updateon:any='';\n let createdby:any='';\n let createon:any='';\n let pd_details_id:any='';\n let pd_detail_answer_id:any = '';\n if(qt_id.pd_detail_id ==null)\n {\n createdby = this.userid;\n createon = currentdate;\n pd_details_id = '';\n }else\n {\n pd_details_id = qt_id.pd_detail_id;\n updatedby = this.userid;\n updateon = currentdate;\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\n }\n let saveRecords = \n {\n \"pd_detail_id\": pd_details_id,\n \"fk_pd_id\": pd_id,\n \"fk_category_id\": catid,\n \"fk_question_id\": qut_id,\n \"pd_question\": qustName,\n \"pd_question_weightage\": qut_weightage,\n \"question_remark\": pd_remarks,\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\n \"pd_answer_id\":ans_id,\n \"pd_answer\": pd_answer,\n \"pd_answer_weightage\": qut_weightage,\n \"fk_pd_id\":pd_id,\n \"fk_pd_detail_id\":pd_details_id,\n\n }],\n \n \"fk_createdon\": createon,\n \"createdby\": createdby,\n \"fk_updatedon\": updateon,\n \"updatedby\": updatedby,\n \"images\": this.imageArray || \"\",\n \n\n };\n //console.log(this.docArray);\n \n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\n {\n this.qustCate = res;\n if(this.qustCate.dataStatus == true){\n this.SwipedTabsSlider.slidePrev();\n this.docArray = [];\n this.getcategoryList(qt_id,pd_id);\n console.log(this.docArray);\n }\n })\n }else{\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\n this.SwipedTabsSlider.slidePrev();\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { Observable } from 'rxjs';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n/**\n * Generated class for the PdQuestionAddressPage 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-address',\n templateUrl: 'pd-question-address.html',\n})\nexport class PdQuestionAddressPage {\n\n // additional_premises: any=[];\n // bussiness_address_type: any=[];\n // formPremisesCityArray: any=[];\n // tempArr: any[];\n // cityData: any = [];\n // PremisesLabel: any=[];\n // formPremisesArray: any=[];\n // z:number = 0;\n \n // PremisesOtherFlag: boolean;\n CITY: any;\n residence: any;\n FormId: any;\n getaddressDetails: any;\n users: any;\n address: string;\n custBehaviour: any;\n cmtlocality: any;\n\n placeholderName : any = 'Was any business activity seen at the Address Type during PD visit?';\n premisesRentAmtInwords:any=[];\n rentAmtInwords : any ;\n\n locality: any = [];\n pdlocation: any = [];\n pdDetails: any;\n questionDetails: any;\n pdQuestionAddress:FormGroup;\n addressTypes:any=[];\n addressRemarksAccess:boolean = false;\n items:FormArray;\n // counts:number = 1;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public alerCtrl:AlertController,public constant:ConstantsProvider) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n \n this.pdDetails = this.navParams.get('pdDetails');\n \n this.FormId = this.navParams.get('FormId');\n\n this.users = this.aws.getlocale();\n\n if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\n this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\n }else{\n this.address = this.pdDetails.addressline1+', - , -'; \n }\n \n this.getdropdownlist();\n\n this.pdQuestionAddress = this.fb.group(\n {\n address: [this.address],\n address_type: [null],\n address_type_others:[null],\n locality: [null],\n locality_others: [null],\n pd_location: [null],\n comment_locality: [null],\n other_comment_locality : [null],\n //customer_behaviour: [null],\n // neighbourhood: this.fb.array([]),\n address_form_remark:[null],\n address_ownership:[null],\n other_ownership:[null],\n rent_amt:[null],\n other_premises_bussiness_activity : [null],\n bussiness_activity_remark:[null],\n bussiness_activity:[null],\n bussiness_address_type:[null],\n bussiness_address_type_others:[null], \n business_years:[null],\n business_month:[null],\n additional_address_units: this.fb.array([]),\n \n });\n this.getaddressForm(); \n }\n\n ionViewDidLoad() {\n //this.addUnits();\n console.log('ionViewDidLoad PdQuestionAddressPage');\n }\n\n ionViewWillLeave()\n {\n \n\n // let method = this.alerCtrl.create({\t\t\t\n // message: 'Do You Want Save',\n // buttons: [\n // {\n // text: 'Save',\n // cssClass: 'method-color',\n // handler: () => {\n // console.log('Save clicked');\n // }\n // },\n // {\n // text: 'Cancel',\n // cssClass: 'method-color',\n // handler: () => {\n // console.log('Cancel clicked');\n // this.navCtrl.pop(); \n // }\n // }\n // ]\n // });\n // method.present()\n \n \n // console.log(this.pdQuestionAddress.dirty);\n }\n\n\n getdropdownlist()\n {\n // this.addressTypes = [\n \n // {'id':'Office','Name':'Office'},\n // {'id':'Clinic','Name':'Clinic'},\n // {'id':'Factory','Name':'Factory'},\n // {'id':'Warehouse','Name':'Warehouse'},\n // {'id':'Shop','Name':'Shop'},\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\n // {'id':'Residence','Name':'Residence'},\n // {'id':'OTHERS','Name':'OTHERS'}\n // ];\n\n \n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \n }\n \n })\n \n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\n {\n this.pdlocation = res;\n if(this.pdlocation.dataStatus == true)\n {\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\n }\n })\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\n {\n this.cmtlocality = res;\n if(this.cmtlocality.dataStatus ==true)\n {\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\n }\n });\n\n \n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\n // {\n // this.custBehaviour = res;\n // if(this.custBehaviour.dataStatus == true)\n // {\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\n // }\n // })\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.locality = res['records'].filter(loc=>loc.isactive==1);\n }\n })\n\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.residence = res['records'].filter(red=>red.isactive==1);\n }\n })\n this.qustCat.getcommondrop('CITY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.CITY = res['records'].filter(red=>red.isactive==1);\n }\n })\n \n }\n\n // checkaddress(value)\n // {\n // // console.log(value);\n // if(value==\"OTHERS\")\n // {\n // this.addressRemarksAccess = true;\n // }else\n // {\n // this.addressRemarksAccess = false;\n // }\n // }\n\n // createItem(): FormGroup {\n // return this.fb.group({\n // name: [null],\n // do_you_know: [null],\n // how_long: [null],\n // is_owner: [null],\n // });\n // };\n \n createUnits(val): FormGroup {\n if(val==null){\n return this.fb.group({\n no_of_additional_units: [''],\n premises_type: [''],\n premises_type_others: [''],\n premises_city: [''],\n // premises_ownership: [''],\n //premises_ownership_others: [''],\n //premises_rent_amt:[''],\n premises_remarks: [''],\n });\n }\n else{\n \n return this.fb.group({\n no_of_additional_units: [val.no_of_additional_units],\n premises_type: [val.premises_type],\n premises_type_others: [val.premises_type_others],\n premises_city: [val.premises_city],\n // premises_ownership: [val.premises_ownership],\n // premises_ownership_others: [val.other_ownership],\n // premises_rent_amt:[val.rent_amt],\n premises_remarks: [val.premises_remarks],\n });\n \n }\n }\n\n addUnits() {\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\n this.items.push(this.createUnits(null));\n}\n\n\n removeUnits(i){\n this.items.removeAt(i);\n }\n\n ConvertMonthintoYear(e){\n \n let business_year = this.pdQuestionAddress.controls.business_years.value;\n\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\n \n }\n /** On Key Press Event For Numbers */\n keyPress(event: any) {\n const pattern = /[0-9]/;\n \n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n inWords(e,i){ \n console.log(e);\n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n \n }\n\n inWordsForRent(e){\n //console.log(e);\n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\n }\n\n selectedAddressType(e: any){\n this.placeholderName = 'Was any business activity seen at the '+e+' during PD visit?';\n }\n\n\n savepdQuestion(answerData)\n {\n console.log(answerData);\n let records: any = {};\n records.address = answerData.address;\n if(answerData.address_type_others != null){\n records.address_type_others = answerData.address_type_others;\n }\n records.address_type = answerData.address_type;\n records.locality = answerData.locality;\n \n if(answerData.locality == 7)\n { records.locality_others = answerData.locality_others;\n }else{ records.locality_others = null; }\n records.pd_location = answerData.pd_location;\n records.comment_locality = answerData.comment_locality;\n records.other_comment_locality = answerData.other_comment_locality;\n // records.customer_behaviour = answerData.customer_behaviour;\n // records.neighbourhood = answerData.neighbourhood;\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.address_form_remark = answerData.address_form_remark;\n records.address_ownership = answerData.address_ownership;\n records.other_ownership = answerData.other_ownership;\n records.rent_amt = answerData.rent_amt;\n records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\n records.bussiness_activity = answerData.bussiness_activity;\n records.bussiness_activity_remark = answerData.bussiness_activity_remark;\n records.business_years = answerData.business_years;\n records.business_month = answerData.business_month;\n console.log(\"Additional Units\",this.pdQuestionAddress.controls.additional_address_units.value);\n console.log(\"item\",this.items)\n records.additional_address_units = answerData.additional_address_units;\n \n \n // console.log('params', records);\n this.qustCat.saveForm(records).subscribe(data => {\n // console.log('data', data);\n // let params: any = {};\n // params.pd_id = '250';\n // params.pd_form_id = '250';\n // console.log('param', params);\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n\n });\n }\n\n getaddressForm()\n {\n \n let res:any;\n\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n this.getaddressDetails = res;\n \n if(this.getaddressDetails.dataStatus ==true){\n \n this.getaddressDetails = this.getaddressDetails.records;\n if(this.getaddressDetails.additional_address_units != null){\n var result = Object.keys(res['records'].additional_address_units).map(function(key) {\n // return res['records'].additional_address_units[key];\n //for slicing the automatically created\n \n });\n //this.removeUnits(0);\n }\n\n let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\n\n this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\n this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\n this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\n let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\n this.selectedAddressType(selectedAddressType);\n\n if(this.getaddressDetails.address_type != null) {\n this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\n this.selectedAddressType(this.getaddressDetails.address_type_others);\n }\n\n this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\n\n if(this.getaddressDetails.comment_locality != null){\n this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\n }\n // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\n this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\n if(this.getaddressDetails.locality != null ){\n this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\n }\n this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\n this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\n this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\n this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\n if(this.getaddressDetails.rent_amt != null){\n this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\n }\n this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\n if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\n this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\n } \n else{\n this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\n }\n this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\n\n this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\n this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\n \n \n console.log(this.getaddressDetails.additional_address_units);\n\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\n \n if (result.length == 0) {\n console.log(\"0\")\n control.push(this.createUnits(null));\n } else {*/\n console.log(\"1\",this.getaddressDetails.additional_address_units)\n //for(let val of this.getaddressDetails.additional_address_units){\n //control.push(this.createUnits(val));\n //}\n //result.forEach((datas,index) => {\n // console.log(datas);\n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\n \n //});\n \n //}\n \n // }\n\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionEmpInfoPage 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-emp-info',\n templateUrl: 'pd-question-emp-info.html',\n})\nexport class PdQuestionEmpInfoPage {\n questionDetails: any;\n pdDetails: any;\n empInfo:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n\n this.empInfo = this.fb.group(\n {\n nameOfEmp:[null],\n yearWithEmp:[null],\n empMet:[null],\n designationOfEmp:[null],\n salaryConfirm:[null],\n actualSalary:[null],\n attRegisterSeen:[null],\n salaryRegisterSeen:[null]\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\n }\n\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormArray,FormBuilder } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionCurrentLoansPage 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-current-loans',\n templateUrl: 'pd-question-current-loans.html',\n})\nexport class PdQuestionCurrentLoansPage {\n users: any;\n pdDetails: any;\n questionDetails: any;\n currentLoans:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider) {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n this.currentLoans = this.fb.group(\n {\n existing_loan: [null],\n currentloan_remarks:[null],\n loan_details: this.fb.array([])\n });\n this.getcurrentLoans()\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n }\n exitsCheck(val)\n { \n console.log(val);\n if(val ==\"Yes\")\n {\n \n this.addLoanDetails();\n }\n\n }\n createLoanDetail() {\n return this.fb.group({\n loan_amount: [null],\n emi: [null],\n loan_type: [null],\n lender: [null],\n original_tenure: [null],\n current_balance_tenure: [null],\n });\n}\naddLoanDetails() {\n const control = this.currentLoans.controls['loan_details'];\n control.push(this.createLoanDetail());\n}\ndeleteLoanDetails(index) {\n const control = this.currentLoans.controls['loan_details'];\n control.removeAt(index);\n}\n\nsubmitCurrentloan(answerData) {\n console.log(answerData);\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = '336';\n records.fk_createdby = this.users;\n records.existing_loan = answerData.existing_loan;\n records.loan_details = answerData.loan_details;\n records.currentloan_remarks = answerData.currentloan_remarks;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n });\n}\n getcurrentLoans()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'336'};\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n var result = Object.keys(res['records'].loan_details).map(function(key) {\n //console.log(res);\n return res['records'].loan_details[key];\n \n });\n let currentLoanDetails = res['records'];\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\n const control = this.currentLoans.controls['loan_details'];\n \n if(result.length ==0)\n {\n control.push(this.createLoanDetail());\n }else\n {\n result.forEach(datas=>\n {\n control.push(this.createLoanDetail());\n })\n this.currentLoans.controls['loan_details'].setValue(result);\n }\n }\n })\n \n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionLoansPage 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-loans',\n templateUrl: 'pd-question-loans.html',\n})\nexport class PdQuestionLoansPage {\n enduse: any = [];\n propertyType: any;\n mortagetypeAccess: boolean;\n mortageAccess: boolean = false;\n topUpAmtInWords: any;\n ownContributionInWords: any;\n valAsPerAgmtInWords: any;\n balTxrfAmtInWords: any;\n loanAmtInWords: any;\n\n emiAmtInWords:any;\n emvAmtInWords:any;\n\n m_btLenderList: any;\n applicants: any;\n m_endUseofLoad: any;\n m_sourceofamount: any;\n m_mortageTypeProperty: any;\n m_statusofCunstruction: any;\n ownerNames: any=[];\n isOtherPurpose: boolean=false;\n endUserList: any=[];\n pdDetails: any;\n FormId: any;\n productAbbr:any;\n loanDetailsForm: FormGroup;\n users: any;\n mergeCompanyApplicant:any=[];\n existCompanyList:any;\n\n\n \n isOtherSource: boolean = false;\n isPLSource: boolean = false;\n\n sourceList:any=[];\n pdid:number;\n m_endUseForLoan:any;\n\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n console.log(this.pdDetails);\n this.applicants = this.pdDetails.applicat_details\n this.users = this.aws.getlocale();\n this.pdid=this.pdDetails.pd_id;\n this.getDropdown();\n this.loanDetailsForm = this.fb.group({\n loan_amount: [this.pdDetails.loan_amount],\n end_use: ['', Validators.compose([Validators.required])],\n end_use_other: [''],\n is_transfer: ['', Validators.compose([Validators.required])],\n //is_topup: ['', Validators.compose([Validators.required])],\n is_topup: [''],\n balance_transfer_amount: [''],\n topup_amount: [''],\n lender: [''],\n other_bt_lender : [''],\n own_contribution: ['', Validators.compose([Validators.required])],\n source: [''],\n personal_loan_source:[''],\n other_source:[''],\n //lender_name_type: [''],\n emi_level: ['', Validators.compose([Validators.required])],\n property_type: ['', Validators.compose([Validators.required])],\n property_type_others:[''],\n owner_name: ['', Validators.compose([Validators.required])],\n construction_status: ['', Validators.compose([Validators.required])],\n percentage_of_construction : [''],\n emv_per_customer: ['', Validators.compose([Validators.required])],\n //value_per_agreement: ['', Validators.compose([Validators.required])],\n loandetails_remarks: ['', Validators.compose([Validators.required])],\n });\n \n console.log(75,this.pdDetails.product_abbr);\n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\n {\n this.mortagetypeAccess = true;\n }else\n {\n this.mortagetypeAccess = false;\n }\n console.log(this.mortagetypeAccess);\n \n this.getLoanDetails();\n \n }\n\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionLoansPage');\n }\n\n\n getDropdown() {\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\n data => {\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\n data => {\n if(data['dataStatus']==true){\n // console.log(data['records']);\n let that = this;\n this.m_mortageTypeProperty = data['records'].filter(\n function(data){\n \n if(that.pdDetails.product_abbr !=\"LAP\" && data.group_name==that.pdDetails.product_abbr && data.isactive==1 )\n {\n return data;\n \n }else if(that.pdDetails.product_abbr ==\"LAP\" && data.sub_group_name==that.pdDetails.subproduct_name)\n {\n return data;\n }else\n {\n return ;\n }\n });\n console.log(this.m_mortageTypeProperty);\n // this.mortage_type(this.propertyType);\n }\n });\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\n data => {\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\n });\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\n subdata => {\n if(subdata['dataStatus']==true){\n let that = this;\n this.m_endUseofLoad = subdata['records'].filter(\n function(data)\n {\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\n {\n return data;\n }\n });\n this.endUserChange(this.enduse);\n }\n });\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n })\n this.qustCat.getEndUseForLoan(this.pdid).subscribe(data=>{\n \n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\n \n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n console.log(\"Entering company List\")\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log(\"company List\",data['records'])\n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n }\n })\n \n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n \n \n console.log(\"complete\")\n \n }\n\n selectedBalancesTransferChanges(event: any){\n // console.log('First Time',event);\n // console.log('First Time Value',event.value);\n if(event.value == 'no') { \n this.loanDetailsForm.controls['is_topup'].clearValidators();\n this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\n // console.log('no',event.value);\n }\n else if(event.value == 'yes'){\n this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\n this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\n // console.log('yes',event.value);\n }\n\n}\n \n mortage_type(mortage_value)\n {\n \n console.log(mortage_value);\n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\n console.log(mortagetypes);\n var property_name=mortagetypes.property_name\n if(property_name=='Others (Please Specify)')\n {\n this.mortageAccess = true;\n }else\n {\n this.mortageAccess = false; \n }\n \n \n }\n compareObjects(o1: any, o2: any){\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n \n }\n\n\n loanCalc()\n {\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\n let loanAmount = this.loanDetailsForm.value.loan_amount;\n let topupAmt ;\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\n {\n topupAmt = loanAmount - BtAmount;\n }\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\n }\n endUserChange(event) {\n console.log(\"change\",event);\n //this.endUserList = [];\n event.forEach(option => {\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\n this.endUserList.push({ end_use: option });\n console.log(201,othresData);\n if (othresData == 'others') {\n \n this.isOtherPurpose = true;\n return ;\n }else\n {\n //console.log('else');\n this.isOtherPurpose = false;\n \n }\n });\n console.log(this.endUserList);\n }\n ownerNameChange(event) {\n this.ownerNames = [];\n event.value.forEach(option => {\n this.ownerNames.push({ owner_name: option });\n });\n }\n sourceChange(evt) {\n // console.log('source Changed Values',evt);\n\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\n\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\n\n this.sourceList = [];\n\n evt.forEach(option => {\n this.sourceList.push({source: option});\n });\n}\n inWords(e,flag:number){\n switch(flag){\n case 1 :\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 2 : \n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 3 :\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 4 :\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 5 :\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 6:\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\n break;\n case 7:\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\n default:\n break;\n }\n}\n submitLoanDetails() {\n // console.log(answerData);\n // console.log(this.endUserList);\n // if(this.loanDetailsForm.valid){\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\n \n // get end user final group data\n let dataEnd_user_data = [];\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\n dataEnd_user_data.push({end_use: element})\n });\n records.end_use_group = dataEnd_user_data;\n\n if (this.isOtherPurpose) {\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\n }\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\n records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\n }\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\n \n let dataSource_list=[];\n if(this.loanDetailsForm.controls['source'].value != '')\n {\n this.loanDetailsForm.controls['source'].value.forEach(element => {\n dataSource_list.push({sources : element})\n });\n }\n records.source_group=dataSource_list;\n \n }\n if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\n }\n if (this.loanDetailsForm.controls['is_topup'].value == 'yes' || this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\n records.lender = this.loanDetailsForm.controls['lender'].value;\n }\n if(this.loanDetailsForm.controls['lender'].value == 3){\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\n }\n \n \n\n \n /* records.source = this.loanDetailsForm.controls['source'].value;\n if (this.loanDetailsForm.controls['source'].value == 'other') {\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\n }*/\n if(this.isOtherSource){\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\n }\n if(this.isPLSource){\n records.personal_loan_source=this.loanDetailsForm.controls['personal_loan_source'].value;\n }\n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\n };\n // records.owner_name_group = this.ownerNames;\n // console.log(this.loanDetailsForm.controls['owner_name'].value);\n let dataOwner_name = [];\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\n dataOwner_name.push({owner_name: element})\n });\n records.owner_name_group = dataOwner_name;\n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\n records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.notifier.notify('success', 'Saved Successfully.');\n })\n // }else\n // {\n // this.toast.pdTriggerappmessage('Enter The All Field');\n // }\n }\n\n getLoanDetails() {\n console.log(\"Entering LoanDetails GEt\");\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\n\n this.qustCat.retiverForm(records).subscribe(value => {\n console.log('value', value);\n if (value['dataStatus'] == true) {\n let loanDetails = value['records'];\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\n return loanDetails.end_use_group[key];\n });\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\n return loanDetails.owner_name_group[key];\n });\n\n this.enduse\n result.forEach(val => {\n this.enduse.push(val.end_use);\n this.endUserList.push({'end_use':val.end_use});\n });\n let ownername: any = [];\n owner.forEach(val => {\n ownername.push(val.owner_name);\n this.ownerNames.push({'end_use':val.end_use});\n });\n // console.log('enduse', enduse);\n console.log('ownername', loanDetails);\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\n this.endUserChange(this.enduse);\n\n if (loanDetails.end_use_other!='') {\n //this.endUserChange(this.enduse);\n // this.isOtherPurpose=true;\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\n }\n \n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\n if (loanDetails.balance_transfer_amount) {\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \n }\n if (loanDetails.topup_amount) {\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \n }\n this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\n if (loanDetails.balance_transfer_amount) {\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\n }\n if (loanDetails.topup_amount) {\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\n }\n if (loanDetails.lender) {\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\n }\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\n if(loanDetails.own_contribution)\n {\n this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\n }\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\n if(loanDetails.is_transfer!='yes')\n {\n let source=Object.keys(loanDetails.source_group).map(function(key){\n return loanDetails.source_group[key];\n });\n let dbsourcelist:any=[];\n source.forEach(val=>{\n dbsourcelist.push(val.sources);\n });\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\n this.sourceChange(dbsourcelist);\n if(loanDetails.other_source) {\n // this.isOtherSource = true;\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\n }\n \n if(loanDetails.personal_loan_source) {\n // this.isPLSource = true;\n this.loanDetailsForm.controls['personal_loan_source'].setValue(loanDetails.personal_loan_source);\n }\n }\n\n/* if (loanDetails.lender_name_type) {\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\n }*/\n \n if(loanDetails.emi_level){\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\n }\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\n this.propertyType =loanDetails.property_type;\n if(loanDetails.property_type_others!=''){\n this.mortageAccess=true;\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \n // this.mortage_type(loanDetails.property_type_others);\n \n }\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\n if(loanDetails.emv_per_customer)\n {\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\n }\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\n } else {\n\n }\n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionBankingPage 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-banking',\n templateUrl: 'pd-question-banking.html',\n // changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class PdQuestionBankingPage {\n \n m_btLenderList: any;\n applicants: any ;\n salaryField: boolean;\n FormId: any;\n accountType: any;\n users: any;\n bankDetails:FormGroup;\n pdDetails: any;\n pdid:any;\n bankitems:FormArray;\n\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n limitCaseFlag: any=[];\n amtInwords: any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons: ConstantsProvider) {\n //this.applicants.pop();\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \n \n console.log(this.pdDetails);\n // alert();\n this.users = this.aws.getlocale();\n this.bankDetails = this.fb.group(\n {\n bankitems:this.fb.array([]),\n banking_form_remark:[null],\n });\n \n \n \n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\n \n \n this.getdropdown();\n this.retiveBankDetails();\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBankingPage');\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.accountType=res['records'];\n }\n });\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n }\n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n console.log(\"Entering company List\")\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log(\"company List\",data['records'])\n }\n // let modifyCompanyList : any=[];\n // if(this.existCompanyList.length>0){\n // modifyCompanyList = this.existCompanyList.map(element => {\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n // });\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n // console.log(\"Company applicant\",this.mergeCompanyApplicant)\n //}\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n console.log(this.mergeCompanyApplicant);\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n }\n selectedAccTypeChanges(event: any,i){\n \n if(event == 2 || event == 1) {\n this.limitCaseFlag[i] = false;\n \n // const control = this.bankingForm.controls['itemRows'];\n \n // control.controls[0].get('limit').clearValidators();\n // control.controls[0].get('limit').updateValueAndValidity();\n \n }\n else{\n this.limitCaseFlag[i] = true;\n }\n\n}\n\n/** Amount InWords */\ninWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n}\n\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e){\n //console.log(itemrow);\n \n let year = itemrow.controls.vintage_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\n \n}\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n createBankItem(name) {\n \n return this.fb.group({\n applicant_name: [''],\n bank_name: [''],\n account_type: [''],\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\n limit: [''],\n other_bank:[''],\n other_applicant:[''],\n //is_main: [''],\n vintage_year: [''],\n vintage_month: [''],\n \n });\n\n }\n \n addBankDetails() {\n // if(this.pd.valid){\n \n // if(this.items.length !=0)\n // {\n // this.neighbourAccess = true;\n // }\n \n \n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n this.bankitems.push(this.createBankItem(''));\n \n //console.log(this.pdQuestionAddress.get('items')['controls']);\n \n }\n\n addmoreBankDetils()\n {\n \n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n this.bankitems.push(this.createBankItem('')); \n }\n\n removebank(i){\n\n if(this.bankitems.length==1){\n this.bankitems.reset();\n }\n else\n this.bankitems.removeAt(i);\n }\n\n savepdBank(answerData)\n {\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.banking_details = answerData.bankitems;\n records.banking_form_remark = answerData.banking_form_remark;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n //console.log(answerData);\n }\n\n retiveBankDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n var result = Object.keys(res['records'].banking_details).map(function(key) {\n return res['records'].banking_details[key];\n });\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n if(result.length ==0){\n console.log(\"Data=0\")\n this.bankitems.push(this.createBankItem(''))\n }else\n {\n \n console.log(\"Data>0\")\n \n \n result.forEach((datas,index)=>\n {\n this.selectedAccTypeChanges(+datas.account_type,index)\n if(datas.limit != ''){\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \n } \n // this.selectedBorrower(datas.applicant_name,index);\n this.bankitems.push(this.createBankItem(''));\n })\n this.bankDetails.controls['bankitems'].setValue(result);\n }\n \n \n }else\n {\n console.log(\"Data False\")\n this.addBankDetails();\n }\n });\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-banking/pd-question-banking.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionFamilyPage 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-family',\n templateUrl: 'pd-question-family.html',\n})\nexport class PdQuestionFamilyPage {\n\n users: any;\n pdDetails: any;\n occupationData: any;\n membersitem: FormArray;\n items: FormArray;\n relationData: any;\n familyForm: FormGroup;\n filteredStates: any = [\n 'Co-Applicant 1 to x',\n 'Accountant',\n 'Manager',\n 'Relative of the applicant',\n 'Friend of the Applicant',\n 'DSA',\n 'Other'\n];\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n this.getFamilyData();\n this.familyForm = this.fb.group({\n person: [null],\n personOther: [null],\n members: [null],\n residence: [null],\n years: [null],\n ownership: [null],\n ownershipOther: [null],\n rent: [null],\n family_details_form_remark:[null],\n earningMembers: this.fb.array([]),\n nonEarningMembers: this.fb.array([])\n });\n this.getRelation();\n this.getoccupation();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFamilyPage');\n }\n getRelation() {\n let master_name = 'RELATIONSHIPS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', data);\n \n if(data['dataStatus'] == true){\n this.relationData = data['records'].filter(rel=>rel.isactive ==1);\n }\n });\n \n}\ngetoccupation()\n{\n let master_name = 'OCCUPATIONMEMBERS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', data);\n if(data['dataStatus']==true){\n this.occupationData = data['records'].filter(occ=>occ.isactive ==1);\n }\n });\n}\n createMembers(): FormGroup {\n return this.fb.group({\n relation: [null],\n segment: [null],\n income: [null],\n employerName: [null],\n });\n}\n\naddearningMembers()\n{\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.items.push(this.createMembers());\n}\n\ndeleteEarningMembers(i)\n{\n this.items.removeAt(i);\n}\ncreateNonMembers(): FormGroup {\n return this.fb.group({\n relationship: [null],\n occupation: [null],\n retired: [null],\n });\n}\naddMembers()\n{\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n this.membersitem.push(this.createNonMembers());\n}\ndeleteMembers(i)\n{\n this.membersitem.removeAt(i);\n}\n\nsavepdfamily(answerData)\n{\n console.log(answerData);\n let records: any = {};\n records.no_of_years = answerData.years;\n if (answerData.ownership == 'Others') {\n records.ownership = answerData.ownershipOther;\n } else {\n records.ownership = answerData.ownership;\n }\n records.residence = answerData.residence;\n if (answerData.ownership == 'Rented') {\n records.what_rent = answerData.rent;\n }\n if (answerData.person == 'Other') {\n records.person_met = answerData.personOther.value;\n } else {\n records.person_met = answerData.person;\n }\n records.family_members = answerData.members;\n records.earning_members = answerData.earningMembers;\n records.non_earning_members = answerData.nonEarningMembers;\n records.pdid = this.pdDetails.pd_id;\n records.formid = '335';\n records.fk_createdby = this.users;\n records.family_details_form_remark = answerData.family_details_form_remark;\n console.log('params', records);\n this.qustCat.saveForm(records).subscribe(res=>\n {\n //console.log(res);\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n}\n\n getFamilyData()\n {\n let earning:any = [];\n let non_earning:any = [];\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'335'}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n non_earning = Object.keys(res['records'].non_earning_members).map(function(key) {\n\n return res['records'].non_earning_members[key];\n });\n console.log(non_earning);\n this.familyForm.controls['family_details_form_remark'].setValue(res['records'].family_details_form_remark);\n earning = Object.keys(res['records'].earning_members).map(function(key) {\n return res['records'].earning_members[key];\n });\n console.log(earning);\n let familyDetails = res['records'];\n this.familyForm.controls['person'].setValue(familyDetails.person_met);\n this.familyForm.controls['personOther'].setValue(familyDetails.personOther);\n this.familyForm.controls['members'].setValue(familyDetails.family_members);\n this.familyForm.controls['residence'].setValue(familyDetails.residence);\n this.familyForm.controls['years'].setValue(familyDetails.no_of_years);\n this.familyForm.controls['ownership'].setValue(familyDetails.ownership);\n this.familyForm.controls['ownershipOther'].setValue(familyDetails.ownershipOther);\n this.familyForm.controls['rent'].setValue(familyDetails.rent);\n // this.familyForm.controls['earningMembers'].setValue(earning);\n // for(this.)\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n if(earning.length==0)\n {\n this.items.push(this.createMembers());\n }else\n {\n earning.forEach(datas => {\n this.items.push(this.createMembers());\n });\n }\n this.familyForm.controls['earningMembers'].setValue(earning);\n\n if(non_earning.length==0)\n {\n this.membersitem.push(this.createNonMembers()); \n }else\n {\n non_earning.forEach(datas => {\n this.membersitem.push(this.createNonMembers());\n \n });\n }\n this.familyForm.controls['nonEarningMembers'].setValue(non_earning);\n \n // for(let earningDetails of earning){\n // this.items = this.familyForm.get('earningMembers') as FormArray;\n // this.items.push(earning);\n // }\n\n }\n }) \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-family/pd-question-family.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport {ConstantsProvider} from '../../../providers/constants/constants'\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssestsPage 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-assests',\n templateUrl: 'pd-question-assests.html',\n})\nexport class PdQuestionAssestsPage {\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\n {'value': \"no\",'viewValue': \"No\"},\n {'value': \"nan\",'viewValue': \"NA\"}]\n m_relation: any;\n applicants: any ;\n users: any;\n FormId: any;\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\n m_investmentType: { 'id': string; 'name': string; }[];\n m_insuranceType: { 'id': string; 'name': string; }[];\n m_propertyType: { 'id': string; 'name': string; }[];\n m_assets_type: { 'id': string; 'name': string; }[];\n pdDetails: any;\n assetItem: any;\n items:FormArray;\n AssetsDetailsForm:FormGroup;\n details:FormArray;\n FormList:boolean = false;\n loadDetails:boolean = true;\n assestInfo:any;\n\n appxMarketAmtInwords: any=[];\n OtherAppxMarketAmtInwords: any=[];\n emiAmtInwords: any=[];\n OtherEmiAmtInwords: any=[];\n PremiumPaidInwords: any=[];\n OtherPremiumPaidInwords: any=[];\n SumAssuredInwords: any=[];\n OtherSumAssuredInwords: any=[];\n AmtInvestInwords: any=[];\n OtherAmtInvestInwords: any;\n AssetValueInwords: any=[];\n OtherAssetValueInwords: any=[];\n B_emiAmtInwords: any=[];\n O_emiAmtInwords: any=[];\n\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n pdid:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider) {\n \n this.assestInfo = \"busass\";\n this.FormId = this.navParams.get('FormId');\n console.log(this.FormId);\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.users = this.aws.getlocale();\n this.applicants = this.pdDetails.applicat_details;\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n \n this.AssetsDetailsForm = this.fb.group(\n {\n assets_details:this.fb.array([]),\n // business_assets_details:this.fb.array([]),\n assets_form_remark:['']\n \n })\n \n this.getAssetDetails();\n this.getdropList();\n //this. addAsset(1);\n this.loadDetails = true;\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssestsPage');\n }\n\n getdropList()\n {\n\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=4);\n }\n })\n \n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_propertyType = res['records'];\n }\n })\n \n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_investmentType = res['records'];\n }\n })\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.m_insuranceType =res['records'];\n }\n })\n \n \n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'];\n }\n })\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.m_relation = data['records'].filter(data => data.isactive == 1);\n }\n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n console.log(\"Entering company List\")\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log(\"company List\",data['records'])\n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n console.log(\"Company applicant\",this.mergeCompanyApplicant)\n }\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n console.log(\"Applicants\",this.mergeCompanyApplicant);\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n \n \n \n \n }\n createAsset() : FormGroup\n {\n return this.fb.group(\n {\n assets_mode: [null],\n details: this.fb.array([]),\n approximate_market_value: [null],\n name_of_the_owner: [''],\n other_owner:[''],\n // purchase_year: [null],\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\n vintage_personal : [''],\n // purchase_month: [null],\n emi: [null],\n emi_paid: [null],\n elapsed_tenure: [null],\n balance_tenure: [null],\n original_loan_tenure :[null],\n });\n }\n\n addAsset(flag)\n {\n if(flag==1){\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\n this.assetItem.push(this.createAsset());\n }\n }\n\n deleteAsset(i,flag)\n {\n if(flag==1){\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\n if(this.assetItem.length==1)\n {\n this.AssetsDetailsForm.controls['assets_details'].reset();\n }else{\n this.assetItem.removeAt(i);\n } \n }\n }\n \n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n \n\n loanCalc(details ,flag)\n {\n if(flag == 1){\n //console.log(details.value); \n let ElapsedValues;\n \n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\n }\n }\n \n\n }\n \n show: boolean;\n selectedAssetsType(e: any, i: any,flag : any): void {\n console.log(e);\n console.log(i);\n console.log(flag);\n let val = i;\n if(flag == 1){\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n arr.controls.splice(0);\n }\n \n \n switch (e.value) {\n case '1': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\n control.push(this.otherAssetsDescription());\n break;\n }\n case '2': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.loadProperty());\n break;\n }\n case '3': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.load_Four_Weeler());\n break;\n }\n case '4': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n //control.push(this.loadJwellDescription());\n break;\n }\n case '5': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.loadConsumerDurableDescription());\n break;\n }\n case '6': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.loadInsuranceDescription());\n break;\n }\n case '7': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.loadInvestDescription());\n break;\n }\n case '8': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.otherAssetsDescription());\n break;\n }\n default: {\n break;\n }\n }\n }\n\n\n loadProperty() {\n return this.fb.group({\n property_type: [''],\n other_property_type: ['']\n });\n }\n\n loadJwellDescription() {\n return this.fb.group({\n \n });\n }\n\n loadConsumerDurableDescription() {\n return this.fb.group({\n consumer_durable_description: [null]\n });\n }\n \n otherBusinessAssetsDescription() {\n return this.fb.group({\n any_other_assets: [''],\n any_other_asset_value : [''],\n any_other_asset_loan : [''], \n });\n }\n otherAssetsDescription() {\n \n return this.fb.group({\n any_other_assets: [''],\n any_other_asset_value:[''],\n any_other_asset_loan:['']\n });\n }\n\n loadInsuranceDescription() {\n return this.fb.group({\n insurance_type: [null],\n premium_paid: [null],\n frequency_mode: [null],\n other_frequency_mode:[null],\n sum_assured: [null],\n members_coverd: [null]\n });\n }\n\n loadInvestDescription() {\n return this.fb.group({\n investments_type: [''],\n other_investments_type:[''],\n amount_of_invest: [''],\n bank_name: ['']\n });\n }\n\n load_Four_Weeler() {\n return this.fb.group({\n //manufacturer_model: [''],\n manufacturer_model_vehicle: ['']\n });\n }\n\n load_Two_Weeler() {\n return this.fb.group({\n manufacturer_model_two_weeler: ['']\n });\n }\n\n\n\n loadPropertyWithData(data) {\n return this.fb.group({\n property_type: [data.property_type],\n other_property_type: [data.other_property_type]\n });\n }\n\n loadJwellDescriptionWithData(data) {\n return this.fb.group({\n // jwell_description: [data.jwell_description]\n });\n }\n\n loadConsumerDurableDescriptionWithData(data) {\n return this.fb.group({\n consumer_durable_description: [data.consumer_durable_description]\n });\n }\n\n otherAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets],\n any_other_asset_value : [data.any_other_asset_value],\n any_other_asset_loan:[data.any_other_asset_loan]\n });\n }\n otherBusinessAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets],\n any_other_asset_value : [data.any_other_asset_value],\n any_other_asset_loan : [data.any_other_asset_loan],\n });\n }\n\n loadInsuranceDescriptionWithData(data) {\n return this.fb.group({\n //insurance_type: [data.insurance_type],\n premium_paid: [data.premium_paid],\n frequency_mode: [data.frequency_mode],\n other_frequency_mode:[data.other_frequency_mode],\n sum_assured: [data.sum_assured],\n members_coverd: [data.members_coverd]\n });\n }\n\n loadInvestDescriptionWithData(data) {\n return this.fb.group({\n investments_type: [data.investments_type],\n other_investments_type:[data.other_investments_type],\n amount_of_invest: [data.amount_of_invest],\n bank_name: [data.bank_name]\n });\n }\n\n \n\n load_Four_WeelerWithData(data) {\n return this.fb.group({\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\n });\n }\n\n load_Two_WeelerWithData(data) {\n return this.fb.group({\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\n });\n }\n saveAssetDetails(answerData)\n {\n console.log(answerData);\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n answerData.assets_details.map(val => {\n if (val.emi == 'no') {\n val.emi_paid = '';\n val.elapsed_tenure = '';\n val.balance_tenure = '';\n val.original_loan_tenure ='';\n }\n });\n \n answerData.pdid = this.pdDetails.pd_id;\n answerData.formid = this.FormId.form_id;\n answerData.fk_createdby = this.users;\n console.log('final',answerData);\n this.qustCat.saveForm(answerData).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n }\n apiLoadFinish:boolean = false;\n getAssetDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\n return res['records'].assets_details[key];\n });\n \n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\n if (assetArray.length > 0) {\n for (let val of assetArray) {\n let vals = {\n assets_mode: val.assets_mode,\n approximate_market_value: val.approximate_market_value,\n name_of_the_owner: val.name_of_the_owner,\n other_owner:val.other_owner,\n purchase_year: val.purchase_year,\n vintage_personal:val.vintage_personal,\n // purchase_month: val.purchase_month,\n emi: val.emi,\n emi_paid: val.emi_paid,\n elapsed_tenure: val.elapsed_tenure,\n balance_tenure: val.balance_tenure,\n original_loan_tenure:val.original_loan_tenure,\n //assets_form_remark:val.assets_form_remark\n };\n const control = this.AssetsDetailsForm.controls['assets_details'];\n control.push(this.initDetailsWithdata(vals));\n \n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\n }\n \n }\n // if (busarray.length > 0) {\n // for (let val of busarray) {\n // let vals = {\n // assets_mode: val.assets_mode,\n // approximate_market_value: val.approximate_market_value,\n // name_of_the_owner: val.name_of_the_owner,\n // purchase_year: val.purchase_year,\n // purchase_month: val.purchase_month,\n // emi: val.emi,\n // emi_paid: val.emi_paid,\n // elapsed_tenure: val.elapsed_tenure,\n // balance_tenure: val.balance_tenure,\n // original_loan_tenure:val.original_loan_tenure,\n // };\n // const control = this.AssetsDetailsForm.controls['assets_details'];\n // control.push(this.initBusinessDetailsWithdata(vals));\n \n // this.setAssetsDetailsWithData2(vals.assets_mode, val.details, control.length-1);\n // }\n \n // }\n this.apiLoadFinish = true;\n console.log(assetArray);\n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\n }else{\n this.apiLoadFinish = true;\n this.addAsset(1);\n // this.addAsset(2);\n }\n })\n }\n\n \n \n \n\n\n initDetailsWithdata(data) {\n return this.fb.group({\n assets_mode: [data.assets_mode],\n details: this.fb.array([]),\n approximate_market_value: [data.approximate_market_value],\n name_of_the_owner: [data.name_of_the_owner],\n other_owner:[data.other_owner || ''],\n vintage_personal:[data.vintage_personal],\n // purchase_year: [data.purchase_year],\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\n // purchase_month: [data.purchase_month],\n emi: [data.emi || 0],\n emi_paid: [data.emi_paid || ''],\n elapsed_tenure: [data.elapsed_tenure || ''],\n balance_tenure: [data.balance_tenure || ''],\n original_loan_tenure:[data.original_loan_tenure ||''],\n //assets_form_remark:[data.assets_form_remark || '']\n });\n }\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\n let val = i;\n // var data = Object.keys(datas).map(function (key) {\n // return datas[key];\n // });\n // alert(JSON.stringify(datas));\n let data = datas;\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n arr.controls.splice(0);\n switch (assets_details_mode) {\n case '1': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'any_other_assets': datas.any_other_assets,\n 'name_of_the_owner':datas.name_of_the_owner,\n 'other_owner':datas.other_owner,\n //'relation':datas.relation,\n 'any_other_asset_value' : datas.any_other_asset_value,\n 'any_other_asset_loan' : datas.any_other_asset_loan,\n };\n this.OtherAssetValueInwords[i] = this.constprovider.convertNumberToWords(+datas.any_other_asset_value);\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.otherAssetsDescriptionWithData(array_data));\n break;\n }\n \n case '2': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'property_type':datas.property_type,'other_property_type':datas.other_property_type };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadPropertyWithData(array_data));\n break;\n }\n case '3': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.load_Four_WeelerWithData(array_data));\n break;\n }\n case '4': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadJwellDescriptionWithData(data));\n break;\n }\n case '5': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadConsumerDurableDescriptionWithData(data));\n break;\n }\n case '6': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { \n 'premium_paid': datas.premium_paid,\n 'frequency_mode': datas.frequency_mode,\n 'other_frequency_mode':datas.other_frequency_mode,\n 'sum_assured': datas.sum_assured,\n 'members_coverd': datas.members_coverd\n };\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(+datas.premium_paid);\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(+datas.sum_assured);\n \n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInsuranceDescriptionWithData(array_data));\n break;\n }\n case '7': {\n let array_data : any;\n data.forEach((datas,i) => {\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(+datas.amount_of_invest);\n array_data = { 'investments_type': datas.investments_type,\n 'other_investments_type' : datas.other_investments_type,\n 'amount_of_invest': datas.amount_of_invest,\n 'bank_name': datas.bank_name };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInvestDescriptionWithData(array_data));\n break;\n }\n case '8': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.otherAssetsDescriptionWithData(data));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /** On Key Press Event For Number only Accepting */\n keyPress(event: any) {\n const pattern = /[0-9\\-\\.\\ ]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n inWords(e,i,flag){\n switch(flag){\n case 1 : \n this.appxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.OtherAppxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 3 :\n this.emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 4 :\n this.OtherEmiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 5 :\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 6 :\n this.OtherPremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 7 :\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 8 :\n this.OtherSumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 9 :\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 10 :\n this.OtherAmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 11 :\n this.AssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 12 :\n this.OtherAssetValueInwords[i]= this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 13:\n this.B_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 14:\n this.O_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n }\n // check others\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assests/pd-question-assests.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder,FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionOtherIncomePage 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-other-income',\n templateUrl: 'pd-question-other-income.html',\n})\nexport class PdQuestionOtherIncomePage {\n\n otherIncomeDetails: any;\n users: any;\n pdDetails: any;\n questionDetails: any;\n frequencyData: any;\n otherIncomeForm: FormGroup;\n incomeDetails:FormArray;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n\n this.otherIncomeForm = this.fb.group({\n other_income: [null],\n otherincome_remarks:[null],\n income_details: this.fb.array([])\n });\n this.getOtherIncome();\n this.getFrequency();\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionOtherIncomePage');\n }\n\n createDetail():FormGroup {\n return this.fb.group({\n source: [null],\n amount: [null],\n frequency: [null],\n });\n}\naddIncomeDetails() {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n this.incomeDetails.push(this.createDetail());\n}\ndeleteIncomeDetails(index) {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n this.incomeDetails.removeAt(index);\n}\ncheckotherDetails(val)\n{\n if(val==\"Yes\")\n {\n this.addIncomeDetails();\n }\n}\ngetFrequency() {\n let master_name = 'FREQUENCY';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n //console.log('data', data);\n if(data['dataStatus']==true)\n {\n this.frequencyData = data['records'].filter(fre=>fre.isactive==1);\n }\n });\n}\n\nsubmitOtherIncome(answerData)\n{\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = '337';\n records.fk_createdby = this.users;\n records.other_income = answerData.other_income;\n records.income_details = answerData.income_details;\n records.otherincome_remarks = answerData.otherincome_remarks;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }, error => {\n \n })\n}\n\ngetOtherIncome()\n{\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'337'};\n\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\n //console.log(res);\n return res['records'].income_details[key];\n\n });\n this.otherIncomeDetails = res['records'];\n console.log(this.otherIncomeDetails);\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n \n if(incomeArray.length==0)\n {\n this.incomeDetails.push(this.createDetail());\n }else\n {\n incomeArray.forEach(datas=>\n {\n this.incomeDetails.push(this.createDetail());\n })\n }\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\n }\n })\n}\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionPersonalInfoPage 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-personal-info',\n templateUrl: 'pd-question-personal-info.html',\n})\nexport class PdQuestionPersonalInfoPage implements OnInit{\n\n questionDetails: any;\n pdDetails: any;\n users: any;\n _personalForm: FormGroup;\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\n relationShipList:any=[];\n \n form_id:number;\n \n\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\n \n public mainApplicantDetails :any=[];\n public coApplicantDetails :any=[];\n \n errorMessage:any;\n //coItem:any;\n //mainItem:any;\n\n repeat:number=3;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n console.log(this.pdDetails);\n \n \n // this.getRelationMaster();\n \n \n \n }\n ngOnInit() {\n \n this.loadPDDetails();\n this.getRelationMaster();\n this.mainApplicantDetails = this.pdDetails.applicat_details\n .filter(item => item.applicant_type == 1);\n // console.log(this.mainApplicantDetails)\n this.coApplicantDetails = this.pdDetails.applicat_details\n .filter(item => item.applicant_type == 0);\n }\n\n // load form pd details\n loadPDDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\n \n this.qustCat.retiverForm(records).subscribe(\n data => {\n if (data['status'] == 200) {\n this.loadFormWithIDData(data['records']);\n \n }\n else{\n let defaultMainApp=[];\n let defaultCoApp=[];\n // generate default main applicant form details\n if(this.mainApplicantDetails.length>0){ \n for(let j=0;j this.errorMessage = error);\n}\n\nloadDataStatus: boolean = false;\n\nloadFormWithIDData(data) {\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\n return data.main_applicant_details[key];\n});\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\n return data.co_applicant_details[key];\n});\n\n // main applicant\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\n name_ans:new FormControl(item.name_ans, Validators.required),\n age_ans:new FormControl(item.age_ans, Validators.required),\n entity_ans:new FormControl(item.entity_ans, Validators.required),\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\n earning_ans:new FormControl(item.earning_ans, Validators.required),\n })));\n // co applicant\n let iterateCoApp=[];\n \n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\n name_ans:new FormControl(item.name_ans, Validators.required),\n age_ans:new FormControl(item.age_ans, Validators.required),\n entity_ans:new FormControl(item.entity_ans, Validators.required),\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\n earning_ans:new FormControl(item.earning_ans, Validators.required),\n relation_ans:new FormControl(item.relation_ans, Validators.required),\n\n })));\n \n this._personalForm = this._fb.group({\n pdid:null,\n form_id:null,\n mainItem: mainApplicantGroup,\n coItem: coApplicantGroup,\n personal_info_form_remark: [data.personal_info_form_remark]\n });\n //console.log(this._personalForm);\n this.loadDataStatus = true;\n}\n\n loadFormData(mainApp,coApp){\n // main applicant\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\n name_ans:new FormControl(item.applicant_name, Validators.required),\n name_id:new FormControl(0),\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\n age_id:new FormControl(1),\n age_ans:new FormControl(null, Validators.required),\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\n entity_id: new FormControl(2),\n entity_ans:new FormControl(null, Validators.required),\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\n qualification_id: new FormControl(3),\n qualification_ans:new FormControl(null, Validators.required),\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\n earning_id: new FormControl(4),\n earning_ans:new FormControl(null, Validators.required),\n \n })));\n // co applicant\n let iterateCoApp=[];\n \n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\n name_ques:new FormControl(this.coApplicantQuestions[0]),\n name_ans:new FormControl(item.applicant_name, Validators.required),\n name_id:new FormControl(0),\n age_ques:new FormControl(this.coApplicantQuestions[1]),\n age_id:new FormControl(1),\n age_ans:new FormControl(null, Validators.required),\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\n entity_id: new FormControl(2),\n entity_ans:new FormControl(null, Validators.required),\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\n qualification_id: new FormControl(3),\n qualification_ans:new FormControl(null, Validators.required),\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\n earning_id: new FormControl(4),\n earning_ans:new FormControl(null, Validators.required),\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\n relation_id:new FormControl(5),\n relation_ans:new FormControl(null, Validators.required),\n\n })));\n \n this._personalForm = this._fb.group({\n pdid:null,\n form_id:null,\n mainItem: mainApplicantGroup,\n coItem: coApplicantGroup,\n personal_info_form_remark:null\n });\n //console.log(this._personalForm);\nthis.loadDataStatus = true;\n }\n\n //get pd main applicant array values \n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\n\n // get pd co applicant array values\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\n\n // get relation master details\n getRelationMaster(){\n let relation =\"RELATIONSHIPS\";\n this.qustCat.getcommondrop(relation).subscribe(\n data => {\n if (data['status'] == 200) {\n this.relationShipList=data['records'];\n \n }\n}, error => this.errorMessage = error);\n}\n\n// submit forms details\nsubmitPersonalForm(formData:any) {\n if(this._personalForm.valid){\n let main_applicantDetails:any=[];\n let co_applicantDetails:any=[];\n\n formData.mainItem.forEach((element,key) => {\n if(key==0){\n main_applicantDetails.push({\n \"name_ans\":element.name_ans,\n \"age_ans\":element.age_ans,\n \"entity_ans\":element.entity_ans,\n \"qualification_ans\":element.qualification_ans,\n \"earning_ans\":element.earning_ans, \n })\n }\n \n });\n formData.coItem.forEach((Coelement,Cokey) => {\n co_applicantDetails.push({\n\n \"name_ans\":Coelement.name_ans,\n \"age_ans\":Coelement.age_ans,\n \"qualification_ans\":Coelement.qualification_ans,\n \"entity_ans\":Coelement.entity_ans,\n \"earning_ans\":Coelement.earning_ans, \n \"relation_ans\":Coelement.relation_ans, \n })\n \n });\n\n let save_details:any={\n \"pdid\" : this.pdDetails.pd_id,\n \"formid\" : '341',\n \"fk_createdby\":this.users,\n \"main_applicant_details\":main_applicantDetails,\n \"co_applicant_details\":co_applicantDetails,\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\n };\n console.log(save_details);\n this.qustCat.saveForm(save_details).subscribe(result => {\n if (result['dataStatus']==true) {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.notifier.notify('success', 'Success.');\n }\n else {\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\n }\n }, error => {\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\n });\n }\n}\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionStockInfoPage 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-stock-info',\n templateUrl: 'pd-question-stock-info.html',\n})\nexport class PdQuestionStockInfoPage {\n\n uomData: any;\n rawmaterial: any;\n users: any;\n FormId: any;\n pdDetails: any;\n stockForm: FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.users = this.aws.getlocale();\n this.stockForm = this.fb.group({\n stock_remarks: [''],\n raw_materials: this.fb.array([]),\n finished_goods: this.fb.array([])\n });\n this.getStockDetails();\n\n this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:'1'}).subscribe(value => {\n // console.log('Raw material Name',value.records.main_raw_materials);\n \n \n // const faControl = (this.stockForm.controls['raw_materials']).at(1);\n \n const control = (this.stockForm.controls['raw_materials']).at(0);\n console.log(control);\n \n // this.stockForm.controls['raw_materials'].setValue(value.records.main_raw_materials);\n if (value['dataStatus'] == true) {\n this.rawmaterial = value['records'].main_raw_materials;\n }else{ this.rawmaterial = ''; }\n })\n this.getdropdown();\n }\n\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\n }\n\n\n getdropdown()\n {\n this.qustCat.getcommondrop('UOM').subscribe(data => {\n \n if(data['dataStatus']==true){\n \n this.uomData = data['records'].filter(uom=>uom.isactive==1);\n \n }\n });\n }\n createRawmaterial() {\n return this.fb.group({\n raw_name: [''],\n stock_observed:[''],\n raw_quantity: [''],\n raw_uom: [''],\n other_uom : [''],\n raw_value: [''],\n rawmaterial_value: [''],\n is_sufficiant_raw: [''],\n });\n }\n createGoods() {\n return this.fb.group({\n goods_name: [''],\n goods_quantity: [''],\n goods_value: [''],\n finished_goods_value: [''],\n is_sufficiant_goods: [''],\n });\n }\n addRawMaterials() {\n const control = this.stockForm.controls['raw_materials'];\n control.push(this.createRawmaterial());\n }\n deleteRawMaterials(index) {\n const control = this.stockForm.controls['raw_materials'];\n if(control.length==1)\n {\n this.stockForm.controls['raw_materials'].reset();\n }else{\n control.removeAt(index);\n }\n }\n addGoods() {\n const control = this.stockForm.controls['finished_goods'];\n\n control.push(this.createGoods());\n }\n deleteGoods(index) {\n const control = this.stockForm.controls['finished_goods'];\n if(control.length==1)\n {\n this.stockForm.controls['finished_goods'].reset();\n }else{\n control.removeAt(index);\n }\n }\n\n\n submitDetails(answerData) {\n \n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.raw_materials = answerData.raw_materials;\n records.stock_remarks = answerData.stock_remarks;\n records.finished_goods = answerData.finished_goods;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n });\n }\n \n getStockDetails() {\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\n\n this.qustCat.retiverForm(records).subscribe(value => {\n console.log('value', value);\n const rawMaterial = this.stockForm.controls['raw_materials'];\n const finishedGoods = this.stockForm.controls['finished_goods'];\n if (value['dataStatus'] == true) {\n let stockDetails = value['records'];\n let result = Object.keys(stockDetails.raw_materials).map(function (key) {\n return stockDetails.raw_materials[key];\n });\n let result_Goods = Object.keys(stockDetails.finished_goods).map(function (key) {\n return stockDetails.finished_goods[key];\n });\n this.stockForm.controls['stock_remarks'].setValue(stockDetails.stock_remarks);\n if (result.length > 0) {\n result.forEach(val => {\n rawMaterial.push(this.createRawmaterial());\n });\n this.stockForm.controls['raw_materials'].setValue(result);\n } else {\n rawMaterial.push(this.createRawmaterial());\n }\n if (result_Goods.length > 0) {\n result_Goods.forEach(val => {\n finishedGoods.push(this.createGoods());\n });\n this.stockForm.controls['finished_goods'].setValue(result_Goods);\n } else {\n finishedGoods.push(this.createGoods());\n }\n } else {\n this.addRawMaterials();\n this.addGoods();\n }\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-stock-info/pd-question-stock-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n/**\n * Generated class for the PdQuestionFinancialInfoPage 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-financial-info',\n templateUrl: 'pd-question-financial-info.html',\n})\nexport class PdQuestionFinancialInfoPage {\n\n constructor(public navCtrl: NavController, public navParams: NavParams) {\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-financial-info/pd-question-financial-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionRentalInfoPage 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-rental-info',\n templateUrl: 'pd-question-rental-info.html',\n})\nexport class PdQuestionRentalInfoPage {\n\n users: any;\n pdDetails: any;\n FormId: any;\n rentalForms:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n this.rentalForms = this.fb.group(\n {\n person_met:[null,Validators.compose([Validators.required])],\n property_own:[null,Validators.compose([Validators.required])],\n nature_property:[null,Validators.compose([Validators.required])],\n nature_others:[null],\n rental_home:this.fb.array([])\n })\n this.getRentalDetails();\n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\n }\n\n createrentalHome()\n {\n return this.fb.group(\n {\n complete_add:[null,Validators.compose([Validators.required])],\n area_of_property:[null,Validators.compose([Validators.required])],\n structure_property:[null,Validators.compose([Validators.required])],\n total_room:[null,Validators.compose([Validators.required])],\n is_rent:[null,Validators.compose([Validators.required])],\n date_agreement:[null,Validators.compose([Validators.required])],\n date_validity:[null,Validators.compose([Validators.required])],\n rent_agreement:[null,Validators.compose([Validators.required])],\n actual_rent:[null,Validators.compose([Validators.required])],\n photo_areegment:[null,Validators.compose([Validators.required])],\n property_photographs:[null],\n bank:[null,Validators.compose([Validators.required])],\n cash:[null,Validators.compose([Validators.required])],\n rent_each_floor:[null,Validators.compose([Validators.required])],\n total_rent:[null,Validators.compose([Validators.required])],\n related_doc_owner:[null,Validators.compose([Validators.required])],\n details_tenants:this.fb.array([]),\n third_party_check:[null,Validators.compose([Validators.required])],\n })\n }\n\n createTenantsDetails()\n {\n return this.fb.group(\n {\n name:[null,Validators.compose([Validators.required])],\n mobile_no:[null,Validators.compose([Validators.required])],\n tenants_seen:[null,Validators.compose([Validators.required])],\n tenants_con_owner:[null,Validators.compose([Validators.required])],\n rent_paid:[null,Validators.compose([Validators.required])],\n staying_since:[null,Validators.compose([Validators.required])],\n \n });\n }\n\n addrentalHome()\n {\n const control = this.rentalForms.get('rental_home') as FormArray;\n control.push(this.createrentalHome());\n this.addTenantsDetails(0);\n }\n\n addTenantsDetails(i)\n {\n const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\n \n // console.log(rent); \n console.log(control);\n // control.controls.splice(0);\n control.push(this.createTenantsDetails());\n\n }\n\n deleteTenantsDetails(rentIndex,TenantsIndex)\n {\n const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\n \n control.removeAt(TenantsIndex);\n }\n\n deleterentalHome(i)\n {\n const control = (this.rentalForms.controls['rental_home']) as FormArray;\n if(control.length==1)\n {\n this.rentalForms.controls['rental_home'].reset();\n }else\n {\n control.removeAt(i);\n }\n }\n saveRentalDetails(answerData)\n {\n //console.log(answerData);\n let records:any={}\n console.log(this.rentalForms.value);\n \n \n// if(this.rentalForms.valid){\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.person_met = answerData.person_met;\n records.property_own = answerData.property_own;\n records.nature_property = answerData.nature_property;\n if(answerData.nature_property=='others')\n {\n records.nature_others = answerData.nature_others\n }\n records.rental_home = answerData.rental_home;\n Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\n console.log('data',records);\n\n this.qustCat.saveForm(records).subscribe(res=>\n { \n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n // }else\n // {\n // this.toast.pdTriggerappmessage('Enter All Field');\n // }\n }\n\n getRentalDetails()\n {\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n console.log(res);\n if(res['dataStatus']==true)\n {\n let rentalDetails = res['records'];\n var rentalData = Object.keys(res['records'].rental_home\n ).map(function(key) {\n //console.log(res);\n return res['records'].rental_home\n [key];\n\n });\n var tanantsData = [];\n var control = (this.rentalForms.controls['rental_home']) as FormArray;\n var tanantscontrol; \n rentalData.forEach((val,index)=>\n {\n \n console.log(index);\n // console.log(val);\n // this.addrentalHome();\n console.log(control);\n // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\n // {\n \n \n // return val.details_tenants[key];\n // }));\n rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\n {\n \n \n return val.details_tenants[key];\n });\n control.push(this.createrentalHome()); \n tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \n \n rentalData[index].details_tenants.forEach((val,key)=>\n {\n //rentalData[index].details_tenants = val;\n \n // rentalData[index].details_tenants = [key];\n tanantscontrol.push(this.createTenantsDetails());\n });\n \n // console.log(182,control.controls[index].get('details_tenants'));\n // control[index].details_tenants =tanantscontrol; \n });\n // console.log(rentalData);\n this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\n this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\n this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\n if(rentalDetails.nature_property=='others'){\n this.rentalForms.controls['nature_others'].\n setValue(rentalDetails.nature_others);\n }\n \n this.rentalForms.controls['rental_home'].setValue(rentalData); \n console.log(this.rentalForms); \n }else\n {\n this.addrentalHome();\n // this.addTenantsDetails(0);\n }\n })\n }\n createTenantsDetailswithData(index,data)\n {\n return this.fb.group(\n {\n name:[data.name],\n mobile_no:[data.mobile_no],\n tenants_seen:[data.tenants_seen],\n tenants_con_owner:[data.tenants_con_owner],\n rent_paid:[data.rent_paid],\n staying_since:[data.staying_since]\n });\n }\n\n validateAllFormFields(formGroup: any) {\n Object.keys(formGroup.controls).forEach(field => {\n const control = formGroup.get(field);\n \n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup) { \n this.validateAllFormFields(control);\n } else if (control instanceof FormArray) { \n this.validateAllFormFields(control);\n }\n });\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\n\n/**\n * Generated class for the PdQuestionAssessedDashPage 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-dash',\n templateUrl: 'pd-question-assessed-dash.html',\n})\nexport class PdQuestionAssessedDashPage {\n\n businessIncome: boolean;\n grossAccess: boolean;\n finalAccess: boolean;\n finalExpense: any;\n finalIncome: any;\n finalData: any;\n houseExpenseData: boolean;\n businessData: boolean;\n salesData: boolean;\n purchaseData: boolean;\n grossprofit: any;\n assessedProcess: boolean;\n users: any;\n FormId: any;\n pdDetails: any;\n assessedForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n calc_type_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n mode:[null,Validators.compose([Validators.required])],\n margin:[null],\n fk_createdby:[this.users],\n fk_updatedby:[null],\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\n }\n ionViewCanEnter()\n {\n this.getassessedIncome(); \n }\n getViewPage(pageId)\n {\n\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\n }\n\n saveAssessedForm(answerData)\n {\n console.log(this.assessedForm.value);\n if(this.assessedForm.valid)\n {\n \n \n \n let records = {'records':this.assessedForm.value};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.getassessedIncome();\n }else\n {\n\n }\n })\n \n }\n }\n\n getassessedIncome()\n {\n let records = {'pd_id':this.pdDetails.pd_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.assessedProcess = true;\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\n if(res['records'].purchase_details.length !=0)\n {\n this.purchaseData = true;\n }\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)\n {\n this.salesData = true;\n }\n if(res['records'].business_expenses.length !=0)\n {\n this.businessData = true;\n }\n if(res['records'].house_hold_expenses.length !=0)\n {\n this.houseExpenseData = true;\n }\n if(res['records'].othre_business_income.length !=0)\n {\n this.businessIncome = true;\n }\n console.log(res['records'].final_data.length);\n if(res['records'].final_data.length !=0){\n this.finalAccess = true;\n this.finalData = res['records'].final_data[0]; \n this.finalIncome = this.finalData.income;\n this.finalExpense = this.finalData.expense; \n }\n console.log(this.grossprofit);\n if(this.grossprofit !==undefined)\n {\n this.grossAccess = true;\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\n }\n \n }else\n {\n this.assessedProcess = false;\n }\n });\n }\n\n\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\nimport { FormatWidth } from '@angular/common';\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\n\n\n/**\n * Generated class for the PdQuestionAssessedInfoPage 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-info',\n templateUrl: 'pd-question-assessed-info.html',\n})\nexport class PdQuestionAssessedInfoPage {\n\n busissnessIncome: any;\n mode: any;\n grossprofitCalc: any;\n houseHold_details: any;\n grandHouseExpenseTotal: any;\n houseannual: any=[];\n businessExpenses_details: any;\n grandExpenseTotal: any;\n expenseannual: any=[];\n businessExpenses: any;\n purchse_details: any;\n sales_item_month_value: any=[];\n sales_wise_month_headers:any = [];\n sales_month_wise_data:any = [];\n sales_item_value: any;\n grandpurchaseTotal: any=null;\n UOM: any;\n m_freqOfPurchase: any;\n users: any;\n pageId: any;\n pdDetails: any;\n assessedForm:FormGroup;\n FormName:any;\n annual:any = [];\n rawMaterialForm:FormGroup;\n BuissnessForm:FormGroup;\n houseHoldForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.pageId = this.navParams.get('pageId');\n\n switch(this.pageId)\n {\n case 1:\n this.FormName = \"Sales Page\";\n break;\n case 2:\n this.FormName = \"Purchase Page\";\n break;\n case 3:\n this.FormName = \"Business Expense Page\";\n break;\n case 4:\n this.FormName = \"House Hold Page\";\n break;\n default:\n this.FormName = \"Question Page\";\n break;\n }\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n sdc_id:[null],\n sales_declared_by_customer:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n margin_per:[null],\n margin_value:[null],\n isactive:[1],\n fk_createdby:[this.users],\n \n });\n \n \n \n \n // this.getdropList();\n \n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\n }\n\n\n \n \n\n ionViewDidEnter() {\n \n }\n ionViewCanEnter()\n {\n this.getAssessedDetails(); \n }\n\n\n \n \n \n \n\n getMarginCalc()\n {\n let margin_per = this.assessedForm.controls['margin_per'].value;\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\n if(margin_per !=null && sales_declared_by_customer !=null)\n {\n let value = sales_declared_by_customer * (margin_per/100);\n this.assessedForm.controls['margin_value'].setValue(value);\n }\n }\n\n saveData(answerData)\n {\n let records:any = {};\n\n records ={'records':answerData};\n console.log(records);\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\n {\n // console.log(res);\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.getAssessedDetails();\n }\n })\n }\n \n getAssessedDetails()\n {\n this.sales_item_month_value = [];\n this.sales_month_wise_data = [];\n this.sales_item_value= [];\n let records = {'pd_id':this.pdDetails.pd_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let sales_value = res['records'].sales_declared_by_customer[0];\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\n this.purchse_details = res['records'].purchase_details; \n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0];\n this.mode = this.grossprofitCalc.mode;\n console.log(this.grossprofitCalc);\n var result = this.purchse_details.reduce(function(p, c) {\n \n return p;\n },[]);\n console.log(result);\n\n\n this.businessExpenses_details = res['records'].business_expenses;\n this.houseHold_details = res['records'].house_hold_expenses;\n this.busissnessIncome = res['records'].othre_business_income;\n // console.log(this.sales_item_month_value);\n // this.getpurchaseDetails(this.purchse_details);\n \n \n \n\n \n \n \n \n \n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\n let listItems: any=[];\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\n })\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\n \n let convertYear : number = 12 / listItems.length;\n let footerMessage: any=[];\n footerMessage.push({\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\n month_value:calculateAllItemsTotal,\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\n year_value: calculateAllItemsTotal * convertYear,\n })\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id});\n });\n\n\n console.log(this.sales_month_wise_data);\n if(sales_value!==undefined){\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\n \n }\n \n }\n })\n\n }\n\n /**\n * Add Assessed Forms\n */\n\n AddAssessedForm()\n {\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); \n \n }\n\n editDetails(salesCal)\n {\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \n \n }\n editAllDetails(AllsalesData)\n {\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'grossprofit':this.grossprofitCalc}); \n }\n\n /**Assessed Daily Form Details */\n\n AddAssessedDailyForm()\n {\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc})\n }\n editAssessedDailyForm(simId)\n {\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\n console.log(dailySaleDetails);\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'grossprofit':this.grossprofitCalc})\n \n }\n\n /**purchase Details Forms */\n AddPurchaseForm()\n {\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \n \n }\n\n editPurchaseDetails(purchaseCal)\n {\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \n \n }\n editPurchaseAllDetails(AllpurchaseData)\n {\n console.log('260',AllpurchaseData);\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \n }\n \n\n /**Business Expense */\n AddExpenseForm()\n {\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \n \n }\n\n editExpenseDetails(expenseCal)\n {\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \n \n }\n editExpenseAllDetails(AllexpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \n }\n \n\n /** Household Expenses Details */\n AddHouseExpenseForm()\n {\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \n \n }\n\n editHouseExpenseDetails(expenseCal)\n {\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \n \n }\n editHouseExpenseAllDetails(AllExpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \n }\n\n /**\n * Income Details\n */\n AddIncomeForm()\n {\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \n \n }\n\n editIncomeDetails(expenseCal)\n {\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \n \n }\n editIncomeAllDetails(AllexpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \n }\n \n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedSalesPage 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-sales',\n templateUrl: 'pd-question-assessed-sales.html',\n})\nexport class PdQuestionAssessedSalesPage {\n\n grossprofitCalc: any;\n salesData: any =[];\n annual: any=[];\n grandTotal: any;\n UOM: any;\n m_freqOfPurchase: any;\n assessedForm: FormGroup;\n users: any;\n FormId: any;\n pdDetails: any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.grossprofitCalc = this.navParams.get('grossprofit');\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n \n salesCalItemwise:this.fb.array([]),\n });\n this.salesData = this.navParams.get('sales');\n if(this.salesData!=null)\n {\n this.getSalesItemData(this.salesData);\n }else\n {\n this.addSalesCal();\n }\n // this.addSalesCal();\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\n }\n\n getdropList()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\n }\n });\n }\n\n createSalesCal()\n {\n return this.fb.group(\n {\n sci_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n\n sales_item:[null,Validators.compose([Validators.required])],\n sales_qty:[null,Validators.compose([Validators.required])],\n fk_uom_id:[null,Validators.compose([Validators.required])],\n rate_per_unit:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_sale_value:[null],\n margin_per:[null],\n margin_per_uom:[null],\n margin_final_value:[null],\n });\n }\n\n addSalesCal()\n {\n if(this.assessedForm.valid){\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n control.push(this.createSalesCal());\n }else\n {\n this.toast.pdTriggerappmessage('Enter the all fields');\n }\n }\n \n removeSalesCal(i)\n {\n this.annual.splice(i,1);\n \n // this.annual[i].spl\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n console.log(this.grandTotal);\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n if(control.length==1)\n {\n control.removeAt(i);\n this.addSalesCal(); \n } else{\n control.removeAt(i);\n }\n }\n /**\n * frequency Type \n * 1.Weekly no need\n * 2.Daily 250\n * 3.Yearly \n * 4.Hourly no need\n * 5.Monthly 12\n * 6.none\n * 7.none\n * 8.none\n */\n salecalculat(index,details)\n {\n // console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let salesQty = details.value.sales_qty;\n let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,salesQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(salesQty!=null && UOM!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (salesQty*UOM*250);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (salesQty*UOM);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (salesQty*UOM*12);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n }else\n {\n // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\n }\n \n \n \n \n console.log(this.annual);\n }\n\n getSalesCalc(details)\n {\n // console.log(details);\n let margin_per = details.value.margin_per;\n let margin_amount = details.value.margin_per_uom;\n let annual_sale_value = details.value.annual_sale_value;\n let sales_qty = details.value.sales_qty;\n // console.log(sales_qty,margin_amount);\n let value:any = '';\n if(margin_per !=null || margin_amount !=null){\n if(margin_per !=null)\n {\n value = +annual_sale_value * (+margin_per/100);\n }else\n {\n console.log('else');\n value = +sales_qty* +margin_amount;\n }\n console.log(value);\n details.controls['margin_final_value'].setValue(value);\n }\n }\n saveData(answerData)\n {\n let records = {'records':answerData.salesCalItemwise};\n console.log(records);\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n })\n }\n \n getSalesItemData(salesData)\n {\n console.log(salesData);\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n\n salesData.forEach((sale,index)=>{\n \n this.annual[index] = sale.annual_sale_value\n control.push(this.createSaleswithData(sale));\n })\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\n // console.log(control);\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n }\n\n createSaleswithData(data)\n {\n return this.fb.group(\n {\n sci_id:[data.sci_id],\n fk_pd_id:[this.pdDetails.pd_id],\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_sale_value:[data.annual_sale_value],\n margin_per:[data.margin_per],\n margin_per_uom:[data.margin_per_uom],\n margin_final_value:[data.margin_final_value],\n });\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionAssessedDailySalesPage 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-sales',\n templateUrl: 'pd-question-assessed-daily-sales.html',\n})\nexport class PdQuestionAssessedDailySalesPage {\n\n currentDate: string;\n grossprofitCalc: any;\n salesDaily: any;\n users: any;\n FormId: any;\n pdDetails: any;\n salesDailyForm: FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.salesDaily = this.navParams.get('salesDaily');\n this.grossprofitCalc = this.navParams.get('grossprofit');\n this.users = this.aws.getlocale();\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\n console.log(this.currentDate);\n this.salesDailyForm = this.fb.group(\n {\n sales_product: this.fb.array([]),\n })\n if (this.salesDaily != null) {\n this.getDailySalesData(this.salesDaily);\n } else {\n this.adddailySalaesProduct();\n\n }\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\n }\n\n createdailysalesProduct() {\n return this.fb.group(\n {\n sim_id: [null],\n sales_item: [null, Validators.compose([Validators.required])],\n child: this.fb.array([]),\n fk_pd_id: [this.pdDetails.pd_id],\n margin_per: [null],\n margin_value: [null],\n fk_createdby: [this.users],\n isactive: ['1'],\n });\n }\n createdailyChildSaleProduct() {\n return this.fb.group({\n simc_id: [null],\n fk_sim_id: [null],\n sales_date: [null, Validators.compose([Validators.required])],\n sales_value: [null, Validators.compose([Validators.required])],\n isactive: ['1'],\n })\n }\n temparr = [];\n tempdate = [];\n getSalesCalc(subchild,child,key) {\n console.log(key);\n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\n let totalitemmargin = child.value.margin_per;\n \n if (totalitemmargin != null && subchild.value.sales_value !=null) {\n let loopAccess = false;\n let loopindex = 0;\n if (this.tempdate.length != 0) {\n for (var i = 0; i < this.tempdate.length; i++) {\n\n if (this.tempdate[i].month == saledate) {\n loopAccess = true;\n loopindex = i;\n }\n }\n\n if (loopAccess) {\n\n // console.log(loopAccess,loopindex);\n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\n this.temparr.push(subchild.value.sales_value);\n loopAccess = false;\n loopindex = 0;\n // console.log('merge');\n } else {\n // console.log(loopAccess,loopindex); \n // console.log('push');\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\n }\n\n\n } else {\n // console.log('else')\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\n this.temparr.push(subchild.value.sales_value);\n }\n\n let totalMonth = 12 / this.tempdate.length;\n console.log(this.tempdate);\n\n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\n console.log(tempgrandTotal);\n // let value = tempgrandTotal * (totalitemmargin / 100);\n let value = tempgrandTotal*totalMonth ;\n console.log(value);\n let grandValue = value * (totalitemmargin / 100);\n child.controls['margin_value'].setValue(grandValue);\n \n }\n \n }\n adddailySalaesProduct() {\n this.tempdate = [];\n if (this.salesDailyForm.valid) {\n const control = this.salesDailyForm.get('sales_product') as FormArray;\n control.push(this.createdailysalesProduct());\n // console.log(control.length);\n this.adddailyChildSaleProduct(control.length - 1);\n }\n }\n adddailyChildSaleProduct(index) {\n // if(this.salesDailyForm.valid){\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\n\n control.push(this.createdailyChildSaleProduct());\n // }\n }\n\n deletedailySalesProduct(index) {\n console.log(index);\n this.tempdate.slice(index,1);\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\n if (control.length == 1) {\n this.salesDailyForm.controls['sales_product'].reset();\n } else {\n control.removeAt(index);\n }\n }\n\n deletedailyChildSaleProduct(saleIndex, saleChildIndex) {\n this.tempdate = [];\n const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\n if(control.length==1)\n {\n control.removeAt(saleChildIndex);\n this.adddailyChildSaleProduct(saleIndex); \n }else{\n control.removeAt(saleChildIndex);\n }\n }\n saveData(answerData) {\n if (this.salesDailyForm.valid) {\n let records = { 'records': answerData.sales_product };\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\n if (res['dataStatus'] == true) {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n });\n }\n\n\n }\n getDailySalesData(dailySalesData) {\n console.log(dailySalesData);\n const control = this.salesDailyForm.get('sales_product') as FormArray;\n let salesChildControl;\n let salesChildControlarr = [];\n dailySalesData.forEach((val, index) => {\n\n control.push(this.dailySalesWithData(val));\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\n\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\n\n salesChildControlarr[index].forEach((vals, i) => {\n vals.forEach((item, key) => {\n let saleDate = new Date(item.sales_date);\n\n item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() + 1)).slice(-2);\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id));\n })\n\n\n\n });\n\n });\n }\n\n dailySalesWithData(data) {\n\n return this.fb.group(\n {\n sim_id: [data.sim_id],\n sales_item: [data.sales_item, Validators.compose([Validators.required])],\n child: this.fb.array([]),\n fk_pd_id: [this.pdDetails.pd_id],\n fk_createdby: [this.users],\n isactive: ['1'],\n margin_per: [data.margin_per],\n margin_value: [data.margin_value],\n })\n }\n dailySalesChildWithData(data, fk_id) {\n\n\n return this.fb.group(\n {\n simc_id: [data.simc_id],\n fk_sim_id: [fk_id],\n sales_date: [data.sales_date, Validators.compose([Validators.required])],\n sales_value: [data.sales_value, Validators.compose([Validators.required])],\n isactive: ['1'],\n })\n\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\n\n/**\n * Generated class for the PdQuestionAssessedPurchasePage 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-purchase',\n templateUrl: 'pd-question-assessed-purchase.html',\n})\nexport class PdQuestionAssessedPurchasePage {\n purchaseDetails: any;\n users: any;\n pdDetails: any;\n businessExpenses: any;\n UOM: any;\n m_freqOfPurchase: any;\n annual: any = [];\n grandpurchaseTotal: any;\n rawMaterialForm:FormGroup;\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.purchaseDetails = this.navParams.get('purchase');\n this.users = this.aws.getlocale();\n this.rawMaterialForm = this.fb.group(\n {\n purchase:this.fb.array([]),\n });\n if(this.purchaseDetails!=null)\n {\n this.getpurchaseDetails(this.purchaseDetails);\n }else\n {\n this.addPurchaseDetails();\n }\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\n }\n\n\n createPurchaseDetails()\n {\n return this.fb.group(\n {\n purchase_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n purchase_item:[null,Validators.compose([Validators.required])],\n purchase_qty:[null,Validators.compose([Validators.required])],\n fk_uom_id:[null,Validators.compose([Validators.required])],\n rate_per_unit:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_purchase_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n\n getdropList()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\n }\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\n }\n });\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\n }\n })\n }\n addPurchaseDetails()\n {\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\n control.push(this.createPurchaseDetails());\n }\n\n deletePurchaseDetails(i)\n {\n this.annual.splice(i,1);\n \n // this.annual[i].spl\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \n const control = this.rawMaterialForm.controls['purchase'] as FormArray\n control.removeAt(i); \n }\n\n\n salecalculat(index,details)\n {\n console.log(this.grandpurchaseTotal);\n console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let purchaseQty = details.value.purchase_qty;\n let UOM = details.value.rate_per_unit;\n console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(purchaseQty!=null && UOM!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (purchaseQty*UOM*250);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (purchaseQty*UOM);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (purchaseQty*UOM*12);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\n }\n }\n savepurchaseData(answerData)\n {\n if(this.rawMaterialForm.valid){\n let records = {'records':answerData.purchase};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.getAssessedDetails();\n \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter All Field');\n }\n }\n\n getpurchaseDetails(purchaseDetails)\n {\n console.log('function in',purchaseDetails);\n \n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \n console.log(control); \n if(purchaseDetails.length ==0)\n {\n console.log('if');\n this.addPurchaseDetails();\n }else{\n console.log('else');\n purchaseDetails.forEach((val,index)=>\n {\n // console.log(index);\n control.push(this.createPurchasewithData(val));\n this.annual[index] = val.annual_purchase_value;\n });\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\n }\n // console.log(control); \n \n }\n\n createPurchasewithData(data)\n {\n return this.fb.group(\n {\n purchase_id:[data.purchase_id],\n fk_pd_id:[this.pdDetails.pd_id],\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedBusinessPage 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-business',\n templateUrl: 'pd-question-assessed-business.html',\n})\nexport class PdQuestionAssessedBusinessPage {\n m_freqOfPurchase: any;\n expenseDetails: any;\n grandpurchaseTotal(arg0: any): any {\n throw new Error(\"Method not implemented.\");\n }\n grandExpenseTotal: any=[];\n expenseannual: any=[];\n users: any;\n pdDetails: any;\n BuissnessForm:FormGroup;\n businessExpenses:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.expenseDetails = this.navParams.get('expense');\n this.users = this.aws.getlocale();\n this.BuissnessForm = this.fb.group(\n {\n busExpense:this.fb.array([]),\n });\n\n if(this.expenseDetails!=null)\n {\n this.getBuisnessExpenses(this.expenseDetails);\n }else\n {\n this.addBusinessDetails();\n }\n this.getdropdown();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\n {\n if(res['dataStatus']==true){\n \n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\n } \n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\n }\n\n\n createBusinessDetails()\n {\n return this.fb.group(\n {\n pd_expense_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n expense_item_id:[null,Validators.compose([Validators.required])],\n expense_value:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_expenses_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n\n addBusinessDetails()\n {\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\n control.push(this.createBusinessDetails());\n }\n\n deleteBuisnessDetails(i)\n {\n this.expenseannual.splice(i,1); \n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n \n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\n control.removeAt(i);\n }\n\n busExpensecalculat(index,details)\n {\n \n console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let expenseValue = details.value.expense_value;\n let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(expenseValue!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (expenseValue*250);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (expenseValue);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (expenseValue*12);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n\n saveBusinessData(answerData)\n {\n // console.log(answerData);\n if(this.BuissnessForm.valid){\n let records = {'records':answerData.busExpense};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n \n }\n\n getBuisnessExpenses(expenseDetails)\n {\n if(expenseDetails.length==0)\n {\n this.addBusinessDetails();\n }else\n {\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \n expenseDetails.forEach((val,index)=>\n {\n this.expenseannual[index] = val.annual_expenses_value;\n control.push(this.createBusinessExpensewithData(val));\n })\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createBusinessExpensewithData(data)\n {\n return this.fb.group(\n {\n pd_expense_id:[data.pd_expense_id],\n fk_pd_id:[this.pdDetails.pd_id],\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\n\n/**\n * Generated class for the PdQuestionAssessedHouseholdPage 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-household',\n templateUrl: 'pd-question-assessed-household.html',\n})\nexport class PdQuestionAssessedHouseholdPage {\n\n m_freqOfPurchase: any;\n expenseDetails: any;\n houseExpenseDetails: any;\n users: any;\n pdDetails: any;\n houseannual: any =[];\n grandHouseExpenseTotal: any=[];\n houseHoldForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.houseExpenseDetails = this.navParams.get('FormId');\n this.expenseDetails = this.navParams.get('expense');\n this.users = this.aws.getlocale();\n this.houseHoldForm = this.fb.group(\n {\n houseExpense:this.fb.array([]),\n });\n if(this.expenseDetails !=null)\n {\n this.getHouseholdExpense(this.expenseDetails);\n }else\n {\n this.addHouseExpenses();\n }\n this.getdropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n createHouseExpense()\n {\n return this.fb.group(\n {\n household_expense_id:[null],\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\n\t\t expense_item: [null,Validators.compose([Validators.required])],\n\t\t expense_value: [null,Validators.compose([Validators.required])],\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\n\t\t annual_expense_value: [null,Validators.compose([Validators.required])],\n\t\t isactive: [\"1\"],\n\t\t fk_createdby: [this.users]\n })\n }\n\n addHouseExpenses()\n {\n \n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\n\n control.push(this.createHouseExpense());\n }\n\n deleteHouseExpense(i)\n {\n this.houseannual.splice(i,1); \n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\n control.removeAt(i) \n }\n houseExpensecalculat(index,details)\n {\n \n let frequencyId = details.value.fk_frequency_id;\n let expenseValue = details.value.expense_value;\n // let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(details);\n let annual\n if(expenseValue!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (expenseValue*250);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (expenseValue);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (expenseValue*12);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n console.log(this.grandHouseExpenseTotal); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n saveHouseExpenseData(answerData)\n {\n if(this.houseHoldForm.valid)\n {\n let records = {'records':answerData.houseExpense};\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\n { \n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n }\n\n getHouseholdExpense(houseExpesneDetails)\n {\n if(houseExpesneDetails.length==0)\n {\n this.addHouseExpenses(); \n }else\n {\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \n houseExpesneDetails.forEach((val,index)=>\n {\n this.houseannual[index] = val.annual_expense_value;\n control.push(this.createHouseholdwithData(val));\n \n });\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createHouseholdwithData(data)\n {\n return this.fb.group(\n {\n household_expense_id:[data.household_expense_id],\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\n\t\t annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\n\t\t isactive: [\"1\"],\n\t\t fk_createdby: [this.users]\n })\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedBusinessIncomePage 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-business-income',\n templateUrl: 'pd-question-assessed-business-income.html',\n})\nexport class PdQuestionAssessedBusinessIncomePage {\n m_freqOfPurchase: any = [];\n expenseDetails: any;\n \n grandIncomeTotal: any=[];\n incomeannual: any=[];\n users: any;\n pdDetails: any;\n BuissnessForm:FormGroup;\n businessIncome:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.expenseDetails = this.navParams.get('income');\n console.log(this.expenseDetails);\n this.users = this.aws.getlocale();\n this.BuissnessForm = this.fb.group(\n {\n busIncome:this.fb.array([]),\n });\n\n if(this.expenseDetails!=null)\n {\n this.getBuisnessExpenses(this.expenseDetails);\n }else\n {\n this.addBusinessDetails();\n }\n this.getdropdown();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\n {\n if(res['dataStatus']==true){\n \n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\n } \n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\n }\n createBusinessDetails()\n {\n return this.fb.group(\n {\n pd_business_income_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n business_income_id:[null,Validators.compose([Validators.required])],\n income_value:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_income_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users],\n other_income_item:[null],\n other_frequncy_item:[null],\n })\n }\n\n addBusinessDetails()\n {\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\n control.push(this.createBusinessDetails());\n }\n\n deleteBuisnessDetails(i)\n {\n this.incomeannual.splice(i,1); \n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n \n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\n control.removeAt(i);\n }\n\n busIncomecalculate(index,details)\n {\n \n console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let incomeValue = details.value.income_value;\n // let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(frequencyId);\n let annual:any;\n if(incomeValue!=null && incomeValue !=null){\n let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \n if(frequencyId==1)\n {\n console.log(frequency_factor.mutiple_factor);\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==2)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==5)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==7)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==8)\n {\n annual = (incomeValue);\n this.incomeannual[index] = annual; \n details.controls['annual_income_value'].setValue(annual); \n\n }else\n {\n\n }\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n\n saveBusinessData(answerData)\n {\n // console.log(answerData);\n if(this.BuissnessForm.valid){\n let records = {'records':answerData.busIncome};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n \n }\n\n getBuisnessExpenses(expenseDetails)\n {\n if(expenseDetails.length==0)\n {\n this.addBusinessDetails();\n }else\n {\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \n expenseDetails.forEach((val,index)=>\n {\n this.incomeannual[index] = val.annual_income_value;\n control.push(this.createBusinessExpensewithData(val));\n })\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createBusinessExpensewithData(data)\n {\n return this.fb.group(\n {\n pd_business_income_id:[data.pd_business_income_id],\n fk_pd_id:[this.pdDetails.pd_id],\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\n income_value:[data.income_value,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users],\n other_income_item:[data.other_income_item],\n other_frequncy_item:[data.other_frequncy_item],\n })\n }\n}\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 } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionLenderRepresentativePage 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-lender-representative',\n templateUrl: 'pd-question-lender-representative.html',\n})\nexport class PdQuestionLenderRepresentativePage {\n\n users: any;\n FormId: any;\n pdDetails: any;\n representativeForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n this.users = this.aws.getlocale();\n this.representativeForm = this.fb.group({\n pdid:[this.pdDetails.pd_id],\n formid:[this.FormId.form_id],\n fk_createdby:[this.users],\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\n representative_remarks: ['', Validators.compose([Validators.required])],\n lender_representative_details: this.fb.array([]),\n });\n this.getLenderReDetails();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\n }\n \n createlenReDetails()\n {\n return this.fb.group({\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\n });\n }\n\n selectedLoanChanges(e): void {\n if (e.value == 'Yes') {\n const control = this.representativeForm.controls['lender_representative_details'];\n control.push(this.createlenReDetails());\n } else if (e.value == 'No') {\n const arr = this.representativeForm.controls.lender_representative_details;\n arr.removeAt(0);\n }\n }\n\n sumbitData(answerData)\n { \n if(this.representativeForm.valid)\n {\n let records = this.representativeForm.value;\n \n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n });\n }else\n {\n this.toast.pdTriggerappmessage('Enter All Field');\n }\n }\n\n getLenderReDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let lenderReDetails = res['records'];\n if(lenderReDetails.lender_representative_accompany=='Yes'){\n\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\n\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\n\n\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\n {\n return res['records'].lender_representative_details[key];\n });\n console.log(lender_represent_details);\n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \n lender_represent_details.forEach(val=>\n {\n control.push(this.createlenReDetails());\n })\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\n\n }else\n {\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\n\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\n }\n }\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\nimport { DatePipe} from '@angular/common';\nimport {PdPipe} from './../../../pipes/pd/pd';\nimport { removeSummaryDuplicates } from '@angular/compiler';\n\n/**\n * Generated class for the PdQuestionGeneralInfoPage 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-general-info',\n templateUrl: 'pd-question-general-info.html',\n providers:[PdPipe],\n})\nexport class PdQuestionGeneralInfoPage {\n pipe=new DatePipe('en-US');\n // person_name:any;\n qualification_name:any;\n individuals_order_id:any;\n is_new:any;\n pd_co_applicant_id:any;\n lengthv:any;\n qual_name:any;\n curr_qualification_name;\n curr_business_name;\n \n\n applicant_name: any;\n otherapp: any;\n fetch_related_details: any = [];\n checkApplicantExist: any;\n pd_applicants_details: any = [];\n companyRelationShipList: any;\n qualificationList:any;\n businessEntityTypeList:any;\n relationShipList: any;\n titleList:any;\n users: any;\n FormId: any;\n pdDetails: any;\n generalForm:FormGroup;\n fulldata:any\n public buttonClick:boolean;\n public h_companies:boolean\n datav:any;\n individualsListBothCase:any;\n individualsList:any;\n companyList:any;\n i:number;\n data_all:any;\n maxDate:any;\n OldData:any=[];\n OldData_indi:any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) {\n this.maxDate = new Date();\n console.log(this.maxDate);\n this.pd_applicants_details = []; \n this.pd_applicants_details.pop(); \n this.pdDetails = this.navParams.get('pdDetails');\n console.log(\"Full pd\",this.pdDetails);\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\n //this.maxDate=new Date(get_max_date)\n this.FormId = this.navParams.get('FormId');\n \n console.log(this.pdDetails);\n this.users = this.aws.getlocale();\n this.getdropdown();\n this.getGeneralForm();\n this.generalForm = this.fb.group({\n pdid:this.pdDetails.pd_id,\n formid:this.FormId.form_id,\n applicant_list: this.fb.array([]),\n applicant_relation: this.fb.array([]),\n list_value:this.fb.array([]),\n company_value:this.fb.array([]),\n individuals:this.fb.array([]),\n companies:this.fb.array([]),\n persons_with_relationships:this.fb.array([]),\n company_with_relationships:this.fb.array([]),\n \n general_remark:''\n });\n \n //this.initIndividuals();\n this.pd_applicants_details = this.pdDetails.applicat_details;\n // console.log(this.pd_applicants_details);\n // console.log(this.pd_applicants_details);\n \n \n \n // this.getcoapplicantDetails();\n this.buttonClick=false;\n this.h_companies=false;\n // this.initCompanies()\n this.datav=[{\n name:\"fairoj\",\n id:1\n },\n {\n name:\"ff\",\n id:2\n }\n \n ]\n //this.fulldata=this.generalForm.value\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\n let control=this.generalForm.controls['list_value'];\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\n this.fulldata=control.value;\n //control.controls.length\n //control.push()\n console.log(\"individualsListBothCase\",this.individualsListBothCase);\n });\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\n let control=this.generalForm.controls['company_value'];\n this.companyList=control.value.filter(element=>element.company_name )\n })\n this.i=0;\n \n }\n initlistv(data,purpose) :void\n {\n console.log(\"full data length\",this.lengthv.individuals.length);\n console.log(\"gne data\",data)\n const control=this.generalForm.controls['list_value'];\n if(purpose=='ins')\n {\n for(let val of data)\n {\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\n let formData:FormGroup=this.fb.group({\n applicant_title_name:[val.applicant_title_name],\n applicant_name:[val.applicant_name],\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:[val.age],\n qualification:[val.qualification],\n \n individuals_order_id:[this.lengthv.individuals.length+1],\n is_new:true,\n is_active:true,\n pd_co_applicant_id:[this.lengthv.individuals.length+1], \n \n qualification_name:[c_qualification_name]\n \n\n });\n control.push(formData);\n this.buttonClick=false;\n // this.generalForm.value.individuals.value=\"\"\n }\n }\n if(purpose=='get'){\n for(let val of data)\n {\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\n let formData:FormGroup=this.fb.group({\n applicant_name:[val.applicant_name],\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:[val.age],\n qualification:[val.qualification],\n \n individuals_order_id:[val.individuals_order_id],\n is_new:[val.is_new],\n is_active:[val.is_active],\n pd_co_applicant_id:[val.pd_co_applicant_id] , \n \n \n \n \n\n qualification_name:[c_qualification_name]\n \n\n });\n control.push(formData);\n this.buttonClick=false;\n // this.generalForm.value.individuals.value=\"\"\n }\n }\n}\n\n qualificationById(data):string{\n //console.log(\"qualification List\",this.qualificationList.length)\n console.log(\"value\",data)\n for(let i=0 ;ithis.generalForm.controls['company_value'];\n if(purpose=='ins')\n {\n for(let val of data)\n {\n var c_business_name=''\n if(val.business_entity_type!=1){\n c_business_name=this.businessEntityById(val.business_entity_type)\n }\n if(val.business_entity_type==1){\n c_business_name=val.business_entity_type_other\n }\n \n let formData:FormGroup=this.fb.group({\n company_name:[val.company_name],\n // pd_co_applicant_id:[this.i+1],\n company_order_id:[this.lengthv.companies.length+1],\n is_company_applicant:[val.is_company_applicant],\n business_entity_type:[val.business_entity_type],\n business_entity_type_other:[val.business_entity_type_other],\n is_new:true,\n is_active:true,\n company_messrs_name:['M/s'],\n \n business_years:[val.business_years],\n business_month:[val.business_month],\n business_date_object:[val.business_date_object],\n\n business_entity_type_name:[c_business_name]\n });\n control.push(formData);\n this.h_companies=false;\n }\n }\n if(purpose=='get')\n {\n for(let val of data)\n {\n \n var c_business_name=''\n if(val.business_entity_type!=1){\n c_business_name=this.businessEntityById(val.business_entity_type)\n }\n if(val.business_entity_type==1){\n c_business_name=val.business_entity_type_other\n }\n\n let formData:FormGroup=this.fb.group({\n company_name:[val.company_name],\n // pd_co_applicant_id:[this.i+1],\n company_order_id:[val.company_order_id],\n is_company_applicant:[val.is_company_applicant],\n business_entity_type:[val.business_entity_type],\n business_entity_type_other:[val.business_entity_type_other],\n is_new:[val.is_new],\n is_active:[val.is_active],\n company_messrs_name:[val.company_messrs_name],\n \n business_years:[val.business_years],\n business_month:[val.business_month],\n business_date_object:[val.business_date_object],\n\n business_entity_type_name:[c_business_name]\n });\n control.push(formData);\n console.log(\"finished company Value\");\n this.h_companies=false;\n }\n }\n }\n businessEntityById(val):string{\n //console.log(\"qualification List\",this.qualificationList.length)\n console.log(\"value\",val)\n for(let v of this.businessEntityTypeList){\n if(val==v.business_entity_type_id){\n var name=v.business_entity_type_name\n console.log(\"i\",v.business_entity_type_name)\n return name\n }\n }\n \n }\n ionViewDidLoad() {\n this.pd_applicants_details.pop();\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\n }\n\n initIndividuals():void{\n let formData : FormGroup=this.fb.group({\n applicant_name:['',Validators.required],\n is_person_met:false,\n is_applicant:false,\n age:['',Validators.required],\n qualification:['',Validators.required],\n applicant_title_name:['']\n\n });\n \n const control=this.generalForm.controls['individuals'];\n control.controls=[]\n control.push(formData);\n \n \n }\n initCompanies():void{\n let formData:FormGroup=this.fb.group({\n company_name:[''],\n is_company_applicant:false,\n business_entity_type:[''],\n business_entity_type_other:[''],\n business_years:[''],\n business_month:[''],\n business_date_object:['']\n });\n const control=this.generalForm.controls['companies'];\n control.controls=[]\n control.push(formData)\n }\n initPersonRelationship(value):void{\n if(value=='')\n {\n let formData:FormGroup=this.fb.group({\n pd_co_applicant_id:[''],\n applicant_name:[''],\n relationship:[''],\n relation_to:[''],\n individuals_order_id:[this.lengthv.persons_with_relationships.length+1],\n \n });\n const control=this.generalForm.controls['persons_with_relationships'];\n control.push(formData);\n }\n else{\n for(let val of value)\n {\n let formData:FormGroup=this.fb.group({\n pd_co_applicant_id:[val.pd_co_applicant_id],\n applicant_name:[val.applicant_name],\n relationship:[val.relationship],\n relation_to:[val.relation_to],\n });\n const control=this.generalForm.controls['persons_with_relationships'];\n control.push(formData);\n }\n }\n \n }\n initCompanyRelationShip(value):void{\n if(value=='')\n {\n let formData:FormGroup=this.fb.group({\n applicant_name:[''],\n company_relationship:[''],\n relation_to_company:[''],\n });\n const control=this.generalForm.controls['company_with_relationships'];\n control.push(formData);\n }\n else{\n for(let val of value){\n let formData:FormGroup=this.fb.group({\n applicant_name:[val.applicant_name],\n company_relationship:[val.company_relationship],\n relation_to_company:[val.relation_to_company],\n });\n const control=this.generalForm.controls['company_with_relationships'];\n control.push(formData);\n }\n }\n \n }\n\n \n \n add():void{\n \n this.initIndividuals();\n }\ndata:any;\ncart=[];\ndatajson:any;\ndataobj:any;\n\n addRec(v){\n console.log(\"v\",v);\n if(v=='1')\n {\n this.buttonClick=!this.buttonClick;\n this.initIndividuals();\n }\n if(v=='2')\n {\n this.h_companies=!this.h_companies;\n this.initCompanies();\n }\n }\n \n delete(v):void{\n // const control=this.generalForm.controls['individuals'];\n //control.removeAt(i);\n //this.data=this.generalForm.value.individuals;\n /* console.log(\"Data First\",this.data);\n this.cart.push(this.generalForm.value.individuals);\n this.data=Object.assign(this.cart);\n console.log(\"Cart\",this.cart);\n // this.data=Object.assign(this.generalForm.value.individuals)\n this.datajson=JSON.stringify(this.cart)\n console.log(\"dataobj\",this.dataobj)\n console.log(\"data\",this.data);\n console.log(\"datajson\",this.datajson)*/\n if(v=='1')\n {\n if(!this.generalForm.controls['individuals'].valid){\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\n }\n else{\n this.initlistv(this.generalForm.value.individuals,'ins')\n this.initPersonRelationship('');\n }\n }\n if(v=='2')\n {\n if(!this.generalForm.controls['companies'].valid){\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\n }\n else{\n this.initCompanyValue(this.generalForm.value.companies,'ins')\n }\n }\n }\n removeList(i,index){\n if(index=='1')\n {\n //For List List_value(Individuals)\n const control=this.generalForm.controls['list_value'];\n control.value[i].is_active=false;\n this.OldData_indi.push(control.value[i])\n control.removeAt(i);\n //For Person RelationShip auto Delete\n // const control1=this.generalForm.controls['persons_with_relationships'];\n //control1.removeAt(i);\n \n }\n if(index==2){\n //For Company_values(Companies)\n const control=this.generalForm.controls['company_value']\n control.value[i].is_active=false\n var vla=control.value[i]\n this.OldData.push(vla);\n console.log(vla);\n console.log(this.OldData);\n control.removeAt(i);\n \n\n // let control: any = this.generalForm.get('companies') as FormArray;\n //this.generalForm.controls['companies']\n //control.controls['is_active'].setValue(false);\n //control.controls[i].clearValidators();\n //control.controls[i].updateValueAndValidity();\n //control.clear\n // control.controls[i].is_active.setValue(false);\n /* control.controls[i].controls.company_name.clearValidators();\n control.controls[i].controls.company_name.updateValueAndValidity();\n control.controls[i].controls.business_years.clearValidators();\n control.controls[i].controls.business_years.updateValueAndValidity();\n control.controls[i].controls.business_entity_type.clearValidators();\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\n }\n if(index==\"companyrel\")\n {\n //For company_relationship\n const control=this.generalForm.controls['company_with_relationships'];\n control.removeAt(i);\n }\n }\n \n \n getdropdown()\n {\n\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\n }\n });\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\n }\n });\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\n if(res['dataStatus']==true)\n {\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\n console.log(\"qualificationList\",this.qualificationList)\n }\n });\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\n });\n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\n if(res['dataStatus']==true){\n this.titleList=res['records'].filter(com=>com.isactive==1);\n }\n });\n \n }\n\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\n {\n let applicantControl = this.generalForm.controls['applicant_list'];\n let relationControl = this.generalForm.controls['applicant_relation'];\n \n \n if(checkApplicantExist.length > 0)\n {\n checkApplicantExist.forEach(val => {\n applicantControl.push(this.createApplicant(val));\n });\n \n }\n if(exist_applicant_relation.length > 0){\n exist_applicant_relation.forEach(val => {\n console.log(val);\n relationControl.push(this.createApplicantRelation(val));\n //push related to details\n this.fetch_related_details.push(val.applicant_name);\n });\n }\n }\n\n createApplicant(elementValue:any){\n return this.fb.group({\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name],\n company_name: [elementValue.company_name],\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\n });\n }\n\n coapplicantChange(event,index,item)\n {\n \n let relationControl = this.generalForm.controls['applicant_relation'];\n let applicantControl = this.generalForm.controls['applicant_list'];\n \n if(item.exist_status.value)\n {\n if(item.pd_co_applicant_id.value==0){\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\n modal.onDidDismiss(data => {\n if(data!=1){\n data.otherName.forEach(val=>\n {\n\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':''};\n relationControl.push(this.createApplicantRelation(applicant_details));\n // push related to details\n this.fetch_related_details.push(val.applicant_name);\n });\n }else\n {\n applicantControl.at(index).get('exist_status').setValue(false);\n \n \n }\n });\n modal.present();\n }else\n {\n \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':''};\n relationControl.push(this.createApplicantRelation(applicant_details));\n // push related to details\n this.fetch_related_details.push(item.applicant_name.value);\n }\n }\n else\n {\n let relationControl = this.generalForm.controls['applicant_relation'];\n let pos_id = relationControl.value.map(e=> \n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\n console.log(pos_id,item.pd_co_applicant_id.value);\n if(item.pd_co_applicant_id.value !=0){\n relationControl.removeAt(pos_id);\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\n this.fetch_related_details.splice(pos_name, 1); \n }else\n {\n applicantControl.at(index).get('exist_status').setValue(false);\n \n }\n // remove related to details\n \n }\n\n }\n\n createApplicantRelation(elementValue: any) {\n console.log('function in 156'); \n return this.fb.group({\n \n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name],\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\n company_relationship: [elementValue.company_relationship],\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\n relationship: [elementValue.relationship],\n });\n }\n // temparr=[];\n removereferance(index)\n {\n \n let relationControl = this.generalForm.controls['applicant_relation'];\n \n \n \n \n relationControl.removeAt(index);\n // this.temparr = [];\n \n }\n // createApplicateOthers()\n // {\n // return this.fb.group(\n // {\n // Name:\n // })\n // }\n ConvertMonthintoYearforBusiness(e,controlIndex){\n let control: any = this.generalForm.get('companies') as FormArray;\n control = control.controls[controlIndex];\n let business_year = control.controls.business_years.value;\n\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n control.controls.business_month.setValue(Math.floor(converted_month));\n \n}\ngetDateObjects(values: any, controlIndex) {\n console.log(\"Date Change Action\",values);\n let control: any = this.generalForm.get('companies') as FormArray;\n control.controls['business_years']=''\n control.controls['business_month']=''\n control = control.controls[controlIndex];\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\n let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\n let diff: number = Math.floor(diffInMs / 1000);\n diff /= (60 * 60 * 24 * 30);\n diff=Math.abs(Math.round(diff));\n control.controls['business_years'].setValue(0);\n control.controls['business_month'].setValue(0);\n \n if(diff){\n control.controls['business_years'].setValue(Math.floor(diff / 12));\n control.controls['business_month'].setValue(Math.floor(diff % 12));\n }\n\n}\n submitData(answerData)\n {\n \n console.log(\"Answer\",answerData);\n let saveRecords:any={}\n var valuesData_indi:any=[]\n\n var valuesData:any=[]\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\n return answerData.list_value[key]\n })\n existData_indi.forEach((element)=>{\n valuesData_indi.push(element)\n })\n if(this.OldData_indi.length>0){\n this.OldData_indi.forEach((element)=>{\n valuesData_indi.push(element)\n })\n }\n\n var existData=Object.keys(answerData.company_value).map(function(key){\n return answerData.company_value[key]\n })\n existData.forEach((element)=>{\n valuesData.push(element)\n })\n if(this.OldData.length>0){\n this.OldData.forEach((element)=>{\n valuesData.push(element)\n })\n }\n \n saveRecords.individuals=valuesData_indi;\n saveRecords.companies=valuesData\n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.fk_createdby=this.users;\n \n \n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\n saveRecords.company_with_relationships=answerData.company_with_relationships\n saveRecords.general_remark=answerData.general_remark;\n console.log(\"save Records\",saveRecords);\n \n \n \n console.log(\"saveR\",saveRecords)\n console.log(\"Save\",valuesData)\n \n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\n if(dataResult['dataStatus']==true){\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n\n }\n else{\n this.toast.pdTriggerappmessage('Error');\n //console.log(\"Error\",)\n }\n })\n \n /* Old Data\n console.log(\"Answer Data\",answerData);\n if(this.generalForm.valid)\n {\n let saveRecords:any = {}\n let applicantList:any=[];\n let applicantRelationList:any=[];\n // this for applicant list for selected\n answerData.applicant_list.forEach((element,key) => {\n if(element.exist_status==1){\n applicantList.push({\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\n \"applicant_name\":element.applicant_name,\n }) \n }\n });\n // this is for selected applicant relation \n answerData.applicant_relation.forEach((element,key) => {\n applicantRelationList.push({\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\n \"applicant_name\":element.applicant_name,\n \"company_name\":element.company_name,\n \"company_relationship\":element.company_relationship,\n \"applicant_relation_to\":element.applicant_relation_to,\n \"relationship\":element.relationship,\n }) \n });\n \n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.general_remark=answerData.general_remark;\n saveRecords.selected_applicant=applicantList;\n saveRecords.applicant_relation=applicantRelationList;\n saveRecords.fk_createdby = this.users;\n console.log(saveRecords);\n this.qustCat.saveForm(saveRecords).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n } \n })\n }*/\n }\n\n getGeneralForm()\n {\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>{\n this.data_all=res['records'];\n var exist_companies:any;\n let companyControl = this.generalForm.get('companies') as FormArray;\n companyControl.controls=[]\n if(res['dataStatus']==true)\n {\n console.log(\"Getting DAta\",res);\n \n this.lengthv=this.data_all;\n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\n console.log(\"1\")\n this.initlistv(this.data_all.individuals,'get')\n\n /* var arrlist_indi:any=[] \n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\n return res['records'].individuals[key];\n }) \n if(exist_individuals.length>0){\n exist_individuals.forEach((element)=>{\n if(element.is_active != false){\n arrlist_indi.push(element);\n }\n })\n }*/\n console.log(\"2\")\n \n \n \n\n var arraylis:any=[]\n exist_companies=Object.keys(res['records'].companies).map(function(key){\n return res['records'].companies[key];\n })\n if(exist_companies.length>0){\n exist_companies.forEach((element,cindex)=>{\n if(element.is_active!=false){\n arraylis.push(element);\n }\n else{\n this.OldData.push(element);\n }\n })\n \n }\n console.log(exist_companies);\n console.log(\"Old Data\",this.OldData);\n this.initCompanyValue(arraylis,'get');\n console.log(\"3\")\n \n if(this.data_all.persons_with_relationships != ''){\n console.log(\"Entering personwithRelation\")\n this.initPersonRelationship(this.data_all.persons_with_relationships);\n console.log(\"4\")\n }\n\n if(this.data_all.company_with_relationships != ''){\n this.initCompanyRelationShip(this.data_all.company_with_relationships);\n console.log(\"5\")\n }\n \n }\n else{\n console.log(\"Error\");\n }\n })\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n console.log('function in');\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\n \n let generalDetails = res['records'];\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\n\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\n {\n console.log(key);\n return res['records'].applicant_relation[key];\n });\n\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\n {\n return res['records'].selected_applicant[key].pd_co_applicant_id;\n });\n let applicantControl = this.generalForm.controls['applicant_list'];\n \n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\n let checkApplicantExist =actual_applicant.map((id, index) => {\n if (selected_applicant.indexOf(id) < 0) {\n this.pd_applicants_details[index].exist_status=0;\n return this.pd_applicants_details[index];\n }\n else{\n this.pd_applicants_details[index].exist_status=1;\n this.pd_applicants_details[index].applicant_relation_to='';\n this.pd_applicants_details[index].relation='';\n return this.pd_applicants_details[index];\n }\n }).filter(item => item != undefined);\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\n }else\n {\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\n \n }\n })*/\n }\n createCompanies(elementValue:any) {\n return this.fb.group({\n company_order_id: [elementValue.company_order_id],\n company_name: [elementValue.company_name,],\n company_messrs_name: ['M/s'],\n is_company_applicant:[elementValue.is_company_applicant],\n business_entity_type :[elementValue.business_entity_type,Validators.required],\n business_years: [elementValue.business_years, Validators.required],\n business_month: [elementValue.business_month],\n business_date_object: [elementValue.business_date_object],\n is_active: [elementValue.is_active],\n is_new:[elementValue.is_new],\n \n });\n }\n \n \n}\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';\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionGeneralOtherApplicantPage 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-general-other-applicant',\n templateUrl: 'pd-question-general-other-applicant.html',\n})\nexport class PdQuestionGeneralOtherApplicantPage {\n otherForm:FormGroup;\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\n this.otherForm = this.fb.group(\n {\n otherName:this.fb.array([]),\n })\n this.addmore();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\n }\n\n createName(elementValue:any)\n {\n return this.fb.group(\n {\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name, Validators.required],\n })\n }\n\n addmore()\n {\n if(this.otherForm.valid)\n {\n const control = this.otherForm.controls['otherName'];\n control.push(this.createName(this.applicantInfo));\n }\n }\n\n deleteappdata(index)\n {\n const control = this.otherForm.controls['otherName'];\n if(control.length==1){\n control.reset();\n }else{\n control.removeAt(index);\n }\n }\n\n closeModal(){\n this.viewCtrl.dismiss(1); \n }\n submitData(answerData)\n {\n if(this.otherForm.valid){\n this.viewCtrl.dismiss(this.otherForm.value);\n }\n }\n\n\n}\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';\n\n/**\n * Generated class for the PdPipe pipe.\n *\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\n */\n@Pipe({\n name: 'pdPipe',\n})\nexport class PdPipe implements PipeTransform {\n /**\n * Takes a value and makes it lowercase.\n */\n transform(value: any, searchItem:any):any {\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\n if(findExistIndex.length>0){\n let check = value.filter(function(fVal){\n return !findExistIndex.some(function(sVal){\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\n });\n })\n return check;\n }\n else {\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\n }\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionNeighbourHoodPage 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-neighbour-hood',\n templateUrl: 'pd-question-neighbour-hood.html',\n})\nexport class PdQuestionNeighbourHoodPage {\n\n frequency: any;\n relationBusiness: any;\n users: any;\n FormId: any;\n pdDetails: any;\n neighbourhoodForm:FormGroup;\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\n {'id': 2,'name': \"Negative\"},\n {'id': 3,'name': \"Insufficient information provided\"}];\n\n amtInWords:any=[];\n applicants:any;\n isDisplay:any = [];\n isDisplay2:any = [];\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder, public constant: ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n console.log(\"Pd\",this.pdDetails)\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2);\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\n this.neighbourhoodForm = this.fb.group(\n {\n pdid:this.pdDetails.pd_id,\n formid:this.FormId.form_id,\n check_type:0,\n neighbourhood_list: this.fb.array([]),\n neighbourhood_status:[''],\n referencecheck_list: this.fb.array([]),\n neighbour_reference_remark:'' \n })\n // console.log(this.pdDetails);\n this.users = this.aws.getlocale();\n this.getneighbourhood();\n \n this.getdropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionNeighbourHoodPage');\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\n }\n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n inWords(val,i)\n {\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n }\n keyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e,flag){\n if(flag == 2){\n\n let year = itemrow.controls.year_relation_applicant.value;\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\n }\n else if(flag == 1){\n \n let year = itemrow.controls.how_long_do_know_in_year.value;\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\n }\n}\n\ntoggleVisibility(e,index,flag){ \n console.log(e,index);\n let val\n if(e.checked == true){\n val=1\n }\n else{\n val=0\n }\n if(flag == 1){\n // console.log(\"val\",val);\n this.isDisplay[index] = e;\n }\n else if(flag==2){\n this.isDisplay2[index] = e;\n }\n}\n\ncheckOthers(values){\n console.log(\"check other value\",values)\n if(values!=null) {\n return values==0 ? true : false;\n }\n else {\n return false;\n }\n}\n\n createreferance()\n {\n return this.fb.group({\n reference_name: [null],\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n statecode:[null],\n landline: [null],\n location:[null],\n relationship_with:[null],\n others:[null],\n year_relation_applicant:[null],\n months_relation_applicant:[null],\n business_volume_amount:[null],\n business_volume_unit:[null],\n others_unit:[null],\n reference_final_remarks:[null],\n specify_final_remark:[null]\n });\n }\n addreferance()\n {\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\n control.push(this.createreferance());\n }\n\n removereferance(i)\n {\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\n if(control.length==1)\n {\n control.reset();\n }else{\n control.removeAt(i);\n }\n }\n\n createNeighbourhood(){\n return this.fb.group({\n neighbourhood_name: [null],\n do_know: [''],\n \n how_long_do_know_in_year: [''],\n how_long_do_know_in_month:[''],\n organisation_owner: [''],\n is_applicant_owner:[''],\n other_organisation_owner:[''],\n did_not_know_the_business_operation:[''],\n did_not_know_the_owner:[''],\n });\n }\n\n addneighbourhood()\n {\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\n control.push(this.createNeighbourhood());\n }\n\n removeneighbourhood(i)\n {\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\n if(control.length==1)\n {\n control.reset();\n }else{\n control.removeAt(i);\n }\n }\n\n submitData(answerData)\n {\n \n \n console.log(answerData);\n \n let saveRecords:any = {}\n let referencecheck_list:any=[];\n let neighbourhood_list:any=[];\n if(answerData.check_type==0){\n answerData.neighbourhood_list.forEach((element,key) => {\n neighbourhood_list.push({\n \"neighbourhood_name\":element.neighbourhood_name,\n \"do_know\":element.do_know,\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\n \"is_applicant_owner\":element.is_applicant_owner,\n \"organisation_owner\":element.organisation_owner,\n \"other_organisation_owner\":element.other_organisation_owner,\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\n \"did_not_know_the_owner\":element.did_not_know_the_owner\n }) \n });\n saveRecords.neighbourhood_list=neighbourhood_list;\n \n }\n else{\n // this for referencecheck_list for selected\n answerData.referencecheck_list.forEach((element,key) => {\n referencecheck_list.push({\n \"reference_name\":element.reference_name,\n \"mobile\":element.mobile,\n \"landline\":element.statecode+'-'+element.landline,\n \"location\":element.location,\n \"relationship_with\":element.relationship_with,\n \"others\":element.others,\n \"year_relation_applicant\":element.year_relation_applicant,\n \"months_relation_applicant\":element.months_relation_applicant,\n \"business_volume_amount\":element.business_volume_amount,\n \"business_volume_unit\":element.business_volume_unit,\n \"others_unit\":element.others_unit,\n \"reference_final_remarks\":element.reference_final_remarks,\n \"specify_final_remark\":element.specify_final_remark\n }) \n });\n saveRecords.referencecheck_list=referencecheck_list;\n \n }\n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.check_type=answerData.check_type;\n saveRecords.fk_createdby = this.users;\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\n console.log(saveRecords);\n\n this.qustCat.saveForm(saveRecords).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n })\n \n }\n\n getneighbourhood()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let neighbourDetails = res['records'];\n console.log(\"neighbour Status\",neighbourDetails)\n // neighbourDetails.neighbourhood_list.=''\n \n if(neighbourDetails.check_type==0)\n {\n \n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\n {\n return res['records'].neighbourhood_list[key];\n });\n console.log(\"data\")\n neighbourhood_list.forEach((element,index)=>\n {\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\n neicontrol.push(this.createNeighbourhood());\n });\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\n \n\n }else\n {\n this.addneighbourhood();\n }\n if(neighbourDetails.check_type==1)\n {\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\n {\n return res['records'].referencecheck_list[key];\n });\n console.log(referencecheck_list);\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\n referencecheck_list.forEach((val,index)=>\n {\n let statecodesearch = val.landline.search(\"-\");\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\n console.log(val);\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\n control.push(this.createreferance());\n this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\n });\n console.log(referencecheck_list);\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\n \n }else\n {\n this.addreferance();\n }\n }else\n {\n this.addneighbourhood();\n this.addreferance();\n }\n })\n }\n\n\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder} from '@angular/forms';\n// import { t } from '@angular/core/src/render3';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n/**\n * Generated class for the PdQuestionFinalRemarkPage 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-final-remark',\n templateUrl: 'pd-question-final-remark.html',\n})\nexport class PdQuestionFinalRemarkPage {\n\n m_remarkTypeCustomerBehaviour:any=[];\n\n users:any;\n pdDetails:any;\n pdid:any;\n FormId:any;\n _finalRemarkForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder, public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id\n this.FormId=this.navParams.get('FormId');\n this.users=aws.getlocale()\n console.log(\"form Id\",this.FormId);\n \n this._finalRemarkForm=this.fb.group({\n fk_createdby:[this.users],\n pdid:[this.pdid],\n formid:[this.FormId.form_id],\n final_custormer_remark_type:[null],\n final_other_customer_behaviour:[null],\n is_service_provided:[null],\n final_form_remarks:[null]\n })\n this.getDropDown();\n this.getFinalRemark();\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\n }\ngetDropDown(){\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\n console.log(\"drop\",res);\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\n })\n}\n getFinalRemark(){\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\n if(data['dataStatus']==true){\n console.log(\"Data get\",data['records'])\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\n }\n })\n }\n saveFinalRemark(){\n if(this._finalRemarkForm.invalid){\n return\n }\n else{\n var answerData=this._finalRemarkForm.value\n //To Remove The \"Null\" With Key also\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n console.log(JSON.stringify(answerData));\n this.qustcat.saveForm(answerData).subscribe(res=>{\n if(res['dataStatus']==true){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n this.navCtrl.pop();\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\n }\n });\n }\n }\n\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-supplier-info/pd-question-supplier-info';\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-client-info/pd-question-client-info';\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\n\n/**\n * Generated class for the PdQuestionBusinessGroupPage 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-business-group',\n templateUrl: 'pd-question-business-group.html',\n})\nexport class PdQuestionBusinessGroupPage {\n \n FormId: any;\n pdDetails: any = [];\n existCompanyList: any = [];\n waitLoading:boolean;\n\n constructor(public navCtrl: NavController, \n public navParams: NavParams,\n public qustCat:QuestionCategoryProvider){\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n this.getCompanyListForBusiness();\n\n }\n \n /** To Get General Form's Company List */\n getCompanyListForBusiness(): void{\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\n if(data.dataStatus){\n this.existCompanyList = data.records.filter(val =>val.is_active && val.is_company_applicant===true);\n this.waitLoading = true;\n }\n else {\n this.waitLoading = false;\n }\n })\n }\n\n /** To Get Related Form Details */\n OnSelectBusinessGroupForms(details: any, company: any) {\n \n this.pdDetails.company_id = company.company_order_id;\n this.pdDetails.company_name = company.company_name;\n this.pdDetails.business_entity_type = company.business_entity_type;\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\n this.pdDetails.business_years = company.business_years;\n this.pdDetails.business_month = company.business_month;\n \n if(details.form_id==1){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':details.form_id,'pdDetails':this.pdDetails});\n console.log(\"form_id\",details.form_id)\n }\n if(details.form_id==2){\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':details.form_id,'pdDetails':this.pdDetails});\n console.log(\"form_id\",details.form_id)\n }\n if(details.form_id==13){\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'FormId':details.form_id,'pdDetails':this.pdDetails});\n console.log(\"form_id\",details.form_id)\n }\n if(details.form_id==14){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':details.form_id,'pdDetails':this.pdDetails});\n console.log(\"form_id\",details.form_id)\n }\n if(details.form_id==15){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':details.form_id,'pdDetails':this.pdDetails});\n console.log(\"form_id\",details.form_id)\n }\n if(details.form_id==21){\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'FormId':details.form_id,'pdDetails':this.pdDetails});\n console.log(\"form_id\",details.form_id)\n }\n if(details.form_id==22){\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'FormId':details.form_id,'pdDetails':this.pdDetails});\n console.log(\"form_id\",details.form_id)\n }\n\n\n}\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\nimport { createPipe } from '@angular/compiler/src/core';\nimport { elementAt } from 'rxjs/operators';\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionBusinessInfoPage 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-business-info',\n templateUrl: 'pd-question-business-info.html',\n})\nexport class PdQuestionBusinessInfoPage {\n stateList:any=[];\n users: any;\n FormId: any;\n pdDetails: any;\n businessForm:FormGroup;\n applicants:any;\n businessEntityTypeList: any ={\n business_entity_type_id:String,\n business_entity_type_name:String,\n sourcsection_labeleName:String\n }; \n generalExistEntityType:string\n generalExistEntityType_other:string;\n generalExistBusinessYear:Number;\n generalExistBusinessMonth:Number;\n pdid:any;\n step:number\n\n relationData: any = [];\n industryData: any = [];\n activityData: any = [];\n relativeNames: any;\n companyRelationShipList:any=[]\n countryDataList:any=[]\n exist_status:any;\n \n filterCityList : any = [];\n errorMessage:any=[];\n appxSalaryAmtInwords:any;\n titleData:any=[]\n personsList:any=[]\n \n ManufacturingChecked: boolean;\n RetailedChecked: boolean;\n WholeSalesChecked: boolean;\n ServiceChecked: boolean;\n ExportFlag: boolean=false;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\n this.getStateCityDet();\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id\n console.log(\"pdDetails\",this.pdDetails)\n this.FormId = this.navParams.get('FormId');\n this.users = this.aws.getlocale();\n //console.log(\"pd\",this.pdDetails);\n this.applicants=this.pdDetails.applicat_details;\n this.generalExistEntityType=this.pdDetails.business_entity_type\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\n this.generalExistBusinessYear=this.pdDetails.business_years\n this.step=0\n \n \n \n // this.initBusinessForm();\n // this.getBuisnessDetails();\n \n this.businessForm=this.fb.group({\n fk_createdby:[this.users],\n pdid:[this.pdid],\n formid:[this.FormId],\n company_id: this.pdDetails.company_id,\n partners:this.fb.array([]),\n persons_with_relationships:this.fb.array([]),\n select_business_activity_type:this.fb.array([]),\n manufacturing_activity_details:this.fb.array([]),\n retail_trading_activity_details:this.fb.array([]),\n wholesale_trading_activity_details:this.fb.array([]),\n service_provider_activity_details:this.fb.array([]),\n others_activity_details:this.fb.array([]),\n export_sale_of_total_sales:[''],\n //applicant_use_mobile_wallets:[''],\n //applicant_use_pos_machines:[''],\n seasonality:[''],\n employees_total: ['', Validators.compose([Validators.required])],\n employees_permanent: ['', Validators.compose([Validators.required])],\n employees_temporary: ['', Validators.compose([Validators.required])],\n employees_appx_salary:[''],\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\n officer_total: ['', Validators.compose([Validators.required])],\n shop_eat_act_cert: [''],\n gst_Regn_cert: [''],\n //export_import_cert: [''],\n // factory_cert: [''],\n //practice_cert: [''],\n pf_regn: [''],\n esic_regn: [''],\n other_documents: [''],\n documents: this.fb.array([]),\n business_remarks:['']\n\n\n\n \n })\n \n// this.initBusinessForm();\n\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\n \n \n }\n getdropdown() {\n \n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\n // console.log('data', data);\n data['records'].forEach(val => {\n if (val.isactive == 1) {\n this.relationData.push(val);\n }\n })\n });\n \n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\n // console.log('data', data);\n data['records'].forEach(val => {\n if (val.isactive == 1) {\n this.industryData.push(val);\n }\n })\n });\n \n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\n // console.log('data', data);\n data['records'].forEach(val => {\n if (val.isactive == 1) {\n this.activityData.push(val);\n }\n })\n });\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\n let filterList=data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\n this.businessEntityTypeList.business_entity_type_id=filterList[0].business_entity_type_id==1;\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\n\n\n });\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\n \n });\n \n // console.log(\"stateList first\",this.stateList);\n \n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\n //console.log(\"countryDataList\",this.countryDataList)\n });\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\n this.titleData=data['records'].filter(val=>val.isactive==1);\n })\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\n if(data.dataStatus){\n console.log(\"Person List\",data)\n this.personsList=data['record'].filter(val=>val.applicant_type==1)\n console.log(\"Person List\",this.personsList)\n }\n })\n \n}\ngetStateCityDet(){\nthis.qustCat.getStateCityDetails().subscribe(data=>{\n \n // console.log(\"data first23\",data.records) \n this.stateList=data.records\n // console.log(\"stateListFun\",this.stateList)\n this.getdropdown();\n this.getDetails();\n });\n \n \n}\n getDetails(){\n // console.log(\"get State\",this.stateList);\n let params: any = {};\n params.pd_id = this.pdid;\n params.pd_form_id = 13\n params.company_id = this.pdDetails.company_id;\n this.qustCat.retiverForm(params).subscribe(data=>{\n let businessVal=data['records']\n let constVal: any;\n // console.log(\"datavalue\",businessVal)\n \n const Partnr:any = this.businessForm.controls['partners'];\n \n const control1:any = this.businessForm.controls['persons_with_relationships'];\n \n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\n \n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\n const othersControl:any=this.businessForm.controls['others_activity_details'];\n const otherDoc = this.businessForm.controls['documents'];\n //retailControl.push(this.manufactureDetails());\n //manufacture_details.push(this.manufactureDetails())\n // console.log(\"Manufacture\",manufacture_details);\n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\n //india_sales.push(this.indiaSalesDone())\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\n // country_sale.push(this.createCountrySale());\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\n //max_sale_state.push(this.maxSaleState())\n\n if(data['status']==200){\n let DocArray: any;\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\n return data['records'].partners[key];\n })\n // console.log(\"PartnrArray\",PartnrArray)\n if(PartnrArray.length==0){\n Partnr.push(this.createPartners())\n }\n else{\n PartnrArray.forEach((datas,key) => {\n Partnr.push(this.createPartners());\n if(datas.partner_name=='Others') {\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\n }\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\n }\n else {\n Partnr.controls[key].removeControl('total_business_previous_experience')\n }\n });\n }\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\n return data['records'].persons_with_relationships[key];\n })\n if(PartnrArray1.length==0){\n control1.push(this.createRelationShip());\n }\n else{\n PartnrArray1.forEach((datas,key)=>{\n control1.push(this.createRelationShip());\n })\n }\n\n if (data['records'].other_documents == 'yes') {\n DocArray = Object.keys(data['records'].documents).map(function (key) {\n return data['records'].documents[key];\n });\n DocArray.forEach(datas => {\n otherDoc.push(this.createDocument());\n });\n } else {\n DocArray = [{document: ''}];\n otherDoc.push(this.createDocument());\n }\n\n businessVal.pdid = this.pdid;\n businessVal.formid = 13;\n businessVal.company_id = this.pdDetails.company_id;\n businessVal.fk_createdby = this.users;\n //businessVal.designation = DesgnArray;\n businessVal.partners = PartnrArray;\n businessVal.persons_with_relationships=PartnrArray1\n businessVal.documents=DocArray\n \n if(businessVal.employees_appx_salary){\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\n }\n \n console.log(\"pa\",this.businessForm.controls['partners']['controls'])\n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\n // this.businessForm.setValue(businessVal);\n //this.businessForm.value.seasonality\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\n let exist_activity_data: any=[];\n if(data['records'].select_business_activity_type){\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\n return data['records'].select_business_activity_type[key].type_of_activity_id;\n });\n }\n \n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\n if (exist_activity_data.indexOf(id) < 0) {\n activityData[index].exist_status=0;\n return activityData[index];\n }\n else{\n activityData[index].exist_status=1;\n return activityData[index];\n }\n }).filter(item => item != undefined);\n // console.log(\"exist act\",exist_activity_data);\n // console.log('activityData',activityData)\n // console.log(this.businessForm.controls['select_business_activity_type'])\n if(check_exist_businees_activity.length > 0)\n {\n check_exist_businees_activity.forEach((val,index) => {\n business_activity.push(this.createBusinessActivity(val));\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\n \n });\n // console.log(\"exist business act\",check_exist_businees_activity)\n businessVal.select_business_activity_type=check_exist_businees_activity;\n }\n // business_activity.push(this.createBusinessActivity())\n \n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\n // console.log(\"Entering Manufacture Details\");\n if(data['records'].manufacturing_activity_details){\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\n return data['records'].manufacturing_activity_details[key];\n });\n if(selectedManufacturing.length>0){\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\n \n selectedManufacturing.forEach((element,index)=>{\n manufacture_details.push(this.manufactureDetails())\n if(element.area_of_sale=='Within India'){\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n })\n }\n else if(element.area_of_sale=='Export'){\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n \n }\n });\n businessVal.manufacturing_activity_details=selectedManufacturing;\n // console.log(\"data\")\n \n }\n else{\n // console.log(\"no data \")\n businessVal.manufacturing_activity_details=[];\n }\n }\n else{\n // console.log(\"no data last\")\n businessVal.manufacturing_activity_details=[];\n }\n // console.log(\"exit\")\n if(data['records'].retail_trading_activity_details){ \n\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\n return data['records'].retail_trading_activity_details[key];\n });\n if(selectedRetail.length > 0) {\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n selectedRetail.forEach((element,index)=>{\n retailControl.push(this.manufactureDetails());\n if(element.area_of_sale=='Within India'){\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n });\n businessVal.retail_trading_activity_details=selectedRetail;\n }\n else{\n businessVal.retail_trading_activity_details=[];\n } \n }\n else {\n businessVal.retail_trading_activity_details=[];\n }\n console.log(\"retail finish\")\n\n // update whole sale details\n if(data['records'].wholesale_trading_activity_details){ \n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\n return data['records'].wholesale_trading_activity_details[key];\n });\n if(selectedWholesale.length > 0) {\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n selectedWholesale.forEach((element,index)=>{\n wholesaleControl.push(this.manufactureDetails());\n if(element.area_of_sale=='Within India'){\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n \n });\n businessVal.wholesale_trading_activity_details=selectedWholesale;\n }\n else{\n businessVal.wholesale_trading_activity_details=[];\n } \n }\n else {\n businessVal.wholesale_trading_activity_details=[];\n\n } \n console.log(\"whole Sale finish\")\n \n if(data['records'].service_provider_activity_details){\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\n return data['records'].service_provider_activity_details[key];\n })\n if(selectedService.length > 0) {\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n \n selectedService.forEach((element,index)=>{\n \n serviceProviderControl.push(this.manufactureDetails());\n \n if(element.area_of_sale=='Within India'){\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n \n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n\n \n }\n });\n // console.log(\"data\",selectedService)\n businessVal.service_provider_activity_details=selectedService;\n \n }\n else{\n businessVal.service_provider_activity_details=[];\n console.log(\"no data\")\n } \n }\n else {\n businessVal.service_provider_activity_details=[];\n\n }\n console.log(\"Service finish\")\n if(data['records'].others_activity_details){ \n\n // update others activity details\n let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\n return data['records'].others_activity_details[key];\n });\n if(selectedOthers.length > 0) {\n selectedOthers.forEach((element,index)=>{\n othersControl.push(this.createOthersActivity());\n });\n businessVal.others_activity_details=selectedOthers;\n }\n else{\n businessVal.others_activity_details=[];\n } \n }\n else {\n businessVal.others_activity_details=[];\n\n } \n console.log(\"Others finish\")\n // dynamically add form group control\n if(data['dataStatus']){\n \n if(data['records'].seasonality.toUpperCase()=='YES'){\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\n\n } \n\n console.log(\"Seasonality\");\n \n // this.businessForm.controls['partners'].setValue(PartnrArray);\n // this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\n console.log(\"inserting..\")\n console.log('businessVal',businessVal)\n this.businessForm.setValue(businessVal);\n console.log(\"Finish\")\n \n }\n else{\n Partnr.push(this.createPartners());\n \n //otherDoc.push(this.createDocument());\n\n // find business activity type businees activity type list\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\n if(activityData.length > 0)\n {\n activityData.forEach(val => {\n business_activity.push(this.createBusinessActivity(val));\n });\n }\n\n }\n})\n // change business sessional\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\n });\n // console.log(\"getDetails exit\")\n \n }\n\n filterCity(datasource: any,filterid:number) {\n //console.log(\"datasource\",datasource)\n // console.log(\"Filter Id\",filterid)\n //console.log(\"State List\" ,this.stateList)\n \n if(filterid){\n let filter = this.stateList.filter(x=>x.state_id==filterid);\n return filter.length > 0 ? filter[0].cities : [];\n }\n}\n\n // filter max sale options\n filterMaxSaleState(datasource: any,filterValues:any){\n this.filterCityList = filterValues;\n if(filterValues){\n let getOriginalStateList = datasource.map(dval => dval.state_id);\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\n let setStateFilter: any=[];\n setStateFilter = getStateValues.map(x => {\n let findIndex = getOriginalStateList.indexOf(x);\n return datasource[findIndex];\n });\n return setStateFilter.length > 0 ? setStateFilter : [];\n }\n }\n filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \n let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\n existCities = [].concat.apply([], existCities);\n if(filterValues){\n let getOriginalStateList = datasource.map(dval => dval.state_id);\n \n let setCityFilter = filterValues.map(x => {\n let findIndex = getOriginalStateList.indexOf(x);\n findIndex = datasource[findIndex].cities;\n return findIndex;\n });\n \n let merged = [].concat.apply([], setCityFilter);\n // console.log(merged)\n if(merged.length>0){\n let check: any = merged.filter(function(fVal){\n return existCities.some(function(sVal){\n return fVal.city_id==sVal;\n });\n })\n return check;\n }\n else {\n return [];\n }\n }\n else {\n return [];\n }\n}\n\n\ncheckTotalEmployee(FormData){\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\n }\n checkWithExistBusinessYear(e,i){\n if(e > this.generalExistBusinessYear){\n this.errorMessage[i] = \"Higher than Business Vintage\";\n }\n else{\n this.errorMessage[i] = '';\n }\n }\n\n// businees activity type change event\nchangeBusinessActivity(event: any){\n \n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\n this.ManufacturingChecked = event.value.exist_status;\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.controls = [];\n manufacturingControl.setValue([]); \n console.log(\"true\");\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\n this.ManufacturingChecked = event.value.exist_status;\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.push(this.manufactureDetails());\n \n \n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\n this.RetailedChecked=event.value.exist_status\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\n retailControl.controls = [];\n retailControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\n this.RetailedChecked=event.value.exist_status\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\n retailControl.push(this.manufactureDetails());\n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\n this.WholeSalesChecked=event.value.exist_status\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.controls = [];\n wholesaleControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\n this.WholeSalesChecked=event.value.exist_status\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.push(this.manufactureDetails());\n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\n this.ServiceChecked=event.value.exist_status\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.controls = [];\n serviceControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\n this.ServiceChecked=event.value.exist_status\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.push(this.manufactureDetails());\n }\n\n if(event.value.exist_status==true && event.value.type_of_activity_id==1){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.controls = [];\n othersControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.push(this.createOthersActivity());\n }\n // check activity type for make dosument sighted filed dynamically\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');\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');\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');\n // check activity for extra question make dynamic\n \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');\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');\n\n if(this.ManufacturingChecked && this.RetailedChecked && this.WholeSalesChecked && this.ServiceChecked){\n this.ExportFlag = false;\n }\n}\n\n\nchangeManufacturingAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n // change retail options\n changeRetailAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n// change whole options\nchangeWholesaleAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n// change service provider \nchangeServiceArea(getDetails: any, getIndex) {\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n\nchangePanIndiaOptions(type,selectedIndex,value) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n console.log(\"clicked yes\");\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==3){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==4){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n}\n\n // update partner group other form control\n changePartnerGroup(value,key) {\n let control: any = this.businessForm.get('partners') as FormArray;\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\n }\n\n createDesignation(): FormGroup {\n return this.fb.group({\n sec_name: ['', Validators.compose([Validators.required])],\n sec_designation: ['', Validators.compose([Validators.required])],\n });\n}\nkeyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n getWorkExperience(event, key) {\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\n let control: any = this.businessForm.get('partners') as FormArray;\n if(total_experience > current_experience) {\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\n }\n else if(total_experience < current_experience) {\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\n control.controls[key].removeControl('total_business_previous_experience')\n }\n\n else {\n control.controls[key].removeControl('total_business_previous_experience')\n }\n // let total ;\n // if(control.length > 0){\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\n // this.businessForm.controls.business_years.updateValueAndValidity();\n // }\n}\nConvertMonthintoYear(itemrow,e){\n\n let year = itemrow.controls.current_business_experiance_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\n \n}\n\n\n\ncreatePartners(): FormGroup {\n return this.fb.group({\n partner_name: ['', Validators.compose([Validators.required])],\n // partner_other_name:[''],\n shareholding:[''],\n started_business:[''],\n current_business_experiance_year:[''],\n current_business_experiance_month:[''],\n total_business_experiance:[''],\n total_business_previous_experience:['']\n /* shareholding: ['', Validators.compose([Validators.required])],\n current_business_experiance: ['', Validators.compose([Validators.required])],\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\n });\n}\ncreateRelationShip(): FormGroup {\n return this.fb.group({\n family_member_salutation:[''],\n family_member_name:[''],\n other_family_relationship_id:[''],\n relation_to_id:[''],\n relationship_with_company_id:[''],\n started_business:['']\n });\n}\ncreateBusinessActivity(details):FormGroup {\n return this.fb.group({\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\n name: [details.name, Validators.compose([Validators.required])],\n exist_status:[details.exist_status==1 ? true : false]\n });\n}\ncreateServiceActivity(): FormGroup {\n return this.fb.group({\n main_products: ['', Validators.compose([Validators.required])],\n area_of_sale: ['', Validators.compose([Validators.required])],\n description: ['']\n });\n}\ncreateOthersActivity(): FormGroup {\n return this.fb.group({\n others_details: ['', Validators.compose([Validators.required])]\n });\n}\nmanufactureDetails():FormGroup{\n return this.fb.group({\n main_products:[''],\n area_of_sale:[''],\n description:['']\n // pan_india_options:[''],\n // india_where_sale_done:this.fb.array([]),\n //max_sale_state_name:this.fb.array([]),\n //countries_where_export_done:this.fb.array([])\n })\n}\nindiaSalesDone():FormGroup{\n return this.fb.group({\n state_name:[''],\n city_name:['']\n })\n}\nmaxSaleState():FormGroup{\n return this.fb.group({\n state_name:[''],\n city_name:['']\n })\n}\ncreateDocument() {\n return this.fb.group({\n document: ['']\n });\n}\naddDesignation() {\n const control = this.businessForm.controls['designation'];\n control.push(this.createDesignation());\n}\ndeleteDesignation(index) {\n const control = this.businessForm.controls['designation'];\n if(control.length==1){\n this.businessForm.controls['designation'].reset();\n }else{\n control.removeAt(index);\n }\n}\naddPartnerDetails(event) {\n const control = this.businessForm.controls['partners'];\n event.stopPropagation()\n let length = control.length;\n this.step = length;\n \n control.push(this.createPartners());\n}\naddPersonRelationship(event){\n event.stopPropagation()\n const control=this.businessForm.controls['persons_with_relationships']\n let length=control.length\n this.step=length\n control.push(this.createRelationShip());\n}\ndeletePersonRelationship(index){\n const control=this.businessForm.controls['persons_with_relationships'];\n control.removeAt(index)\n}\ndeletePartnerDetails(index) {\n const control = this.businessForm.controls['partners'];\n if(control.length==1){\n this.businessForm.controls['partners'].reset();\n }else{\n control.removeAt(index);\n }\n}\naddMoreManufacturing() {\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.push(this.manufactureDetails());\n}\naddMoreRetail(){\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\n retailControl.push(this.manufactureDetails());\n}\naddMoreWholesale() {\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.push(this.manufactureDetails());\n}\ncreateCountrySale() {\n return this.fb.group({\n country_name: ['',Validators.compose([Validators.required])],\n approx_sale: ['', Validators.compose([Validators.required])]\n }); \n}\n\naddMoreState(mindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n \n\n}\nremoveState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n\naddRetailMoreState(rindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n}\nremoveRetailState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n// add more whole sale state\naddWholesaleMoreState(windex,type) {\n if(type==1){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n\n}\n// remove for whole sale\nremoveWholesaleState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n // add more service provider\n addServiceMoreState(sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n }\n addMoreServiceprovider() {\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.push(this.manufactureDetails());\n }\n addMoreOthersActivity(){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.push(this.createOthersActivity());\n }\n // remove service provider\n\nremoveServiceState(mindex,sindex,type){\n if(type==1){\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\n control1.removeAt(sindex)\n }\n}\naddDocuments() {\n const control = this.businessForm.controls['documents'];\n control.push(this.createDocument());\n}\ndeleteDocuments(index) {\n const control = this.businessForm.controls['documents'];\n if(control.length==1){\n this.businessForm.controls['documents'].reset();\n }else{\n control.removeAt(index);\n }\n}\n\nrelationChanged(event) {\n this.relativeNames = [];\n event.value.forEach(option => {\n this.relativeNames.push({member: option});\n });\n}\n\n public initBusinessForm(): void {\n this.businessForm = this.fb.group({\n pdid: this.pdDetails.pd_id,\n formid: this.FormId.form_id,\n fk_createdby: this.users,\n profession_name: ['', Validators.compose([Validators.required])],\n business_years: ['', Validators.compose([Validators.required])],\n industry: ['', Validators.compose([Validators.required])],\n type_of_activity: ['', Validators.compose([Validators.required])],\n seasonality: ['', Validators.compose([Validators.required])],\n designation: this.fb.array([]),\n partners: this.fb.array([]),\n employees_total: ['', Validators.compose([Validators.required])],\n employees_permanent: ['', Validators.compose([Validators.required])],\n employees_temporary: ['', Validators.compose([Validators.required])],\n officer_total: ['', Validators.compose([Validators.required])],\n officer_permanent: ['', Validators.compose([Validators.required])],\n officer_temporary: ['', Validators.compose([Validators.required])],\n invested_amount: ['', Validators.compose([Validators.required])],\n working_capital: ['', Validators.compose([Validators.required])],\n is_service_provided: ['', Validators.compose([Validators.required])],\n ownership_setup: ['', Validators.compose([Validators.required])],\n ownership_others: [''],\n rent_paid: [''],\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\n export_import_cert: ['', Validators.compose([Validators.required])],\n factory_cert: ['', Validators.compose([Validators.required])],\n practice_cert: ['', Validators.compose([Validators.required])],\n pf_regn: ['', Validators.compose([Validators.required])],\n esic_regn: ['', Validators.compose([Validators.required])],\n other_documents: ['', Validators.compose([Validators.required])],\n documents: this.fb.array([]),\n business_remarks: ['', Validators.compose([Validators.required])],\n who_started: ['', Validators.compose([Validators.required])],\n main_person: ['', Validators.compose([Validators.required])],\n other_main_person: [''],\n family_members_involved: ['', Validators.compose([Validators.required])],\n before_business: ['', Validators.compose([Validators.required])],\n any_delays: ['', Validators.compose([Validators.required])],\n });\n}\n\nsubmitDetails() {\n console.log(\"First\",this.businessForm.value);\n let family: any = [];\n console.log(this.FormId)\n let design: any;\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\n let records:any;\n // records.pdid = this.pdDetails.pd_id;\n // records.formid = this.FormId;\n // records.fk_createdby = this.users;\n records=this.businessForm.value;\n if (records.other_documents == 'no') {\n delete records.documents;\n }\n if (records.rent_paid == '') {\n delete records.rent_paid;\n }\n if (records.ownership_others == '') {\n delete records.ownership_others;\n }\n // records.family_members_involved = this.relativeNames;\n //console.log('recordss', records);\n\n let validationFlag : number = 0;\n\n //type 1: Checking manufacturing_activity_details \n if(records.manufacturing_activity_details.length > 0){\n\n records.manufacturing_activity_details.forEach((val,index) => {\n if(val.area_of_sale!= \"Within India\"){ \n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n \n }\n\n //type 3 checking wholesale_trading_activity_details\n if(records.wholesale_trading_activity_details.length > 0){\n\n records.wholesale_trading_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){ \n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n //type 2 checking retail_trading_activity_details\n if(records.retail_trading_activity_details.length > 0){\n\n records.retail_trading_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){ \n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n\n //type 4 checking service_provider_activity_details\n if(records.service_provider_activity_details.length > 0){\n\n records.service_provider_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){\n \n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n //validationFlag is greater then 0 means its display the notifer as warning\n if(validationFlag > 0){\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\n return;\n }\n\n\n this.qustCat.saveForm(records).subscribe(data => {\n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n });\n}\n getBuisnessDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; \n this.qustCat.retiverForm(records).subscribe(data => {\n let businessVal = data['records'];\n // console.log('data', businessVal);\n let constVal: any;\n const Desgn = this.businessForm.controls['designation'];\n const Partnr = this.businessForm.controls['partners'];\n const otherDoc = this.businessForm.controls['documents'];\n\n if (data['status'] == 200) {\n let DocArray: any;\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\n return data['records'].designation[key];\n });\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\n return data['records'].partners[key];\n });\n\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\n return data['records'].family_members_involved[key];\n });\n let enduse: any = [];\n let existRelative: any =[];\n selectedMembers.forEach(val => {\n enduse.push(val.member);\n existRelative.push(val);\n });\n this.relativeNames = existRelative;\n if (DesgnArray.length == 0) {\n Desgn.push(this.createDesignation());\n } else {\n DesgnArray.forEach(datas => {\n Desgn.push(this.createDesignation());\n });\n \n }\n if (PartnrArray.length == 0) {\n Partnr.push(this.createPartners());\n } else {\n PartnrArray.forEach(datas => {\n Partnr.push(this.createPartners());\n });\n }\n if (data['records'].other_documents == 'yes') {\n DocArray = Object.keys(data['records'].documents).map(function (key) {\n return data['records'].documents[key];\n });\n DocArray.forEach(datas => {\n otherDoc.push(this.createDocument());\n });\n } else {\n DocArray = [{document: ''}];\n otherDoc.push(this.createDocument());\n }\n if (data['records'].ownership_setup != 'others') {\n businessVal.ownership_others = '';\n }\n if (data['records'].ownership_setup != 'rented') {\n businessVal.rent_paid = '';\n }\n businessVal.family_members_involved = enduse;\n businessVal.pdid = this.pdDetails.pd_id;\n businessVal.formid = this.FormId.form_id;\n businessVal.fk_createdby = this.users;\n businessVal.designation = DesgnArray;\n businessVal.partners = PartnrArray;\n businessVal.documents = DocArray;\n\n this.businessForm.setValue(businessVal);\n } else {\n Desgn.push(this.createDesignation());\n Partnr.push(this.createPartners());\n otherDoc.push(this.createDocument());\n }\n\n });\n }\n setStep(index: number) {\n this.step = index;\n}\ninWords(e,flag){\n switch(flag){\n case 1 : \n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\n break;\n }\n }\n ManufacturingCounterArray: any = [];\nRetailCounterArray: any = [];\nWholeSaleCounterArray: any = [];\nServiceCounterArray: any = [];\n\n CheckExport(value,stringFlag,index){\n //this.ExportFlag=false\n const parentControl = this.businessForm.controls['select_business_activity_type'];\n const childControl = parentControl.controls[0];\n // console.log('parentControl',parentControl);\n // console.log('parentControl.controls',parentControl.controls);\n // console.log('childControl',childControl.value);\n // console.log('childControl',childControl.value.exist_status);\n\n // childControl.forEach((datas,index) => {\n \n // console.log(datas);\n // // exist_status==true && event.value.type_of_activity_id\n // console.log(datas[index].);\n // console.log(datas[index].controls.exist_status.value);\n // });\n\n console.log('CheckExport');\n console.log(value,stringFlag,index);\n\n console.log(this.ManufacturingChecked , this.RetailedChecked , this.WholeSalesChecked , this.ServiceChecked);\n \n if(!this.ManufacturingChecked){\n if(stringFlag == 'MActivity' && value != \"Within India\"){\n this.ManufacturingCounterArray[index] = 1;\n }\n else if(stringFlag == 'MActivity' && value != \"Within India\"){\n this.ManufacturingCounterArray[index] = 0;\n }\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\n this.ManufacturingCounterArray[index] = 0;\n }\n\n if(!this.RetailedChecked){ \n if(stringFlag == 'RActivity' && value != \"Within India\"){\n this.RetailCounterArray[index] = 1;\n }\n else if(stringFlag == 'RActivity' && value != \"Within India\"){\n this.RetailCounterArray[index] = 0;\n }\n }\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\n this.RetailCounterArray[index] = 0;\n }\n\n if(!this.WholeSalesChecked){\n if(stringFlag == 'WActivity' && value != \"Within India\"){\n this.WholeSaleCounterArray[index] = 1;\n }\n else if(stringFlag == 'WActivity' && value != \"Within India\"){\n this.WholeSaleCounterArray[index] = 0;\n }\n }\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\n this.WholeSaleCounterArray[index] = 0;\n }\n \n if(!this.ServiceChecked){\n \n if(stringFlag == 'SPActivity' && value != \"Within India\")\n { \n this.ServiceCounterArray[index] = 1;\n }\n else if(stringFlag == 'SPActivity' && value != \"Within India\"){\n this.ServiceCounterArray[index] = 0;\n }\n\n }else if(stringFlag == 'SPActivity'){\n this.ServiceCounterArray[index] = 0;\n } \n\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\n console.log(SumOfManufacturingCounter,this.ManufacturingCounterArray);\n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\n // console.log(SumOfRetailCounter , this.RetailCounterArray);\n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\n // console.log(SumOfWholeSaleCounter,this.WholeSaleCounterArray);\n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\n // console.log(SumOfServiceCounter,this.ServiceCounterArray);\n\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\n \n\n this.ExportFlag = overallCounter > 0 ? true : false ;\n console.log('overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter ' , overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter);\n console.log('Current Flag Status : ',this.ExportFlag );\n}\n\n}\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 } from '@angular/core';\nimport { IonicPage, NavController, NavParams } 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 { ConstantsProvider } from '../../../../providers/constants/constants'\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\n\n/**\n * Generated class for the PdQuestionBusinessAssetsPage 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-business-assets',\n templateUrl: 'pd-question-business-assets.html',\n})\nexport class PdQuestionBusinessAssetsPage {\n currentYear:any=new Date().getFullYear();\n\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\n {'value': \"no\",'viewValue': \"No\"},\n {'value': \"nan\",'viewValue': \"NA\"}]\n\n company_id:any;\n pdDetails:any;\n FormId:any;\n users:any;\n _businessAssetsQuesFrom:FormGroup;\n m_assets_type:any;\n m_propertyType:any;\n AssetValueInwords:any=[];\n appxMarketAmtInwords:any=[];\n RentAmtInwords:any=[]\n mergeCompanyApplicant:any=[];\n existCompanyList:any=[]\n applicants:any;\n data_all:any;\n CustSegAbbr: any;\n generalExistBusinessYear:Number;\n generalExistBusinessMonth:Number;\n yearErrorMessage: any;\n monthErrorMessage: any;\n addressLabel: string;\n placeholderName : any = 'Was any business activity seen at the Address Type during PD visit?';\n m_address_type:any=[]\n pageTitle: string;\n main_applicant: any;\n lender_applicant_id: any;\n subproduct_abbr: any;\n customer_segment_abbr: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\n \n \n this.pdDetails=this.navParams.get('pdDetails')\n this.FormId=this.navParams.get('FormId')\n this.users=this.aws.getlocale();\n this.company_id=this.pdDetails.company_id;\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n this.generalExistBusinessYear = this.pdDetails.business_years;\n this.generalExistBusinessMonth = this.pdDetails.business_month;\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\n this.main_applicant = this.pdDetails.applicant_name;\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\n \n this.getDetails()\n this.getDropDown()\n console.log(\"Form Id\",this.FormId);\n console.log(this.pdDetails);\n \n let params:any={};\n params.pd_id=this.pdDetails.pd_id;\n params.pd_form_id='5'\n\n this.qustcat.retiverForm(params).subscribe(data => {\n if(data['status'] == 200) {\n // console.log(\"form record 5\",data.records);\n \n this.addressLabel = '';\n \n let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data['records'].address_type)[0];\n let address = data['records'].address;\n let addressType = data['records'].address_type != 1 ? selectedAddressType.address_type : data['records'].address_type_others;\n \n this.placeholderName = 'Was any business activity seen at the '+addressType+' during PD visit?';\n this.addressLabel = \" : \"+address+' / '+addressType ;\n \n }\n });\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\n }\n getDropDown(){\n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\n console.log(this.m_assets_type)\n })\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\n })\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\n if(data.dataStatus){\n this.existCompanyList=data['records'].filter(val=>val.is_active==true && val.is_company_applicant==true && val.company_order_id==this.company_id);\n console.log(\"existCompanyList\",this.existCompanyList)\n }\n \n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n }\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\n\n }\n })\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\n })\n }\n apiLoadFinish:boolean=false\n getDetails(){\n let params:any={};\n params.pd_id=this.pdDetails.pd_id\n params.company_id=this.company_id\n params.pd_form_id=22\n this.qustcat.retiverForm(params).subscribe(res=>{\n \n if(res['dataStatus']==true){\n // console.log(\"records\",res['records'])\n //this.data_all=res['records']\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\n return res['records'].business_assets_details[key]\n });\n console.log(\"Asset Form\",assestArray);\n //this.formLoadData(assestArray)\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\n if(assestArray.length>0){\n for(let val of assestArray){\n let formData={\n business_assets_mode: val.business_assets_mode,\n business_approximate_market_value: val.business_approximate_market_value,\n business_name_of_the_owner: val.business_name_of_the_owner,\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\n business_purchase_year: val. business_purchase_year,\n business_vintage : val.business_vintage,\n business_emi: val.business_emi,\n };\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetailsWithdata(formData));\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\n }\n }*/\n this.formLoadData(res['records'])\n }\n\n \n else{\n this.formLoadData(null);\n }\n this.apiLoadFinish=true\n console.log(\"success\");\n \n })\n //this.formLoadData(null);\n \n }\n \n formLoadData(data){\n if(data==null){\n this._businessAssetsQuesFrom=this.fb.group({\n pdid: [this.pdDetails.pd_id],\n formid: ['22'],\n company_id : [this.company_id],\n fk_createdby:[this.users],\n business_years:[''],\n business_month:[''],\n business_address_availability:[''],\n \n business_is_pd_visited:[''],\n business_pd_visited_remark:[''],\n\n business_assets_details : this.fb.array([\n this.initBusinessDetails(),\n ]),\n business_assets_form_remark:['']\n });\n \n }\n else{\n console.log(\"Data Here\");\n let value=data;\n this._businessAssetsQuesFrom=this.fb.group({\n pdid: [this.pdDetails.pd_id],\n formid: ['22'],\n company_id : [this.company_id],\n fk_createdby:[this.users],\n\n business_years:[value.business_years],\n business_month:[value.business_month],\n business_address_availability:[value.business_address_availability],\n business_is_pd_visited:[value.business_is_pd_visited],\n business_pd_visited_remark:[value.business_pd_visited_remark],\n business_assets_details : this.fb.array([]),\n business_assets_form_remark:[value.business_assets_form_remark || '']\n });\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\n }\n this.loadDetails=true\n }\n initBusinessDetails(){\n return this.fb.group({\n business_assets_mode:[''],\n business_details: this.fb.array([]),\n business_approximate_market_value: [''],\n business_ownership_type:[''],\n business_monthly_rented_amt:[''],\n business_name_of_the_owner: [],\n business_name_of_the_other_owner: [],\n business_vintage: [''],\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n business_emi: [''],\n \n })\n }\n loadProperty() {\n return this.fb.group({\n property_type: [''],\n other_property_type: ['']\n });\n }\n load_Four_Weeler() {\n return this.fb.group({\n manufacturer_model_vehicle: ['']\n });\n }\n loadEquipmentManufacturingDescription() {\n return this.fb.group({\n equipment_manufacturing_description: ['']\n });\n }\n otherBusinessAssetsDescription() {\n return this.fb.group({\n any_other_assets: [''],\n any_other_asset_value : [''],\n any_other_asset_loan : [''], \n });\n }\n\n\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\n addAssetDetails(e) {\n \n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetails());\n \n }\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\n removeAssetsDetails(i: number) {\n \n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.removeAt(i);\n\n}\n selectedAssetsType(e: any, i: any): void {\n let val = i;\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\n arr.controls.splice(0);\n \n switch (e.value) {\n case '2': {\n let val = i;\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadProperty());\n break;\n }\n case '3': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.load_Four_Weeler());\n break;\n }\n case '4': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadEquipmentManufacturingDescription());\n break;\n }\n // case '5': {\n // const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n // //control.push(this.loadJwellDescription());\n // break;\n // }\n // case '8': {\n // const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n // control.push(this.loadConsumerDurableDescription());\n // break;\n // }\n // case '6': {\n // const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n // control.push(this.loadInsuranceDescription());\n // break;\n // }\n // case '7': {\n // const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n // control.push(this.loadInvestDescription());\n // break;\n // }\n case '1': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.otherBusinessAssetsDescription());\n break;\n }\n default: {\n break;\n }\n }\n }\n\n loadPropertyWithData(data) { \n return this.fb.group({\n property_type: [data.property_type],\n other_property_type: [data.other_property_type]\n //property_type:['']\n });\n }\n load_Four_WeelerWithData(data){\n return this.fb.group({\n manufacturer_model_vehicle:[data.manufacturer_model_vehicle]\n })\n }\n\n loadEquipmentManufacturingDescriptionWithData(data) {\n return this.fb.group({\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\n });\n }\n otherBusinessAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets],\n any_other_asset_value : [data.any_other_asset_value],\n any_other_asset_loan : [data.any_other_asset_loan],\n });\n }\n\n loadDetails:boolean\n addBusinessAssetsDetailsWithData(supp_data){\n var result=Object.keys(supp_data).map(function(key){\n return supp_data[key];\n })\n console.log(\"Result\",result)\n if(result.length>0){\n result.forEach((datas,index)=>{\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\n });\n for(let val of result){\n let formData={\n business_assets_mode: val.business_assets_mode,\n business_approximate_market_value: val.business_approximate_market_value,\n business_ownership_type:val.business_ownership_type,\n business_monthly_rented_amt:val.business_monthly_rented_amt,\n business_name_of_the_owner: val.business_name_of_the_owner,\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\n business_purchase_year: val. business_purchase_year,\n business_vintage : val.business_vintage,\n business_emi: val.business_emi,\n };\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetailsWithdata(formData));\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\n }\n console.log(\"Add Business Details exit\")\n }\n this.loadDetails=true\n }\n initBusinessDetailsWithdata(data) {\n console.log(\"initBusinessDetailsWithdata\",data)\n\n let formGroup= this.fb.group({\n business_assets_mode: [data.business_assets_mode],\n business_details: this.fb.array([]),\n business_approximate_market_value: [data.business_approximate_market_value],\n business_ownership_type : [data.business_ownership_type],\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\n business_name_of_the_owner: [data.business_name_of_the_owner],\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\n // relation: [data.relation || ''],\n business_vintage: [data. business_vintage],\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n // purchase_month: [data.purchase_month],\n business_emi: [data.business_emi || ''],\n });\n return formGroup;\n }\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\n console.log(\"Asset Mode business asset\",assets_details_mode)\n console.log(\"setBusinessAssetsDetailsWithData\",datas)\n let val = i;\n let data = datas;\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\n control.controls.splice(0);\n\n switch (assets_details_mode) {\n case '2': {\n let business_property_datas : any;\n data.forEach((datas,i) => {\n business_property_datas = { 'property_type':datas.property_type,'other_property_type':datas.other_property_type };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadPropertyWithData(business_property_datas));\n break;\n }\n case '3': {\n let business_Four_Weeler_datas : any;\n data.forEach((datas,i) => {\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\n break;\n }\n case '4': {\n let equipment_manufacturing_description_datas : any;\n data.forEach((datas,i) => {\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\n break;\n }\n \n case '1': {\n let array_datas : any;\n data.forEach((datas,i) => {\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\n array_datas = {\n 'any_other_assets': datas.any_other_assets,\n 'any_other_asset_value' : datas.any_other_asset_value,\n 'any_other_asset_loan' : datas.any_other_asset_loan,\n };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n onSubmit(){\n var answerData=this._businessAssetsQuesFrom.value;\n //To Remove The \"Null\" With Key also\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n\n this.qustcat.saveForm(answerData).subscribe(result=>{\n if(result['dataStatus']==true){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n this.navCtrl.pop();\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\n }\n })\n \n }\n // calculate vintage and purchase {}\n calculateVintagePurchase(value: any, controlKey: any,type: number){\n if(type==1){\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.controls[controlKey].controls['business_purchase_year'].setValue(value!='' ? parseInt(this.currentYear)-parseInt(value) : '');\n }\n else if(type==2) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\n value!='' && value<=this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\n value!='' && value<=this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear)-parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\n }\n }\n\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n\n // // check others\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n\n\n setRequiredValidation(value,item,flag) {\n console.log(item);\n console.log(value);\n console.log(flag);\n if(flag == 1){\n if(value == 'yes')\n { this._businessAssetsQuesFrom.controls.business_years.setValidators([Validators.required]) ;\n this._businessAssetsQuesFrom.controls.business_month.setValidators([Validators.required]) ;\n this._businessAssetsQuesFrom.controls.business_address_availability.setValidators([Validators.required]) ;\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.setValidators([Validators.required]) ;\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.setValidators([Validators.required]) ;\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\n }\n else{\n this._businessAssetsQuesFrom.controls.business_years.clearValidators();\n this._businessAssetsQuesFrom.controls.business_month.clearValidators();\n this._businessAssetsQuesFrom.controls.business_address_availability.clearValidators();\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.clearValidators();\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.clearValidators();\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\n }\n this._businessAssetsQuesFrom.controls.business_years.updateValueAndValidity();\n this._businessAssetsQuesFrom.controls.business_month.updateValueAndValidity();\n this._businessAssetsQuesFrom.controls.business_address_availability.updateValueAndValidity();\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\n this._businessAssetsQuesFrom.controls.business_is_pd_visited.updateValueAndValidity();\n this._businessAssetsQuesFrom.controls.business_pd_visited_remark.updateValueAndValidity();\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\n \n\n }\n // if(flag == 2){\n // value==1\n // ? item.controls.premises_type_others.setValidators([Validators.required])\n // : item.controls.premises_type_others.clearValidators();\n // item.controls.premises_type_others.updateValueAndValidity();\n // }\n if(flag == 3){\n if(value == 'owned'){\n item.controls.business_monthly_rented_amt.clearValidators(); \n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\n }\n else{\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\n item.controls.business_name_of_the_owner.clearValidators(); \n }\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\n item.controls.business_name_of_the_owner.updateValueAndValidity();\n }\n if(flag == 4){\n value==0\n ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\n : item.controls.business_name_of_the_other_owner.clearValidators();\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\n }\n if(flag == 5){\n value==1\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\n : item.controls.other_vehicle_type.clearValidators();\n item.controls.other_vehicle_type.updateValueAndValidity();\n }\n if(flag == 6){\n value==1\n ? item.controls.other_property_type.setValidators([Validators.required])\n : item.controls.other_property_type.clearValidators();\n item.controls.other_property_type.updateValueAndValidity();\n }\n \n }\n /** To Convert Month into Year */\n ConvertMonthintoYear(e){\n\n let business_year = this._businessAssetsQuesFrom.controls.business_years.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n let Year = +business_year + +Math.floor(converted_year);\n \n if(Year > this.generalExistBusinessYear){\n this.yearErrorMessage = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\n this._businessAssetsQuesFrom.controls.business_month.setValue('');\n \n }\n else{\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\n {\n this.monthErrorMessage = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\n this._businessAssetsQuesFrom.controls.business_month.setValue('');\n \n }else{\n this.monthErrorMessage = '';\n this.yearErrorMessage = '';\n this._businessAssetsQuesFrom.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n this._businessAssetsQuesFrom.controls.business_month.setValue(Math.floor(converted_month));\n }\n }\n }\n\n checkWithExistBusinessYear(e){\n \n if(+e > this.generalExistBusinessYear){\n this.yearErrorMessage = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls.business_years.setValue('');\n \n }\n else{\n this.yearErrorMessage = '';\n }\n }\n\n\n inWords(e,i,flag){\n switch(flag){\n case 1:\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\n break;\n case 2 : \n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n case 3:\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n\n }\n }\n}\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';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\n// import { QueryState } from '@angular/core/src/render3/interfaces';\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\n\n\n/**\n * Generated class for the PdQuestionBusinessBankingPage 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-business-banking',\n templateUrl: 'pd-question-business-banking.html',\n})\nexport class PdQuestionBusinessBankingPage {\npdDetails:any;\nm_btLenderList: any;\napplicants: any \nsalaryField: boolean;\nFormId: any;\naccountType: any;\nusers: any;\nbankingForm:FormGroup;\npublic pd_cus_segment:string\ncompany_id:any;\n\npdid:any;\nitemRows:FormArray;\n\nexistCompanyList: any=[];\nmergeCompanyApplicant: any=[];\nstep:number\n amtInwords: any=[];\n emiAmtInwords: any=[];\n limitCaseFlag: any=[];\n\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\n this.pdDetails=this.navParams.get('pdDetails')\n console.log(\"pd\",this.pdDetails);\n this.pdDetails = this.navParams.get('pdDetails');\n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.company_id=this.pdDetails.company_id\n console.log(\"Form Id\",this.FormId);\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \n //console.log(this.pdDetails);\n // alert();\n this.users = this.aws.getlocale();\n this.step=0\n this.bankingForm = this.fb.group(\n {\n itemRows:this.fb.array([]),\n banking_form_remark:[''],\n });\n \n \n \n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\n \n \n this.getdropdown();\n this.retiveBankDetails();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\n }\n getdropdown(){\n \n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.accountType=res['records'];\n }\n });\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n }\n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n console.log(\"Entering company List\")\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log(\"company List\",data['records'])\n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n console.log(\"Company applicant\",this.mergeCompanyApplicant)\n }\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n console.log(this.mergeCompanyApplicant);\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n }\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n selectedAccTypeChanges(event: any,i){\n \n if(event == 2 || event == 1) {\n this.limitCaseFlag[i] = false;\n \n // const control = this.bankingForm.controls['itemRows'];\n \n // control.controls[0].get('limit').clearValidators();\n // control.controls[0].get('limit').updateValueAndValidity();\n \n }\n else{\n this.limitCaseFlag[i] = true;\n }\n\n}\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e){\n //console.log(itemrow);\n \n let year = itemrow.controls.vintage_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\n \n}\n /** Amount InWords */\n inWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n }\n\n setRequiredValidation(value,item,flag) {\n console.log(item);\n console.log(value);\n console.log(flag);\n \n if(flag == 1){\n value==0\n ? item.controls.other_applicant.setValidators([Validators.required])\n : item.controls.other_applicant.clearValidators();\n item.controls.other_applicant.updateValueAndValidity();\n }\n if(flag == 2){\n value==1\n ? item.controls.other_bank.setValidators([Validators.required])\n : item.controls.other_bank.clearValidators();\n item.controls.other_bank.updateValueAndValidity();\n }\n \n }\n\n createBankItem(name) {\n \n return this.fb.group({\n applicant_name: [''],\n \n bank_name: [''],\n \n account_type: [''],\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\n limit: [''],\n other_bank:[''],\n other_applicant:[''],\n is_main: [''],\n vintage_year: [''],\n vintage_month: [''],\n \n });\n\n }\n addBankDetails(index,event) {\n // if(this.pd.valid){\n \n // if(this.items.length !=0)\n // {\n // this.neighbourAccess = true;\n // }\n \n event.stopPropagation()\n const control = this.bankingForm.controls['itemRows'];\n let length = control.length;\n this.step = length;\n \n control.push(this.createBankItem(''));\n \n //console.log(this.pdQuestionAddress.get('items')['controls']);\n \n }\n\n addmoreBankDetils()\n {\n \n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\n \n this.itemRows.push(this.createBankItem('')); \n }\n\n removebank(i){\n const control = this.bankingForm.controls['itemRows'];\n if(control.length==1){\n control.reset();\n }\n else\n // console.log('index value -', index);\n \n control.removeAt(i);\n }\n \n setStep(index: number) {\n this.step = index;\n }\n\n retiveBankDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId,'company_id':this.company_id}\n const control = this.bankingForm.controls['itemRows'];\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n var result = Object.keys(res['records'].banking_details).map(function(key) {\n return res['records'].banking_details[key];\n });\n console.log(\"retrieve data\",res['records']);\n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\n \n \n if(result.length == 0){\n console.log(\"DAta Status 0\")\n control.push(this.createBankItem(''))\n }else\n {\n console.log(\"DAta Status >1\")\n result.forEach((datas,index)=>\n {\n this. selectedAccTypeChanges(datas.account_type,index);\n if(datas.limit != ''){\n console.log(\"Datas\",datas);\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \n }\n this. selectedAccTypeChanges(datas.account_type,index);\n control.push(this.createBankItem(''));\n })\n \n this.bankingForm.controls['itemRows'].setValue(result);\n } \n }else\n {\n console.log(\"DAta Status False\");\n control.push(this.createBankItem(''));\n }\n });\n \n }\n\n savepdBank(answerData)\n {\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId;\n records.fk_createdby = this.users;\n records.company_id=this.company_id;\n records.banking_details = answerData.itemRows;\n records.banking_form_remark = answerData.banking_form_remark;\n console.log('data', records);\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('data', data);\n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\n }\n })\n //console.log(answerData);\n }\n \n\n \n\n}\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 { CameraProvider } from '../../providers/common-provider/camera';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdGeneralImagesPage 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-general-images',\n templateUrl: 'pd-general-images.html',\n})\nexport class PdGeneralImagesPage {\n\n cameraArr:any = [];\n applicatentDetails: any;\n count:any = 0;\n saveAccess:boolean =false;\n FormId:any = '';\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n\n this.applicatentDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdGeneralImagesPage');\n }\n \n takePicture()\n {\n this.camera.getpicture().then(image=>\n {\n this.count = this.count+1;\n \n this.cameraArr.push({'image':image,'name':''});\n });\n }\n\n removeimage(i)\n {\n this.count = this.count - 1; \n this.cameraArr.splice(i,1);\n }\n\n docnames(doc,i,img)\n {\n \n this.cameraArr[i] = {'image':img,'Name':doc};\n // console.log(JSON.stringify(this.pddocdata)); \n }\n savePDImages()\n {\n \n this.saveAccess = true;\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\n records.images = this.cameraArr;\n this.qustCat.savePDImages(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.saveAccess = false;\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n } \n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../providers/constants/constants';\n/**\n * Generated class for the PasswordPage 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-password',\n templateUrl: 'password.html',\n})\nexport class PasswordPage {\n commonImage: string;\n newpassword: any;\n confirmPassword: any;\n pin:any;\n Username:any;\n Password:any;\n \n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\n this.commonImage = this.commonconstant.commonimage;\n this.Username = this.navParams.get('Username');\n this.Password = this.navParams.get('Password');\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PasswordPage');\n }\n setNewPassword(newpass)\n {\n if(newpass !='' && newpass !=null && newpass !== undefined){\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\n console.log(auth);\n this.aws.dologin(auth).subscribe(res => {\n console.log(res);\n this.navCtrl.setRoot(PdListPage);\n // this.router.navigate(['/home']);\n }, err => {\n this.toast.pdTriggerappmessage(err.message);\n // alert(err.message);\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter the new Password');\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\n\nimport { PdListPage } from '../pd-list/pd-list';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\n\nimport { LoadingProvider } from '../../providers/common-provider/loading';\nimport { ConstantsProvider } from '../../providers/constants/constants';\n/**\n * Generated class for the AuthPage 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-auth',\n templateUrl: 'auth.html',\n})\nexport class AuthPage {\n pinAccess: any;\n newpindetails: any;\n userDetails: any;\npin:any;\n mpinaccess:boolean =false;\n newpassword:any;\n ConfirmPassword:any;\n commonImage:any;\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) {\n this.commonImage = this.commonconstant.commonimage;\n this.shared.refresh();\n this.getuserDetails();\n \n\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad AuthPage');\n }\n ionViewDidEnter(){\n this.Menu.enable(false);\n }\n ionViewWillLeave(){\n this.Menu.enable(true);\n }\n getuserDetails()\n {\n this.loadingCtrl.pdloader('loading...');\n let userid = this.aws.getlocale();\n this.aws.getuserprofile(userid).subscribe(res=>{\n this.userDetails = res;\n if(this.userDetails.dataStatus == true)\n { \n this.loadingCtrl.loading.dismiss();\n this.userDetails = this.userDetails.records;\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\n if(this.userDetails[0].mpin ==null)\n {\n \n this.mpinaccess = true;\n \n }else\n {\n this.mpinaccess = false;\n }\n }else{\n \n this.toast.pdTriggerappmessage('This App only for PD Officers');\n localStorage.clear();\n }\n }else{\n this.toast.pdTriggerappmessage('')\n }\n //console.log(this.mpinaccess);\n });\n }\n setnewpin(newpin)\n {\n this.aws.userpinupdate(newpin).subscribe(res=>\n {\n this.newpindetails = res;\n if(this.newpindetails.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n /**Finger print */\n \n checkpin(pin) {\n console.log(pin);\n if(pin !='' && pin !=null)\n {\n if(this.userDetails[0].mpin == pin)\n {\n this.navCtrl.setRoot(PdListPage);\n }else\n {\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\n }\n }else\n {\n this.toast.pdTriggerappmessage('Enter The PIN');\n }\n\n \n \n }\n checkfingerprint()\n {\n this.faio.show({\n clientId: 'Fingerprint-Demo',\n clientSecret: 'password', // Only Android\n localizedFallbackTitle: 'Use Pin', // Only iOS\n localizedReason: 'Please authenticate',\n disableBackup:true,\n })\n .then((result: any) => {\n this.navCtrl.setRoot(PdListPage);\n })\n .catch((error: any) => {\n this.toast.pdTriggerappmessage('err: '+ error);\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LoadingController } from 'ionic-angular';\n/*\n Generated class for the LoadingProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class LoadingProvider {\n\n loading: any;\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\n console.log('Hello LoadingProvider Provider');\n }\n\n pdloader(content)\n {\n this.loading = this.loadingCtrl.create({\n content: content\n });\n\n this.loading.present();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app.module';\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { ErrorHandler, NgModule } from '@angular/core';\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\n\nimport { MyApp } from './app.component';\n\n\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule\n} from '@angular/material';\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthGuard } from '../providers/_guard/auth.guard';\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\nimport { ConstantsProvider } from '../providers/constants/constants';\nimport { AuthPage } from '../pages/auth/auth';\nimport { LoginPage } from '../pages/login/login';\nimport { PdListPage } from '../pages/pd-list/pd-list';\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\nimport { PasswordPage } from '../pages/password/password';\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\nimport { InputPage } from '../pages/input/input';\nimport { ToastProvider } from '../providers/common-provider/toast';\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\n\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\nimport { OtpPage } from '../pages/otp/otp';\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\n\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\nimport { CameraProvider } from '../providers/common-provider/camera';\nimport { LoadingProvider } from '../providers/common-provider/loading';\nimport { Camera } from '@ionic-native/camera';\n\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\n\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-financial-info/pd-question-financial-info';\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-supplier-info/pd-question-supplier-info';\nimport { Geolocation } from '@ionic-native/geolocation';\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-client-info/pd-question-client-info';\n// import { DatePicker } from '@ionic-native/date-picker';\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\n\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\nimport { PdPipe } from '../pipes/pd/pd';\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\n\n@NgModule({\n declarations: [\n MyApp,\n AuthPage,\n LoginPage,\n PdListPage,\n PdQuestionCategoryPage,\n PdQuestionPage,\n GoogleplaytabPage,\n PasswordPage,\n PdAllocationPage,\n InputPage,\n OtpPage,\n PdQuestionAddressPage,\n PdQuestionAssestsPage,\n PdQuestionBankingPage,\n PdQuestionCurrentLoansPage,\n PdQuestionEmpInfoPage,\n PdQuestionFamilyPage,\n PdQuestionBusinessInfoPage,\n PdQuestionLoansPage,\n PdQuestionFinancialInfoPage,\n PdQuestionOtherIncomePage,\n PdQuestionSupplierInfoPage,\n PdQuestionPersonalInfoPage,\n PdQuestionStockInfoPage,\n PdQuestionClientInfoPage,\n PdQuestionRentalInfoPage,\n PdQuestionAssessedInfoPage,\n PdQuestionAssessedDailySalesPage,\n PdQuestionAssessedSalesPage,\n PdQuestionBusinessInfoPage,\n PdQuestionAssessedHouseholdPage,\n PdQuestionAssessedPurchasePage,\n PdQuestionAssessedDashPage,\n BouncedRejectPage,\n PdQuestionAssessedBusinessPage,\n PdQuestionLenderRepresentativePage,\n PdQuestionGeneralInfoPage,\n PdQuestionGeneralOtherApplicantPage,\n PdQuestionNeighbourHoodPage,\n PdQuestionFinalRemarkPage,\n PdQuestionBusinessPage,\n PdQuestionBusinessGroupPage,\n PdQuestionBusinessAssetsPage,\n PdQuestionBusinessBankingPage,\n PdQuestionAssessedBusinessIncomePage,\n PdGeneralImagesPage,\n PdQuestionSalaryInfoPage,\n ],\n imports: [\n BrowserModule,ReactiveFormsModule,FormsModule,\n IonicModule.forRoot(MyApp),\n BrowserAnimationsModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,MatListModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule,HttpClientModule,IonicImageViewerModule\n ],\n bootstrap: [IonicApp],\n entryComponents: [\n MyApp,\n AuthPage,\n LoginPage,\n PdListPage,\n PdQuestionCategoryPage,\n PdQuestionPage,\n GoogleplaytabPage,\n PasswordPage,\n PdAllocationPage,\n InputPage,\n OtpPage,\n PdQuestionAddressPage,\n PdQuestionAssestsPage,\n PdQuestionBankingPage,\n PdQuestionCurrentLoansPage,\n PdQuestionEmpInfoPage,\n PdQuestionFamilyPage,\n PdQuestionBusinessInfoPage,\n PdQuestionLoansPage,\n PdQuestionFinancialInfoPage,\n PdQuestionOtherIncomePage,\n PdQuestionSupplierInfoPage,\n PdQuestionPersonalInfoPage,\n PdQuestionStockInfoPage,\n PdQuestionClientInfoPage,\n PdQuestionRentalInfoPage,\n PdQuestionAssessedInfoPage,\n PdQuestionAssessedDailySalesPage,\n PdQuestionAssessedSalesPage,\n PdQuestionBusinessInfoPage,\n PdQuestionAssessedHouseholdPage,\n PdQuestionAssessedPurchasePage,\n PdQuestionAssessedDashPage,\n BouncedRejectPage,\n PdQuestionAssessedBusinessPage,\n PdQuestionLenderRepresentativePage,\n PdQuestionGeneralInfoPage,\n PdQuestionGeneralOtherApplicantPage,\n PdQuestionNeighbourHoodPage,\n PdQuestionFinalRemarkPage,\n PdQuestionBusinessPage,\n PdQuestionBusinessGroupPage,\n PdQuestionBusinessAssetsPage,\n PdQuestionBusinessBankingPage,\n PdQuestionAssessedBusinessIncomePage,\n PdGeneralImagesPage,\n PdQuestionSalaryInfoPage,\n \n ],\n providers: [\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,\n {\n provide:HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true\n },\n {\n provide: ErrorHandler,\n useClass: IonicErrorHandler\n },LaunchNavigator,\n AwsServiceProvider,\n QuestionCategoryProvider,\n CameraProvider,Camera,\n PdPipe,\n LoadingProvider,Geolocation\n ]\n})\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\nimport { Nav, Platform } from 'ionic-angular';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport { LoginPage } from '../pages/login/login';\nimport { PdListPage } from '../pages/pd-list/pd-list';\nimport { MethodCall } from '@angular/compiler';\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\nimport { PasswordPage } from '../pages/password/password';\nimport { AuthPage } from '../pages/auth/auth';\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\n\n\n@Component({\n templateUrl: 'app.html'\n})\nexport class MyApp {\n userDetails: any;\n userAccess:boolean = false;\n @ViewChild(Nav) nav: Nav;\n\n rootPage: any = LoginPage;\n\n pages: Array<{title: string,icon:any, method: any}>;\n\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider) {\n this.initializeApp();\n\n // used for an example of ngFor and navigation\n this.pages = [ \n // { title: 'Home', component: HomePage, icon: 'home' },\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\n ];\n\n }\n\n initializeApp() {\n this.platform.ready().then(() => {\n // Okay, so the platform is ready and our plugins are available.\n // Here you can do any higher level native things you might need.\n this.statusBar.styleDefault();\n if (this.platform.is('android')) {\n this.statusBar.overlaysWebView(false);\n this.statusBar.backgroundColorByHexString('#db4437');\n \n }\n this.splashScreen.hide();\n\n this.shared.getAccessToken().then(()=>{\n this.getuserDetails();\n this.rootPage = AuthPage\n }).catch(()=>{\n setTimeout(() => {\n this.rootPage = LoginPage;\n }, 1000);\n });\n })\n }\n\n \n getuserDetails()\n {\n \n let userid = this.aws.getlocale();\n this.aws.getuserprofile(userid).subscribe(res=>{\n this.userDetails = res;\n if(this.userDetails.dataStatus == true)\n { \n this.userAccess = true;\n this.userDetails = this.userDetails.records[0];\n \n }\n \n });\n }\n menulist(id){\n //alert();\n switch(id)\n {\n case 1:\n this.nav.setRoot(PdListPage);\n break;\n case 2:\n this.AWS.logout().subscribe(()=>{\n \n this.nav.setRoot(LoginPage);\n });\n break;\n case 3:\n break;\n case 4:\n break;\n}\n}\n logout()\n {\n // this.aws.logout();\n this.nav.setRoot(LoginPage);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\n/*\n Generated class for the DatabaseProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class DatabaseProvider {\n database:SQLiteObject;\n constructor(public http: HttpClient,public sql:SQLite) {\n console.log('Hello DatabaseProvider Provider');\n this.createnewdb();\n }\n\n createnewdb()\n {\n // alert('function in');\n this.sql.create(\n {\n name:'sinnedge',\n location:'defalut',\n }).then((db:SQLiteObject)=>\n {\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \n {\n // alert('db create');\n this.getuserDetails();\n })\n .catch(e => console.log(e));\n })\n }\n getuserDetails()\n {\n // alert('getusers');\n this.sql.create(\n {\n name:'sineedge',\n location:'default',\n }).then((db:SQLiteObject)=>\n {\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\n {\n console.log(res);\n })\n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Injectable } from '@angular/core';\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n\n\n\n@Injectable()\nexport class AuthGuard {\n \n constructor() { \n\n \n }\n\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n // // if (this.shared.getToken()) {\n // alert(\"if\");\n // // this.router.navigate(['']);\n // return true\n // } else {\n // alert(\"else\");\n // this.router.navigate(['/login']);\n // return false;\n // }\n // }\n getlogin(){\n // if (this.shared.getToken()) {\n // // alert(\"if\");\n // //alert();\n // return true;\n // } else {\n // // alert(\"else\");\n \n // //this.myGlobalServiceNav.setRoot(LoginPage);\n // this.shared.isloggin = false;\n // return false;\n \n \n // }\n }\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n \n \n // }\n\n // public getToken(): string {\n // return localStorage.getItem('token');\n // }\n\n // public logOut() {\n // localStorage.clear();\n // if(localStorage.getItem('token') === null){\n // this.router.navigate(['/login']);\n // }\n // }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpHeaders\n} from '@angular/common/http';\n// import { AuthGuard } from './auth.guard';\nimport { Observable, of} from 'rxjs';\n\n// import { Router } from '@angular/router';\n\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { HttpErrorResponse } from \"@angular/common/http\";\n\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor{\n constructor(public shared:CognitoServiceProvider ) {\n \n }\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // request = request.clone({\n // setHeaders: {\n // Authorization: `${this.auth.getToken()}`\n // }\n // });\n let token:any;\n this.shared.refresh();\n token = this.shared.getToken() || null;\n \n token = token.getIdToken().getJwtToken();\n \n //console.log(token);\n let requests = request.clone({\n headers:new HttpHeaders({\n \n 'Authorization': 'sparqvenba2018',\n 'Token':token,\n 'From':'1',\n \n \n }) \n \n });\n \n return next.handle(requests).pipe(\n catchError(this.handleError('role', []))\n )\n }\n\n private handleError (operation = 'operation', result?: T) {\n return (error: any): Observable => {\n if(error instanceof HttpErrorResponse){\n console.error(\"Error: \" + error.status);\n if(error.status == 401){\n localStorage.clear();\n // this.router.navigate(['/authentication/login']);\n }\n return of(result as T);\n }\n };\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\n\n/**\n * Generated class for the GoogleplaytabPage 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-googleplaytab',\n templateUrl: 'googleplaytab.html',\n})\nexport class GoogleplaytabPage {\n\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\n\n SwipedTabsIndicator :any= null;\n tabTitleWidthArray :any= [];\n tabElementWidth_px :number= 50;\n screenWidth_px :number= 0;\n isRight :boolean= true;\n isLeft:boolean= true;\n tabs:any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\n console.log('Width: ' + platform.width());\n this.screenWidth_px=platform.width();\n \n}\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad GoogleplaytabPage');\n }\n ionViewDidEnter() {\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\n for (let i in this.tabs)\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\n\n this.selectTab(0);\n }\n\n scrollIndicatiorTab()\n {\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\n }\n\n selectTab(index)\n {\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n this.SwipedTabsSlider.slideTo(index);\n }\n\n calculateDistanceToSpnd(index)\n {\n var result=0;\n for (var _i = 0; _i < index; _i++) {\n result=result+this.tabTitleWidthArray[_i];\n }\n return result;\n }\n\n updateIndicatorPosition() {\n var index=this.SwipedTabsSlider.getActiveIndex();\n if( this.SwipedTabsSlider.length()==index)\n index=index-1;\n\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n\n }\n\n updateIndicatorPositionOnTouchEnd()\n {\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\n }\n\n animateIndicator($event)\n {\n\n this.isLeft=false;\n this.isRight=false;\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\n if($event.progress < currentSliderCenterProgress)\n {\n this.isLeft=true;\n this.isRight=false;\n\n } if($event.progress > currentSliderCenterProgress)\n {\n this.isLeft=false;\n this.isRight=true;\n }\n\n if(this.SwipedTabsSlider.isEnd())\n this.isRight=false;\n\n if( this.SwipedTabsSlider.isBeginning())\n this.isLeft=false;\n\n if(this.isRight)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\n +'px,0,0)';\n\n if(this.isLeft)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\n +'px,0,0)';\n\n if(!this.isRight && !this.isLeft)\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\n\n }\n\n\n\n}\n\n \n\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n/**\n * Generated class for the PdAllocationPage 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-allocation',\n templateUrl: 'pd-allocation.html',\n})\nexport class PdAllocationPage {\npdFullDetails:any = [];\n constructor(public navCtrl: NavController, public navParams: NavParams) {\n \n this.pdFullDetails = this.navParams.get('pdDetails');\n console.log(this.pdFullDetails);\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdAllocationPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { PdListPage } from '../../pd-list/pd-list';\n\n/**\n * Generated class for the BouncedRejectPage 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-bounced-reject',\n templateUrl: 'bounced-reject.html',\n})\nexport class BouncedRejectPage {\n\n users: any;\n bounseMaster: any;\n pdDetails: any;\n status: any;\n bounce_reason:any;\n bounce_reason_others:any = null;\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('appdetails');\n this.status = this.navParams.get('status');\n this.users = this.aws.getlocale();\n this.getDropdown();\n \n }\n\n getDropdown()\n {\n \n \n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\n console.log(this.bounseMaster);\n }\n })\n \n }\n updatePDStatus()\n {\n if(this.bounce_reason !=null)\n {\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\n this.pdservice.updatepdStatus(data).subscribe(res=>\n {\n // this.updateStatus = res;\n if(res['dataStatus'] == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\n\n/**\n * Generated class for the PdQuestionBusinessPage 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-business',\n templateUrl: 'pd-question-business.html',\n})\nexport class PdQuestionBusinessPage {\n pdDetails:any;\n pdid:any;\n users:any;\n FormId:any;\n existCompanyList:any=[]\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId=this.navParams.get('FormId');\n this.users=this.aws.getlocale\n\n this.getDropDown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessPage');\n }\ngetDropDown(){\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\n console.log(this.existCompanyList);\n })\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionSalaryInfoPage 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-salary-info',\n templateUrl: 'pd-question-salary-info.html',\n})\nexport class PdQuestionSalaryInfoPage {\n\n salaryDetails:FormGroup\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\n \n this.salaryDetails = this.fb.group(\n {\n gross:[null],\n netTakeHome:[null],\n bounsIncentive:[null],\n salaryDate:[null],\n anydelays:[null], \n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\n }\n\n}\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';\n\n// import { CanActivateChild, Router } from '@angular/router';\nimport {\n AuthenticationDetails,\n CognitoUserPool,\n CognitoUser,\n \n} from \"amazon-cognito-identity-js\";\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\n\n// import { environment } from '../../environments/environment';\n\nimport { BehaviorSubject,Observable,of } from 'rxjs';\n\nconst sineedge_poolData = { \n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\n};\nconst sineedgedev_poolData = {\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\n}\nconst lender_poolData = {\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\n};\nconst vendor_poolData = {\n UserPoolId: \"\",\n ClientId: \"\"\n}\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\n\n/**\n* Identity PoolID \n*/\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\nconst vendorIdenttiy = \"\";\n// serviceProvider\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\n// const apiurl = \"http://localhost/sparqapi/api/\";\n\n@Injectable()\n\nexport class CognitoServiceProvider {\n public loggedIn :boolean = false;\n // public static _REGION = environment.region;\n\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\n // public static _USER_POOL_ID = environment.UserPoolId;\n // public static _CLIENT_ID = environment.ClientId;\n\n // public static _POOL_DATA: any = {\n // UserPoolId: CognitoService._USER_POOL_ID,\n // ClientId: CognitoService._CLIENT_ID\n // };\n \n\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\nisloggin:boolean = false; \n\n\n \n\n \n constructor() { \n \n }\n getCurrentUser() {\n \n return sineedgedevUserpool.getCurrentUser();\n}\n get isLoggedIn() {\n if(sineedgedevUserpool.getCurrentUser() !=null){\n this.loggedIn = true;\n }else{\n this.loggedIn = false;\n }\n return this.loggedIn; // {2}\n }\n \nrefresh() {\n let tokenexp:boolean;\n \n if(this.getCurrentUser() !=null){\n \n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n }\n\n else {\n if (session.isValid()) {\n tokenexp = session.isValid();\n of(tokenexp)\n console.log(\"CognitoUtil: refreshed successfully\");\n \n } else {\n tokenexp = session.isValid();\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\n \n }\n }\n \n return tokenexp;\n \n });\n }else{\n this.loggedIn = false;\n }\n}\ngetAccessToken(){\n this.refresh();\n return new Promise((resolve, reject) => {\n let jwttoken = '';\n if (this.getCurrentUser() != null) {\n //console.log(JSON.stringify(this.getCurrentUser()));\n // console.log('76 if');\n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n jwttoken ='';\n // console.log('81 if')\n reject(err);\n }\n else {\n if (session.isValid()) {\n // console.log('85 else if');\n jwttoken = session;\n resolve();\n } else {\n \n }\n }\n });\n }\n else {\n //console.log(\"else\");\n reject();\n }\n});\n}\n\ngetToken():any {\n let isloggin = false;\n let jwttoken = '';\n if (this.getCurrentUser() != null) {\n \n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n isloggin = false;\n //console.log('81 if')\n }\n else {\n //alert('function else');\n if (session.isValid()) {\n // console.log('85 else if');\n jwttoken = session;\n isloggin = true;\n } else {\n \n isloggin = false;\n }\n }\n });\n }\n else {\n // console.log(\"else\");\n isloggin = false;\n }\n return jwttoken;\n}\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AuthenticationDetails,\n CognitoUserPool,\n CognitoUser,\n \n} from \"amazon-cognito-identity-js\";\n\n\nimport { Observable } from \"rxjs/Observable\";\nimport \"rxjs/add/operator/map\";\nimport { CognitoServiceProvider } from './cognito.service';\nimport { ConstantsProvider } from '../constants/constants';\nimport { UrlResolver } from '@angular/compiler';\nconst sineedgedev_poolData = {\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\n}\nconst lender_poolData = {\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\n};\nconst vendor_poolData = {\n UserPoolId: \"ap-south-1_K57yPaWxV\",\n ClientId: \"\"\n}\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\n\n/**\n* Identity PoolID \n*/\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\n\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Injectable()\nexport class AwsServiceProvider {\napiurl:any;\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\n this.apiurl = con.apiurl();\n }\n\n dologin(authenticationData) {\n // alert();\n //(authenticationData);\n const authenticationDetails = new AuthenticationDetails(authenticationData);\n let Newpassword = authenticationData.newpassword;\n let attributesData = [];\n const userData = {\n Username: authenticationData.Username, // User email id\n Pool: sineedgedevUserpool // user Pool ID\n };\n let cognitoUser = new CognitoUser(userData);\n return Observable.create(observer => {\n cognitoUser.authenticateUser(authenticationDetails, {\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \n cognitoUser.completeNewPasswordChallenge(\n Newpassword,\n attributesData,\n {\n onSuccess: function (result) {\n observer.next(result);\n observer.complete();\n },\n onFailure: function (err) {\n //(err);\n observer.error(err);\n //LoginComponent.prototype.open();\n }\n }\n );\n },\n onSuccess: function (result) { // success user login\n // let accessToken = result.getAccessToken().getJwtToken();\n ////(result);\n //window.localStorage.setItem('Currentuser', '1');\n observer.next(result);\n observer.complete();\n this.shared.isloggin = true;\n },\n onFailure: function (err) { // error user login\n\n //alert(err.message);\n observer.error(err);\n }\n });\n });\n }\n userforgotpass(auth) {\n ////(auth);\n const userData = {\n Username: auth.Username,\n Pool: sineedgedevUserpool\n };\n let cognitoUser = new CognitoUser(userData);\n return Observable.create(observe => {\n cognitoUser.forgotPassword({\n onSuccess: function (data) {\n // successfully initiated reset password request\n //('CodeDeliveryData from forgotPassword: ' + data);\n observe.next(data);\n },\n onFailure: function (err) {\n alert(err.message || JSON.stringify(err));\n },\n //Optional automatic callback\n inputVerificationCode: function (data) {\n //('Code sent to: ' + data);\n var verificationCode = prompt('Please input verification code ', '');\n var newPassword = prompt('Enter new password ', '');\n cognitoUser.confirmPassword(verificationCode, newPassword, {\n onSuccess() {\n //('Password confirmed!');\n },\n onFailure(err) {\n //('Password not confirmed!');\n }\n });\n }\n });\n });\n\n\n }\n /**\n * End of the function \n */\n\n /**\n * Logout function\n */\n logout(){\n \n return Observable.create(observe=>{\n this.shared.getCurrentUser().signOut(); \n \n observe.next();\n \n observe.complete();\n });\n }\n\n\n /**\n * Config function\n */\n // getconfig() {\n // let session:any = this.shared.getAccessToken() || \"\";\n \n // let config = \"\";\n // config += AWS.config.region = \"ap-south-1\";\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\n // Logins: {\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\n // .getIdToken()\n // .getJwtToken()\n // }\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\n // });\n // return config;\n // }\n\n getlocale(){\n let session:any = this.shared.getToken() || null;\n let userid = session.idToken.payload.locale;\n return userid;\n }\n getuserprofile(userid)\n {\n \n \n // alert();\n \n //console.log(cogusers.idToken.payload.locale);\n let roles = {'userid':userid}; \n \n \n // let request = new RequestOptions({headers:headers});\n return this.http.post(this.apiurl+'getUsersDetails',roles);\n \n }\n\n userpinupdate(pin)\n {\n let userid = this.getlocale(); \n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\n let formdata = new FormData();\n \n formdata.append('records',JSON.stringify(records));\n return this.http.post(this.apiurl+'updateExistUser',formdata);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { InputPage } from '../input/input';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { parseDate } from 'ionic-angular/util/datetime-util';\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\nimport { OtpPage } from '../otp/otp';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\nimport { DatabaseProvider } from '../../providers/database/database';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\n/**\n * Generated class for the PdListPage 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-list',\n templateUrl: 'pd-list.html',\n})\nexport class PdListPage {\n\n searchinprogress: any;\n searchpast: any;\n pdschduleDetails: any;\n bgColorPast: any = [];\n bgColor: any = [];\n pdinprogress: any=[];\n pdlistdetails: any=[];\n viewchange: boolean;\n pdlist:any = \"inpro\";\n pdlistaccess:boolean = null;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\n //this.getlenderpddetails(); \n // this.getpdTriggerdetails();\n }\n\n ionViewDidLoad() {\n \n console.log('ionViewDidLoad PdListPage');\n this.db.getuserDetails();\n this.setpermission();\n }\n ionViewCanEnter()\n {\n this.getpdTriggerdetails();\n }\n filter(view){\n if(!view){\n this.viewchange = true;\n }else{\n this.viewchange = false;\n this.pdinprogress = this.pdinprogress;\n this.pdschduleDetails = this.pdschduleDetails;\n }\n \n //alert(this.viewchange);\n }\n pdlistsearch(searchbar) {\n console.log(searchbar);\n this.pdinprogress = this.searchinprogress;\n this.pdschduleDetails = this.searchpast;\n // reset countries list with initial call\n //this.pdinprogress = this.countriesInitial;\n // set q to the value of the searchbar\n var q = searchbar.target.value;\n\n // if the value is an empty string don't filter the items\n \n if(this.pdlist == \"inpro\"){\n if (q.trim() == '') {\n return ;\n }else{\n this.pdinprogress = this.searchinprogress.filter((v) => {\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) {\n return true;\n }\n return false;\n })\n }\n }else\n {\n if (q.trim() == '') {\n console.log(q.trim());\n console.log(this.pdlistdetails);\n return ;\n }else{\n this.pdschduleDetails = this.searchpast.filter((v) => {\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\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) {\n \n return true;\n }\n \n return false;\n })\n }\n \n}\n}\n newpage(){\n this.navCtrl.push(InputPage);\n }\n getpdTriggerdetails()\n {\n let userid = this.aws.getlocale();\n\n this.pdofficer.getpddetails(userid).subscribe(res=>\n {\n this.pdlistdetails = res;\n if(this.pdlistdetails.dataStatus == true)\n {\n console.log(this.pdlistdetails);\n this.pdlistaccess = true;\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\");\n this.searchpast = this.pdschduleDetails;\n // console.log(65,this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"STARTED\" || sch.pd_status == \"INPROGRESS\" || sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" && sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\"));\n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\n this.searchinprogress = this.pdinprogress;\n console.log(this.pdinprogress);\n this.random_bg_color();\n this.random_ng_past();\n }else\n {\n this.pdlistaccess = false;\n this.pdlistdetails = \"No Records Found\";\n }\n })\n }\n\n random_bg_color() {\n for(let id of this.pdinprogress){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n \n return this.bgColor;\n }\n random_ng_past()\n {\n for(let id of this.pdschduleDetails){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n }\n doRefresh(refresher) {\n this.bgColor = [];\n this.pdschduleDetails = [];\n this.pdinprogress = [];\n console.log('Begin async operation', refresher);\n this.shared.refresh();\n this.getpdTriggerdetails();\n setTimeout(() => {\n console.log('Async operation has ended');\n refresher.complete();\n }, 2000);\n }\n \n PdAllocation(pddetails)\n {\n \n if(pddetails.pd_status == 'STARTED')\n {\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\n }else if(pddetails.pd_status == 'INPROGRESS'){\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':pddetails});\n }else{\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\n }\n }\n\n setpermission()\n {\n // let permission = this.androidPermissions.PERMISSION; \n // let premission_list = [\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\n // permission.CAMERA,\n\n\n // ];\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {ConstantsProvider} from '../constants/constants';\n\n/*\n Generated class for the PdtriggerProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\n@Injectable()\nexport class PdtriggerProvider {\n apiurl:any;\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\n this.apiurl = constants.apiurl();\n console.log('Hello PdtriggerProvider Provider');\n }\n\n \n\n /**get dropdonw list */\n\n /**Get list of PD Trigger */\n\n getpddetails(userid)\n { \n //console.log(userid);\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\n }\n\n getFullPDdetails(pdid)\n {\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\n }\n\n updatepdStatus(dataStatus)\n {\n let records = {'records':dataStatus};\n return this.http.post(this.apiurl+'updatePDMaster',records);\n }\n\n saveCurrentLocation(data)\n {\n let records = {'records':data};\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\n }\n\n checkotp(otpDetails)\n {\n let records = {'records':otpDetails};\n return this.http.post(this.apiurl+'checkOTP',records); \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Toast, ToastController } from 'ionic-angular';\n\n/*\n Generated class for the ToastProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class ToastProvider {\n\n constructor(public http: HttpClient,public toast:ToastController) {\n console.log('Hello ToastProvider Provider');\n }\n pdTriggerappmessage(mess){\n let valalert = this.toast.create({\n message:mess, \n duration: 3000, \n position: 'bottom',\n dismissOnPageChange: true,\n });\n\n valalert.present();\n} \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts"]} \ No newline at end of file diff --git a/package.json b/package.json index 9fbcf98a..271ae59d 100755 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "@angular/common": "5.0.3", "@angular/compiler": "5.0.3", "@angular/compiler-cli": "5.0.3", - "@angular/core": "5.0.3", + "@angular/core": "^5.0.3", "@angular/forms": "5.0.3", "@angular/http": "5.0.3", "@angular/material": "^5.0.1", @@ -68,7 +68,9 @@ }, "description": "An Ionic project", "config": { - "ionic_copy": "./config/copy.config.js" + "ionic_copy": "./config/copy.config.js", + "ionic_bundler": "webpack", + }, "cordova": { "plugins": { diff --git a/platforms/android/.gitignore b/platforms/android/.gitignore new file mode 100644 index 00000000..6e524459 --- /dev/null +++ b/platforms/android/.gitignore @@ -0,0 +1,14 @@ +# Non-project-specific build files: +build.xml +local.properties +/gradlew +/gradlew.bat +/gradle +# Ant builds +ant-build +ant-gen +# Eclipse builds +gen +out +# Gradle builds +/build diff --git a/platforms/android/.gradle/2.10/taskArtifacts/cache.properties b/platforms/android/.gradle/2.10/taskArtifacts/cache.properties new file mode 100644 index 00000000..97b9353d --- /dev/null +++ b/platforms/android/.gradle/2.10/taskArtifacts/cache.properties @@ -0,0 +1 @@ +#Sun Feb 17 13:36:20 IST 2019 diff --git a/platforms/android/.gradle/2.10/taskArtifacts/cache.properties.lock b/platforms/android/.gradle/2.10/taskArtifacts/cache.properties.lock new file mode 100644 index 00000000..e94892fa Binary files /dev/null and b/platforms/android/.gradle/2.10/taskArtifacts/cache.properties.lock differ diff --git a/platforms/android/.gradle/2.10/taskArtifacts/fileHashes.bin b/platforms/android/.gradle/2.10/taskArtifacts/fileHashes.bin new file mode 100644 index 00000000..bc27c8d7 Binary files /dev/null and b/platforms/android/.gradle/2.10/taskArtifacts/fileHashes.bin differ diff --git a/platforms/android/.gradle/2.10/taskArtifacts/fileSnapshots.bin b/platforms/android/.gradle/2.10/taskArtifacts/fileSnapshots.bin new file mode 100644 index 00000000..02b4b796 Binary files /dev/null and b/platforms/android/.gradle/2.10/taskArtifacts/fileSnapshots.bin differ diff --git a/platforms/android/.gradle/2.10/taskArtifacts/outputFileStates.bin b/platforms/android/.gradle/2.10/taskArtifacts/outputFileStates.bin new file mode 100644 index 00000000..c60145b7 Binary files /dev/null and b/platforms/android/.gradle/2.10/taskArtifacts/outputFileStates.bin differ diff --git a/platforms/android/.gradle/2.10/taskArtifacts/taskArtifacts.bin b/platforms/android/.gradle/2.10/taskArtifacts/taskArtifacts.bin new file mode 100644 index 00000000..11533edf Binary files /dev/null and b/platforms/android/.gradle/2.10/taskArtifacts/taskArtifacts.bin differ diff --git a/platforms/android/.gradle/4.1/fileChanges/last-build.bin b/platforms/android/.gradle/4.1/fileChanges/last-build.bin new file mode 100644 index 00000000..f76dd238 Binary files /dev/null and b/platforms/android/.gradle/4.1/fileChanges/last-build.bin differ diff --git a/platforms/android/.gradle/4.1/fileContent/fileContent.lock b/platforms/android/.gradle/4.1/fileContent/fileContent.lock new file mode 100644 index 00000000..fc00a32a Binary files /dev/null and b/platforms/android/.gradle/4.1/fileContent/fileContent.lock differ diff --git a/platforms/android/.gradle/4.1/fileHashes/fileHashes.bin b/platforms/android/.gradle/4.1/fileHashes/fileHashes.bin new file mode 100644 index 00000000..4f988f3c Binary files /dev/null and b/platforms/android/.gradle/4.1/fileHashes/fileHashes.bin differ diff --git a/platforms/android/.gradle/4.1/fileHashes/fileHashes.lock b/platforms/android/.gradle/4.1/fileHashes/fileHashes.lock new file mode 100644 index 00000000..e4a99f25 Binary files /dev/null and b/platforms/android/.gradle/4.1/fileHashes/fileHashes.lock differ diff --git a/platforms/android/.gradle/4.1/fileHashes/resourceHashesCache.bin b/platforms/android/.gradle/4.1/fileHashes/resourceHashesCache.bin new file mode 100644 index 00000000..79df48b1 Binary files /dev/null and b/platforms/android/.gradle/4.1/fileHashes/resourceHashesCache.bin differ diff --git a/platforms/android/.gradle/4.1/javaCompile/classAnalysis.bin b/platforms/android/.gradle/4.1/javaCompile/classAnalysis.bin new file mode 100644 index 00000000..079ead7a Binary files /dev/null and b/platforms/android/.gradle/4.1/javaCompile/classAnalysis.bin differ diff --git a/platforms/android/.gradle/4.1/javaCompile/jarAnalysis.bin b/platforms/android/.gradle/4.1/javaCompile/jarAnalysis.bin new file mode 100644 index 00000000..3cc2a636 Binary files /dev/null and b/platforms/android/.gradle/4.1/javaCompile/jarAnalysis.bin differ diff --git a/platforms/android/.gradle/4.1/javaCompile/javaCompile.lock b/platforms/android/.gradle/4.1/javaCompile/javaCompile.lock new file mode 100644 index 00000000..4be05be1 Binary files /dev/null and b/platforms/android/.gradle/4.1/javaCompile/javaCompile.lock differ diff --git a/platforms/android/.gradle/4.1/javaCompile/taskHistory.bin b/platforms/android/.gradle/4.1/javaCompile/taskHistory.bin new file mode 100644 index 00000000..9b49c915 Binary files /dev/null and b/platforms/android/.gradle/4.1/javaCompile/taskHistory.bin differ diff --git a/platforms/android/.gradle/4.1/javaCompile/taskJars.bin b/platforms/android/.gradle/4.1/javaCompile/taskJars.bin new file mode 100644 index 00000000..7a9b471c Binary files /dev/null and b/platforms/android/.gradle/4.1/javaCompile/taskJars.bin differ diff --git a/platforms/android/.gradle/4.1/taskHistory/fileSnapshots.bin b/platforms/android/.gradle/4.1/taskHistory/fileSnapshots.bin new file mode 100644 index 00000000..afb8429f Binary files /dev/null and b/platforms/android/.gradle/4.1/taskHistory/fileSnapshots.bin differ diff --git a/platforms/android/.gradle/4.1/taskHistory/taskHistory.bin b/platforms/android/.gradle/4.1/taskHistory/taskHistory.bin new file mode 100644 index 00000000..d5ab0b74 Binary files /dev/null and b/platforms/android/.gradle/4.1/taskHistory/taskHistory.bin differ diff --git a/platforms/android/.gradle/4.1/taskHistory/taskHistory.lock b/platforms/android/.gradle/4.1/taskHistory/taskHistory.lock new file mode 100644 index 00000000..556b68b5 Binary files /dev/null and b/platforms/android/.gradle/4.1/taskHistory/taskHistory.lock differ diff --git a/platforms/android/.gradle/buildOutputCleanup/built.bin b/platforms/android/.gradle/buildOutputCleanup/built.bin new file mode 100644 index 00000000..e69de29b diff --git a/platforms/android/.gradle/buildOutputCleanup/cache.properties b/platforms/android/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 00000000..bf4fad32 --- /dev/null +++ b/platforms/android/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Sun Feb 17 13:36:54 IST 2019 +gradle.version=4.1 diff --git a/platforms/android/.gradle/buildOutputCleanup/cache.properties.lock b/platforms/android/.gradle/buildOutputCleanup/cache.properties.lock new file mode 100644 index 00000000..40fdece9 --- /dev/null +++ b/platforms/android/.gradle/buildOutputCleanup/cache.properties.lock @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/platforms/android/CordovaLib/AndroidManifest.xml b/platforms/android/CordovaLib/AndroidManifest.xml new file mode 100755 index 00000000..1625b896 --- /dev/null +++ b/platforms/android/CordovaLib/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + diff --git a/platforms/android/CordovaLib/build.gradle b/platforms/android/CordovaLib/build.gradle new file mode 100644 index 00000000..4f7f171c --- /dev/null +++ b/platforms/android/CordovaLib/build.gradle @@ -0,0 +1,137 @@ +/* Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +ext { + apply from: 'cordova.gradle' + cdvCompileSdkVersion = privateHelpers.getProjectTarget() + cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() +} + +buildscript { + repositories { + maven { + url "https://maven.google.com" + } + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.0.1' + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' + } +} + +apply plugin: 'com.android.library' +apply plugin: 'com.github.dcendents.android-maven' +apply plugin: 'com.jfrog.bintray' + +group = 'org.apache.cordova' +version = '7.1.4' + +android { + compileSdkVersion cdvCompileSdkVersion + buildToolsVersion cdvBuildToolsVersion + publishNonDefault true + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + } + + packagingOptions { + exclude 'META-INF/LICENSE' + exclude 'META-INF/LICENSE.txt' + exclude 'META-INF/DEPENDENCIES' + exclude 'META-INF/NOTICE' + } +} + +install { + repositories.mavenInstaller { + pom { + project { + packaging 'aar' + name 'Cordova' + url 'https://cordova.apache.org' + licenses { + license { + name 'The Apache Software License, Version 2.0' + url 'http://www.apache.org/licenses/LICENSE-2.0.txt' + } + } + developers { + developer { + id 'stevengill' + name 'Steve Gill' + } + } + scm { + connection 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' + developerConnection 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' + url 'https://git-wip-us.apache.org/repos/asf?p=cordova-android' + + } + } + } + } +} + +task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' +} + +artifacts { + archives sourcesJar +} + +bintray { + user = System.getenv('BINTRAY_USER') + key = System.getenv('BINTRAY_KEY') + configurations = ['archives'] + pkg { + repo = 'maven' + name = 'cordova-android' + userOrg = 'cordova' + licenses = ['Apache-2.0'] + vcsUrl = 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' + websiteUrl = 'https://cordova.apache.org' + issueTrackerUrl = 'https://issues.apache.org/jira/browse/CB' + publicDownloadNumbers = true + licenses = ['Apache-2.0'] + labels = ['android', 'cordova', 'phonegap'] + version { + name = '7.1.4' + released = new Date() + vcsTag = '7.1.4' + } + } +} diff --git a/platforms/android/CordovaLib/build/generated/source/buildConfig/debug/org/apache/cordova/BuildConfig.java b/platforms/android/CordovaLib/build/generated/source/buildConfig/debug/org/apache/cordova/BuildConfig.java new file mode 100644 index 00000000..f2feb906 --- /dev/null +++ b/platforms/android/CordovaLib/build/generated/source/buildConfig/debug/org/apache/cordova/BuildConfig.java @@ -0,0 +1,13 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package org.apache.cordova; + +public final class BuildConfig { + public static final boolean DEBUG = Boolean.parseBoolean("true"); + public static final String APPLICATION_ID = "org.apache.cordova"; + public static final String BUILD_TYPE = "debug"; + public static final String FLAVOR = ""; + public static final int VERSION_CODE = 1; + public static final String VERSION_NAME = "1.0"; +} diff --git a/platforms/android/CordovaLib/build/generated/source/r/debug/org/apache/cordova/R.java b/platforms/android/CordovaLib/build/generated/source/r/debug/org/apache/cordova/R.java new file mode 100644 index 00000000..ba5855f0 --- /dev/null +++ b/platforms/android/CordovaLib/build/generated/source/r/debug/org/apache/cordova/R.java @@ -0,0 +1,10 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * gradle plugin from the resource data it found. It + * should not be modified by hand. + */ +package org.apache.cordova; + +public final class R { +} diff --git a/platforms/android/CordovaLib/build/intermediates/attr/R.txt b/platforms/android/CordovaLib/build/intermediates/attr/R.txt new file mode 100644 index 00000000..2c543dda --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/attr/R.txt @@ -0,0 +1,1353 @@ +int attr absListViewStyle 0x0101006a +int attr accessibilityEventTypes 0x01010380 +int attr accessibilityFeedbackType 0x01010382 +int attr accessibilityFlags 0x01010384 +int attr accessibilityLiveRegion 0x010103ee +int attr accessibilityTraversalAfter 0x010104d2 +int attr accessibilityTraversalBefore 0x010104d1 +int attr accountPreferences 0x0101029f +int attr accountType 0x0101028f +int attr action 0x0101002d +int attr actionBarDivider 0x0101039b +int attr actionBarItemBackground 0x0101039c +int attr actionBarPopupTheme 0x0101048d +int attr actionBarSize 0x010102eb +int attr actionBarSplitStyle 0x01010388 +int attr actionBarStyle 0x010102ce +int attr actionBarTabBarStyle 0x010102f4 +int attr actionBarTabStyle 0x010102f3 +int attr actionBarTabTextStyle 0x010102f5 +int attr actionBarTheme 0x01010431 +int attr actionBarWidgetTheme 0x01010397 +int attr actionButtonStyle 0x010102d8 +int attr actionDropDownStyle 0x010102d7 +int attr actionLayout 0x010102fb +int attr actionMenuTextAppearance 0x01010360 +int attr actionMenuTextColor 0x01010361 +int attr actionModeBackground 0x010102db +int attr actionModeCloseButtonStyle 0x010102f7 +int attr actionModeCloseDrawable 0x010102dc +int attr actionModeCopyDrawable 0x01010312 +int attr actionModeCutDrawable 0x01010311 +int attr actionModeFindDrawable 0x0101047a +int attr actionModePasteDrawable 0x01010313 +int attr actionModeSelectAllDrawable 0x0101037e +int attr actionModeShareDrawable 0x01010479 +int attr actionModeSplitBackground 0x0101039d +int attr actionModeStyle 0x01010394 +int attr actionModeWebSearchDrawable 0x0101047b +int attr actionOverflowButtonStyle 0x010102f6 +int attr actionOverflowMenuStyle 0x01010444 +int attr actionProviderClass 0x01010389 +int attr actionViewClass 0x010102fc +int attr activatedBackgroundIndicator 0x010102fd +int attr activityCloseEnterAnimation 0x010100ba +int attr activityCloseExitAnimation 0x010100bb +int attr activityOpenEnterAnimation 0x010100b8 +int attr activityOpenExitAnimation 0x010100b9 +int attr addPrintersActivity 0x010103e6 +int attr addStatesFromChildren 0x010100f0 +int attr adjustViewBounds 0x0101011e +int attr advancedPrintOptionsActivity 0x010103f1 +int attr alertDialogIcon 0x01010355 +int attr alertDialogStyle 0x0101005d +int attr alertDialogTheme 0x01010309 +int attr alignmentMode 0x0101037a +int attr allContactsName 0x010102cc +int attr allowBackup 0x01010280 +int attr allowClearUserData 0x01010005 +int attr allowEmbedded 0x010103f5 +int attr allowParallelSyncs 0x01010332 +int attr allowSingleTap 0x01010259 +int attr allowTaskReparenting 0x01010204 +int attr allowUndo 0x010104df +int attr alpha 0x0101031f +int attr alphabeticModifiers 0x0101054e +int attr alphabeticShortcut 0x010101e3 +int attr alwaysDrawnWithCache 0x010100ef +int attr alwaysRetainTaskState 0x01010203 +int attr amPmBackgroundColor 0x010104a5 +int attr amPmTextColor 0x010104a4 +int attr ambientShadowAlpha 0x010104be +int attr angle 0x010101a0 +int attr animateFirstView 0x010102d5 +int attr animateLayoutChanges 0x010102f2 +int attr animateOnClick 0x0101025c +int attr animation 0x010101cd +int attr animationCache 0x010100ed +int attr animationDuration 0x01010112 +int attr animationOrder 0x010101ce +int attr animationResolution 0x0101031a +int attr antialias 0x0101011a +int attr anyDensity 0x0101026c +int attr apduServiceBanner 0x010103ed +int attr apiKey 0x01010211 +int attr appCategory 0x01010545 +int attr author 0x010102b4 +int attr authorities 0x01010018 +int attr autoAdvanceViewId 0x0101030f +int attr autoCompleteTextViewStyle 0x0101006b +int attr autoLink 0x010100b0 +int attr autoMirrored 0x010103ea +int attr autoRemoveFromRecents 0x01010447 +int attr autoSizeMaxTextSize 0x01010546 +int attr autoSizeMinTextSize 0x01010538 +int attr autoSizePresetSizes 0x01010537 +int attr autoSizeStepGranularity 0x01010536 +int attr autoSizeTextType 0x01010535 +int attr autoStart 0x010102b5 +int attr autoText 0x0101016a +int attr autoUrlDetect 0x0101028c +int attr autoVerify 0x010104ee +int attr autofillHints 0x01010556 +int attr autofilledHighlight 0x01010568 +int attr background 0x010100d4 +int attr backgroundDimAmount 0x01010032 +int attr backgroundDimEnabled 0x0101021f +int attr backgroundSplit 0x0101038b +int attr backgroundStacked 0x0101038a +int attr backgroundTint 0x0101046b +int attr backgroundTintMode 0x0101046c +int attr backupAgent 0x0101027f +int attr backupInForeground 0x0101051a +int attr banner 0x010103f2 +int attr baseline 0x0101031c +int attr baselineAlignBottom 0x01010122 +int attr baselineAligned 0x01010126 +int attr baselineAlignedChildIndex 0x01010127 +int attr bitmap 0x01010516 +int attr borderlessButtonStyle 0x0101032b +int attr bottom 0x010101b0 +int attr bottomBright 0x010100cd +int attr bottomDark 0x010100c9 +int attr bottomLeftRadius 0x010101ab +int attr bottomMedium 0x010100ce +int attr bottomOffset 0x01010257 +int attr bottomRightRadius 0x010101ac +int attr breadCrumbShortTitle 0x01010304 +int attr breadCrumbTitle 0x01010303 +int attr breakStrategy 0x010104dd +int attr bufferType 0x0101014e +int attr button 0x01010107 +int attr buttonBarButtonStyle 0x0101032f +int attr buttonBarNegativeButtonStyle 0x0101048b +int attr buttonBarNeutralButtonStyle 0x0101048a +int attr buttonBarPositiveButtonStyle 0x01010489 +int attr buttonBarStyle 0x0101032e +int attr buttonGravity 0x010104fe +int attr buttonStyle 0x01010048 +int attr buttonStyleInset 0x0101004a +int attr buttonStyleSmall 0x01010049 +int attr buttonStyleToggle 0x0101004b +int attr buttonTint 0x0101046f +int attr buttonTintMode 0x01010470 +int attr cacheColorHint 0x01010101 +int attr calendarTextColor 0x0101049b +int attr calendarViewShown 0x0101034c +int attr calendarViewStyle 0x0101035d +int attr canControlMagnification 0x01010507 +int attr canPerformGestures 0x0101050d +int attr canRecord 0x0101051c +int attr canRequestEnhancedWebAccessibility 0x010103d8 +int attr canRequestFilterKeyEvents 0x010103d9 +int attr canRequestFingerprintGestures 0x0101054d +int attr canRequestTouchExplorationMode 0x010103d7 +int attr canRetrieveWindowContent 0x01010385 +int attr candidatesTextStyleSpans 0x01010230 +int attr capitalize 0x01010169 +int attr category 0x010103e8 +int attr centerBright 0x010100cc +int attr centerColor 0x0101020b +int attr centerDark 0x010100c8 +int attr centerMedium 0x010100cf +int attr centerX 0x010101a2 +int attr centerY 0x010101a3 +int attr certDigest 0x01010548 +int attr checkBoxPreferenceStyle 0x0101008f +int attr checkMark 0x01010108 +int attr checkMarkTint 0x010104a7 +int attr checkMarkTintMode 0x010104a8 +int attr checkable 0x010101e5 +int attr checkableBehavior 0x010101e0 +int attr checkboxStyle 0x0101006c +int attr checked 0x01010106 +int attr checkedButton 0x01010148 +int attr checkedTextViewStyle 0x010103c8 +int attr childDivider 0x01010111 +int attr childIndicator 0x0101010c +int attr childIndicatorEnd 0x010103d4 +int attr childIndicatorLeft 0x0101010f +int attr childIndicatorRight 0x01010110 +int attr childIndicatorStart 0x010103d3 +int attr choiceMode 0x0101012b +int attr classLoader 0x0101056b +int attr clearTaskOnLaunch 0x01010015 +int attr clickable 0x010100e5 +int attr clipChildren 0x010100ea +int attr clipOrientation 0x0101020a +int attr clipToPadding 0x010100eb +int attr closeIcon 0x01010481 +int attr codes 0x01010242 +int attr collapseColumns 0x0101014b +int attr collapseContentDescription 0x010104d0 +int attr collapseIcon 0x010104ff +int attr color 0x010101a5 +int attr colorAccent 0x01010435 +int attr colorActivatedHighlight 0x01010390 +int attr colorBackground 0x01010031 +int attr colorBackgroundCacheHint 0x010102ab +int attr colorBackgroundFloating 0x010104e2 +int attr colorButtonNormal 0x0101042b +int attr colorControlActivated 0x0101042a +int attr colorControlHighlight 0x0101042c +int attr colorControlNormal 0x01010429 +int attr colorEdgeEffect 0x010104ce +int attr colorError 0x01010543 +int attr colorFocusedHighlight 0x0101038f +int attr colorForeground 0x01010030 +int attr colorForegroundInverse 0x01010206 +int attr colorLongPressedHighlight 0x0101038e +int attr colorMode 0x0101054a +int attr colorMultiSelectHighlight 0x01010391 +int attr colorPressedHighlight 0x0101038d +int attr colorPrimary 0x01010433 +int attr colorPrimaryDark 0x01010434 +int attr colorSecondary 0x01010530 +int attr columnCount 0x01010377 +int attr columnDelay 0x010101cf +int attr columnOrderPreserved 0x01010378 +int attr columnWidth 0x01010117 +int attr commitIcon 0x01010485 +int attr compatibleWidthLimitDp 0x01010365 +int attr completionHint 0x01010172 +int attr completionHintView 0x01010173 +int attr completionThreshold 0x01010174 +int attr configChanges 0x0101001f +int attr configure 0x0101025d +int attr constantSize 0x01010196 +int attr content 0x0101025b +int attr contentAgeHint 0x010104b9 +int attr contentAuthority 0x01010290 +int attr contentDescription 0x01010273 +int attr contentInsetEnd 0x01010454 +int attr contentInsetEndWithActions 0x01010523 +int attr contentInsetLeft 0x01010455 +int attr contentInsetRight 0x01010456 +int attr contentInsetStart 0x01010453 +int attr contentInsetStartWithNavigation 0x01010522 +int attr contextClickable 0x010104e7 +int attr contextDescription 0x0101052e +int attr contextPopupMenuStyle 0x01010501 +int attr contextUri 0x0101052d +int attr controlX1 0x010103fc +int attr controlX2 0x010103fe +int attr controlY1 0x010103fd +int attr controlY2 0x010103ff +int attr countDown 0x0101051b +int attr country 0x010104ba +int attr cropToPadding 0x01010123 +int attr cursorVisible 0x01010152 +int attr customNavigationLayout 0x010102d2 +int attr customTokens 0x0101033b +int attr cycles 0x010101d4 +int attr dashGap 0x010101a7 +int attr dashWidth 0x010101a6 +int attr data 0x0101002e +int attr datePickerDialogTheme 0x010104ac +int attr datePickerMode 0x010104b3 +int attr datePickerStyle 0x0101035c +int attr dateTextAppearance 0x01010349 +int attr dayOfWeekBackground 0x01010494 +int attr dayOfWeekTextAppearance 0x01010495 +int attr debuggable 0x0101000f +int attr defaultFocusHighlightEnabled 0x01010562 +int attr defaultHeight 0x010104f5 +int attr defaultToDeviceProtectedStorage 0x01010504 +int attr defaultValue 0x010101ed +int attr defaultWidth 0x010104f4 +int attr delay 0x010101cc +int attr dependency 0x010101ec +int attr descendantFocusability 0x010100f1 +int attr description 0x01010020 +int attr detachWallpaper 0x010102a6 +int attr detailColumn 0x010102a3 +int attr detailSocialSummary 0x010102a4 +int attr detailsElementBackground 0x0101034e +int attr dial 0x01010102 +int attr dialogIcon 0x010101f4 +int attr dialogLayout 0x010101f7 +int attr dialogMessage 0x010101f3 +int attr dialogPreferenceStyle 0x01010091 +int attr dialogPreferredPadding 0x010104d3 +int attr dialogTheme 0x01010308 +int attr dialogTitle 0x010101f2 +int attr digits 0x01010166 +int attr directBootAware 0x01010505 +int attr direction 0x010101d1 +int attr directionDescriptions 0x010103a1 +int attr directionPriority 0x010101d2 +int attr disableDependentsState 0x010101f1 +int attr disabledAlpha 0x01010033 +int attr displayOptions 0x010102d0 +int attr dither 0x0101011c +int attr divider 0x01010129 +int attr dividerHeight 0x0101012a +int attr dividerHorizontal 0x0101032c +int attr dividerPadding 0x0101032a +int attr dividerVertical 0x0101030a +int attr documentLaunchMode 0x01010445 +int attr drawSelectorOnTop 0x010100fc +int attr drawable 0x01010199 +int attr drawableBottom 0x0101016e +int attr drawableEnd 0x01010393 +int attr drawableLeft 0x0101016f +int attr drawablePadding 0x01010171 +int attr drawableRight 0x01010170 +int attr drawableStart 0x01010392 +int attr drawableTint 0x010104d6 +int attr drawableTintMode 0x010104d7 +int attr drawableTop 0x0101016d +int attr drawingCacheQuality 0x010100e8 +int attr dropDownAnchor 0x01010263 +int attr dropDownHeight 0x01010283 +int attr dropDownHintAppearance 0x01010088 +int attr dropDownHorizontalOffset 0x010102ac +int attr dropDownItemStyle 0x01010086 +int attr dropDownListViewStyle 0x0101006d +int attr dropDownSelector 0x01010175 +int attr dropDownSpinnerStyle 0x010102d6 +int attr dropDownVerticalOffset 0x010102ad +int attr dropDownWidth 0x01010262 +int attr duplicateParentState 0x010100e9 +int attr duration 0x01010198 +int attr editTextBackground 0x01010352 +int attr editTextColor 0x01010351 +int attr editTextPreferenceStyle 0x01010092 +int attr editTextStyle 0x0101006e +int attr editable 0x0101016b +int attr editorExtras 0x01010224 +int attr elegantTextHeight 0x0101045d +int attr elevation 0x01010440 +int attr ellipsize 0x010100ab +int attr ems 0x01010158 +int attr enableVrMode 0x01010525 +int attr enabled 0x0101000e +int attr end 0x010104dc +int attr endColor 0x0101019e +int attr endX 0x01010512 +int attr endY 0x01010513 +int attr endYear 0x0101017d +int attr enterFadeDuration 0x0101030c +int attr entries 0x010100b2 +int attr entryValues 0x010101f8 +int attr eventsInterceptionEnabled 0x0101027d +int attr excludeClass 0x01010442 +int attr excludeFromRecents 0x01010017 +int attr excludeId 0x01010441 +int attr excludeName 0x0101044e +int attr exitFadeDuration 0x0101030d +int attr expandableListPreferredChildIndicatorLeft 0x01010052 +int attr expandableListPreferredChildIndicatorRight 0x01010053 +int attr expandableListPreferredChildPaddingLeft 0x0101004f +int attr expandableListPreferredItemIndicatorLeft 0x01010050 +int attr expandableListPreferredItemIndicatorRight 0x01010051 +int attr expandableListPreferredItemPaddingLeft 0x0101004e +int attr expandableListViewStyle 0x0101006f +int attr expandableListViewWhiteStyle 0x010102b6 +int attr exported 0x01010010 +int attr externalService 0x0101050e +int attr extraTension 0x0101026b +int attr extractNativeLibs 0x010104ea +int attr factor 0x010101d3 +int attr fadeDuration 0x01010278 +int attr fadeEnabled 0x0101027e +int attr fadeOffset 0x01010277 +int attr fadeScrollbars 0x010102aa +int attr fadingEdge 0x010100df +int attr fadingEdgeLength 0x010100e0 +int attr fadingMode 0x010103e1 +int attr fastScrollAlwaysVisible 0x01010335 +int attr fastScrollEnabled 0x01010226 +int attr fastScrollOverlayPosition 0x0101033a +int attr fastScrollPreviewBackgroundLeft 0x01010337 +int attr fastScrollPreviewBackgroundRight 0x01010338 +int attr fastScrollStyle 0x010103f7 +int attr fastScrollTextColor 0x01010359 +int attr fastScrollThumbDrawable 0x01010336 +int attr fastScrollTrackDrawable 0x01010339 +int attr fillAfter 0x010101bd +int attr fillAlpha 0x010104cc +int attr fillBefore 0x010101bc +int attr fillColor 0x01010404 +int attr fillEnabled 0x0101024f +int attr fillType 0x0101051e +int attr fillViewport 0x0101017a +int attr filter 0x0101011b +int attr filterTouchesWhenObscured 0x010102c4 +int attr fingerprintAuthDrawable 0x010104e8 +int attr finishOnCloseSystemDialogs 0x010102a7 +int attr finishOnTaskLaunch 0x01010014 +int attr firstDayOfWeek 0x0101033d +int attr fitsSystemWindows 0x010100dd +int attr flipInterval 0x01010179 +int attr focusable 0x010100da +int attr focusableInTouchMode 0x010100db +int attr focusedByDefault 0x01010544 +int attr focusedMonthDateColor 0x01010343 +int attr font 0x01010532 +int attr fontFamily 0x010103ac +int attr fontFeatureSettings 0x010104b7 +int attr fontProviderAuthority 0x01010550 +int attr fontProviderCerts 0x0101055d +int attr fontProviderPackage 0x01010557 +int attr fontProviderQuery 0x01010551 +int attr fontStyle 0x0101053f +int attr fontWeight 0x01010533 +int attr footerDividersEnabled 0x0101022f +int attr forceHasOverlappingRendering 0x01010521 +int attr foreground 0x01010109 +int attr foregroundGravity 0x01010200 +int attr foregroundTint 0x0101046d +int attr foregroundTintMode 0x0101046e +int attr format 0x01010105 +int attr format12Hour 0x010103ca +int attr format24Hour 0x010103cb +int attr fraction 0x010104d8 +int attr fragment 0x010102e3 +int attr fragmentAllowEnterTransitionOverlap 0x010104c8 +int attr fragmentAllowReturnTransitionOverlap 0x010104c9 +int attr fragmentCloseEnterAnimation 0x010102e7 +int attr fragmentCloseExitAnimation 0x010102e8 +int attr fragmentEnterTransition 0x010104c3 +int attr fragmentExitTransition 0x010104c2 +int attr fragmentFadeEnterAnimation 0x010102e9 +int attr fragmentFadeExitAnimation 0x010102ea +int attr fragmentOpenEnterAnimation 0x010102e5 +int attr fragmentOpenExitAnimation 0x010102e6 +int attr fragmentReenterTransition 0x010104c7 +int attr fragmentReturnTransition 0x010104c5 +int attr fragmentSharedElementEnterTransition 0x010104c4 +int attr fragmentSharedElementReturnTransition 0x010104c6 +int attr freezesText 0x0101016c +int attr fromAlpha 0x010101ca +int attr fromDegrees 0x010101b3 +int attr fromId 0x0101044a +int attr fromScene 0x010103dd +int attr fromXDelta 0x010101c6 +int attr fromXScale 0x010101c2 +int attr fromYDelta 0x010101c8 +int attr fromYScale 0x010101c4 +int attr fullBackupContent 0x010104eb +int attr fullBackupOnly 0x01010473 +int attr fullBright 0x010100ca +int attr fullDark 0x010100c6 +int attr functionalTest 0x01010023 +int attr galleryItemBackground 0x0101004c +int attr galleryStyle 0x01010070 +int attr gestureColor 0x01010275 +int attr gestureStrokeAngleThreshold 0x0101027c +int attr gestureStrokeLengthThreshold 0x0101027a +int attr gestureStrokeSquarenessThreshold 0x0101027b +int attr gestureStrokeType 0x01010279 +int attr gestureStrokeWidth 0x01010274 +int attr glEsVersion 0x01010281 +int attr goIcon 0x01010482 +int attr gradientRadius 0x010101a4 +int attr grantUriPermissions 0x0101001b +int attr gravity 0x010100af +int attr gridViewStyle 0x01010071 +int attr groupIndicator 0x0101010b +int attr hand_hour 0x01010103 +int attr hand_minute 0x01010104 +int attr handle 0x0101025a +int attr handleProfiling 0x01010022 +int attr hapticFeedbackEnabled 0x0101025e +int attr hardwareAccelerated 0x010102d3 +int attr hasCode 0x0101000c +int attr headerAmPmTextAppearance 0x010104a0 +int attr headerBackground 0x0101012f +int attr headerDayOfMonthTextAppearance 0x01010497 +int attr headerDividersEnabled 0x0101022e +int attr headerMonthTextAppearance 0x01010496 +int attr headerTimeTextAppearance 0x0101049f +int attr headerYearTextAppearance 0x01010498 +int attr height 0x01010155 +int attr hideOnContentScroll 0x01010443 +int attr hint 0x01010150 +int attr homeAsUpIndicator 0x0101030b +int attr homeLayout 0x0101031d +int attr horizontalDivider 0x0101012d +int attr horizontalGap 0x0101023f +int attr horizontalScrollViewStyle 0x01010353 +int attr horizontalSpacing 0x01010114 +int attr host 0x01010028 +int attr hotSpotX 0x01010517 +int attr hotSpotY 0x01010518 +int attr hyphenationFrequency 0x010104de +int attr icon 0x01010002 +int attr iconPreview 0x01010249 +int attr iconSpaceReserved 0x01010561 +int attr iconTint 0x0101055e +int attr iconTintMode 0x0101055f +int attr iconifiedByDefault 0x010102fa +int attr id 0x010100d0 +int attr ignoreGravity 0x010101ff +int attr imageButtonStyle 0x01010072 +int attr imageWellStyle 0x01010073 +int attr imeActionId 0x01010266 +int attr imeActionLabel 0x01010265 +int attr imeExtractEnterAnimation 0x01010268 +int attr imeExtractExitAnimation 0x01010269 +int attr imeFullscreenBackground 0x0101022c +int attr imeOptions 0x01010264 +int attr imeSubtypeExtraValue 0x010102ee +int attr imeSubtypeLocale 0x010102ec +int attr imeSubtypeMode 0x010102ed +int attr immersive 0x010102c0 +int attr importantForAccessibility 0x010103aa +int attr importantForAutofill 0x01010558 +int attr inAnimation 0x01010177 +int attr includeFontPadding 0x0101015f +int attr includeInGlobalSearch 0x0101026e +int attr indeterminate 0x01010139 +int attr indeterminateBehavior 0x0101013e +int attr indeterminateDrawable 0x0101013b +int attr indeterminateDuration 0x0101013d +int attr indeterminateOnly 0x0101013a +int attr indeterminateProgressStyle 0x01010318 +int attr indeterminateTint 0x01010469 +int attr indeterminateTintMode 0x0101046a +int attr indicatorEnd 0x010103d2 +int attr indicatorLeft 0x0101010d +int attr indicatorRight 0x0101010e +int attr indicatorStart 0x010103d1 +int attr inflatedId 0x010100f3 +int attr initOrder 0x0101001a +int attr initialKeyguardLayout 0x010103c2 +int attr initialLayout 0x01010251 +int attr innerRadius 0x0101025f +int attr innerRadiusRatio 0x0101019b +int attr inputMethod 0x01010168 +int attr inputType 0x01010220 +int attr inset 0x010104b5 +int attr insetBottom 0x010101ba +int attr insetLeft 0x010101b7 +int attr insetRight 0x010101b8 +int attr insetTop 0x010101b9 +int attr installLocation 0x010102b7 +int attr interpolator 0x01010141 +int attr isAlwaysSyncable 0x01010333 +int attr isAsciiCapable 0x010103e9 +int attr isAuxiliary 0x0101037f +int attr isDefault 0x01010221 +int attr isFeatureSplit 0x0101055b +int attr isGame 0x010103f4 +int attr isIndicator 0x01010147 +int attr isModifier 0x01010246 +int attr isRepeatable 0x01010248 +int attr isScrollContainer 0x0101024e +int attr isStatic 0x0101055a +int attr isSticky 0x01010247 +int attr isolatedProcess 0x010103a9 +int attr isolatedSplits 0x0101054b +int attr itemBackground 0x01010130 +int attr itemIconDisabledAlpha 0x01010131 +int attr itemPadding 0x0101032d +int attr itemTextAppearance 0x0101012c +int attr justificationMode 0x01010567 +int attr keepScreenOn 0x01010216 +int attr key 0x010101e8 +int attr keyBackground 0x01010233 +int attr keyEdgeFlags 0x01010245 +int attr keyHeight 0x0101023e +int attr keyIcon 0x0101024c +int attr keyLabel 0x0101024b +int attr keyOutputText 0x0101024a +int attr keyPreviewHeight 0x01010239 +int attr keyPreviewLayout 0x01010237 +int attr keyPreviewOffset 0x01010238 +int attr keySet 0x010103db +int attr keyTextColor 0x01010236 +int attr keyTextSize 0x01010234 +int attr keyWidth 0x0101023d +int attr keyboardLayout 0x010103ab +int attr keyboardMode 0x0101024d +int attr keyboardNavigationCluster 0x01010540 +int attr keycode 0x010100c5 +int attr killAfterRestore 0x0101029c +int attr label 0x01010001 +int attr labelFor 0x010103c6 +int attr labelTextSize 0x01010235 +int attr languageTag 0x01010508 +int attr largeHeap 0x0101035a +int attr largeScreens 0x01010286 +int attr largestWidthLimitDp 0x01010366 +int attr launchMode 0x0101001d +int attr launchTaskBehindSourceAnimation 0x01010492 +int attr launchTaskBehindTargetAnimation 0x01010491 +int attr layerType 0x01010354 +int attr layout 0x010100f2 +int attr layoutAnimation 0x010100ec +int attr layoutDirection 0x010103b2 +int attr layoutMode 0x010103da +int attr layout_above 0x01010184 +int attr layout_alignBaseline 0x01010186 +int attr layout_alignBottom 0x0101018a +int attr layout_alignEnd 0x010103ba +int attr layout_alignLeft 0x01010187 +int attr layout_alignParentBottom 0x0101018e +int attr layout_alignParentEnd 0x010103bc +int attr layout_alignParentLeft 0x0101018b +int attr layout_alignParentRight 0x0101018d +int attr layout_alignParentStart 0x010103bb +int attr layout_alignParentTop 0x0101018c +int attr layout_alignRight 0x01010189 +int attr layout_alignStart 0x010103b9 +int attr layout_alignTop 0x01010188 +int attr layout_alignWithParentIfMissing 0x01010192 +int attr layout_below 0x01010185 +int attr layout_centerHorizontal 0x01010190 +int attr layout_centerInParent 0x0101018f +int attr layout_centerVertical 0x01010191 +int attr layout_column 0x0101014c +int attr layout_columnSpan 0x0101037d +int attr layout_columnWeight 0x01010459 +int attr layout_gravity 0x010100b3 +int attr layout_height 0x010100f5 +int attr layout_margin 0x010100f6 +int attr layout_marginBottom 0x010100fa +int attr layout_marginEnd 0x010103b6 +int attr layout_marginHorizontal 0x0101053b +int attr layout_marginLeft 0x010100f7 +int attr layout_marginRight 0x010100f9 +int attr layout_marginStart 0x010103b5 +int attr layout_marginTop 0x010100f8 +int attr layout_marginVertical 0x0101053c +int attr layout_row 0x0101037b +int attr layout_rowSpan 0x0101037c +int attr layout_rowWeight 0x01010458 +int attr layout_scale 0x01010193 +int attr layout_span 0x0101014d +int attr layout_toEndOf 0x010103b8 +int attr layout_toLeftOf 0x01010182 +int attr layout_toRightOf 0x01010183 +int attr layout_toStartOf 0x010103b7 +int attr layout_weight 0x01010181 +int attr layout_width 0x010100f4 +int attr layout_x 0x0101017f +int attr layout_y 0x01010180 +int attr left 0x010101ad +int attr letterSpacing 0x010104b6 +int attr level 0x01010500 +int attr lineSpacingExtra 0x01010217 +int attr lineSpacingMultiplier 0x01010218 +int attr lines 0x01010154 +int attr linksClickable 0x010100b1 +int attr listChoiceBackgroundIndicator 0x010102f0 +int attr listChoiceIndicatorMultiple 0x0101021a +int attr listChoiceIndicatorSingle 0x01010219 +int attr listDivider 0x01010214 +int attr listDividerAlertDialog 0x01010305 +int attr listMenuViewStyle 0x010104f2 +int attr listPopupWindowStyle 0x010102ff +int attr listPreferredItemHeight 0x0101004d +int attr listPreferredItemHeightLarge 0x01010386 +int attr listPreferredItemHeightSmall 0x01010387 +int attr listPreferredItemPaddingEnd 0x010103be +int attr listPreferredItemPaddingLeft 0x010103a3 +int attr listPreferredItemPaddingRight 0x010103a4 +int attr listPreferredItemPaddingStart 0x010103bd +int attr listSelector 0x010100fb +int attr listSeparatorTextViewStyle 0x01010208 +int attr listViewStyle 0x01010074 +int attr listViewWhiteStyle 0x01010075 +int attr lockTaskMode 0x010104ed +int attr logo 0x010102be +int attr logoDescription 0x010104e9 +int attr longClickable 0x010100e6 +int attr loopViews 0x01010307 +int attr manageSpaceActivity 0x01010004 +int attr mapViewStyle 0x0101008a +int attr marqueeRepeatLimit 0x0101021d +int attr matchOrder 0x0101044f +int attr max 0x01010136 +int attr maxAspectRatio 0x01010560 +int attr maxButtonHeight 0x010104fd +int attr maxDate 0x01010340 +int attr maxEms 0x01010157 +int attr maxHeight 0x01010120 +int attr maxItemsPerRow 0x01010134 +int attr maxLength 0x01010160 +int attr maxLevel 0x010101b2 +int attr maxLines 0x01010153 +int attr maxRecents 0x01010446 +int attr maxRows 0x01010133 +int attr maxSdkVersion 0x01010271 +int attr maxWidth 0x0101011f +int attr maximumAngle 0x0101047f +int attr measureAllChildren 0x0101010a +int attr measureWithLargestChild 0x010102d4 +int attr mediaRouteButtonStyle 0x010103ad +int attr mediaRouteTypes 0x010103ae +int attr menuCategory 0x010101de +int attr mimeType 0x01010026 +int attr min 0x01010539 +int attr minDate 0x0101033f +int attr minEms 0x0101015a +int attr minHeight 0x01010140 +int attr minLevel 0x010101b1 +int attr minLines 0x01010156 +int attr minResizeHeight 0x01010396 +int attr minResizeWidth 0x01010395 +int attr minSdkVersion 0x0101020c +int attr minWidth 0x0101013f +int attr minimumHorizontalAngle 0x0101047d +int attr minimumVerticalAngle 0x0101047e +int attr mipMap 0x010103cd +int attr mirrorForRtl 0x010103ce +int attr mode 0x0101017e +int attr moreIcon 0x01010135 +int attr multiArch 0x0101048e +int attr multiprocess 0x01010013 +int attr name 0x01010003 +int attr navigationBarColor 0x01010452 +int attr navigationBarDividerColor 0x0101056d +int attr navigationContentDescription 0x010104c1 +int attr navigationIcon 0x010104c0 +int attr navigationMode 0x010102cf +int attr negativeButtonText 0x010101f6 +int attr nestedScrollingEnabled 0x01010436 +int attr networkSecurityConfig 0x01010527 +int attr nextClusterForward 0x01010542 +int attr nextFocusDown 0x010100e4 +int attr nextFocusForward 0x0101033c +int attr nextFocusLeft 0x010100e1 +int attr nextFocusRight 0x010100e2 +int attr nextFocusUp 0x010100e3 +int attr noHistory 0x0101022d +int attr normalScreens 0x01010285 +int attr notificationTimeout 0x01010383 +int attr numColumns 0x01010118 +int attr numStars 0x01010144 +int attr numberPickerStyle 0x01010524 +int attr numbersBackgroundColor 0x010104a2 +int attr numbersInnerTextColor 0x010104e1 +int attr numbersSelectorColor 0x010104a3 +int attr numbersTextColor 0x010104a1 +int attr numeric 0x01010165 +int attr numericModifiers 0x0101054f +int attr numericShortcut 0x010101e4 +int attr offset 0x01010514 +int attr onClick 0x0101026f +int attr oneshot 0x01010197 +int attr opacity 0x0101031e +int attr order 0x010101ea +int attr orderInCategory 0x010101df +int attr ordering 0x010102e2 +int attr orderingFromXml 0x010101e7 +int attr orientation 0x010100c4 +int attr outAnimation 0x01010178 +int attr outlineProvider 0x010104b8 +int attr overScrollFooter 0x010102c3 +int attr overScrollHeader 0x010102c2 +int attr overScrollMode 0x010102c1 +int attr overlapAnchor 0x01010462 +int attr overridesImplicitlyEnabledSubtype 0x010103a2 +int attr packageNames 0x01010381 +int attr padding 0x010100d5 +int attr paddingBottom 0x010100d9 +int attr paddingEnd 0x010103b4 +int attr paddingHorizontal 0x0101053d +int attr paddingLeft 0x010100d6 +int attr paddingMode 0x01010457 +int attr paddingRight 0x010100d8 +int attr paddingStart 0x010103b3 +int attr paddingTop 0x010100d7 +int attr paddingVertical 0x0101053e +int attr panelBackground 0x0101005e +int attr panelColorBackground 0x01010061 +int attr panelColorForeground 0x01010060 +int attr panelFullBackground 0x0101005f +int attr panelTextAppearance 0x01010062 +int attr parentActivityName 0x010103a7 +int attr password 0x0101015c +int attr path 0x0101002a +int attr pathData 0x01010405 +int attr pathPattern 0x0101002c +int attr pathPrefix 0x0101002b +int attr patternPathData 0x010104ca +int attr permission 0x01010006 +int attr permissionFlags 0x010103c7 +int attr permissionGroup 0x0101000a +int attr permissionGroupFlags 0x010103c5 +int attr persistableMode 0x0101042d +int attr persistent 0x0101000d +int attr persistentDrawingCache 0x010100ee +int attr persistentWhenFeatureAvailable 0x01010563 +int attr phoneNumber 0x01010167 +int attr pivotX 0x010101b5 +int attr pivotY 0x010101b6 +int attr pointerIcon 0x01010509 +int attr popupAnimationStyle 0x010102c9 +int attr popupBackground 0x01010176 +int attr popupCharacters 0x01010244 +int attr popupElevation 0x0101048c +int attr popupEnterTransition 0x0101051f +int attr popupExitTransition 0x01010520 +int attr popupKeyboard 0x01010243 +int attr popupLayout 0x0101023b +int attr popupMenuStyle 0x01010300 +int attr popupTheme 0x010104a9 +int attr popupWindowStyle 0x01010076 +int attr port 0x01010029 +int attr positiveButtonText 0x010101f5 +int attr preferenceCategoryStyle 0x0101008c +int attr preferenceFragmentStyle 0x01010506 +int attr preferenceInformationStyle 0x0101008d +int attr preferenceLayoutChild 0x01010094 +int attr preferenceScreenStyle 0x0101008b +int attr preferenceStyle 0x0101008e +int attr presentationTheme 0x010103c0 +int attr previewImage 0x010102da +int attr primaryContentAlpha 0x01010552 +int attr priority 0x0101001c +int attr privateImeOptions 0x01010223 +int attr process 0x01010011 +int attr progress 0x01010137 +int attr progressBackgroundTint 0x01010465 +int attr progressBackgroundTintMode 0x01010466 +int attr progressBarPadding 0x01010319 +int attr progressBarStyle 0x01010077 +int attr progressBarStyleHorizontal 0x01010078 +int attr progressBarStyleInverse 0x01010287 +int attr progressBarStyleLarge 0x0101007a +int attr progressBarStyleLargeInverse 0x01010289 +int attr progressBarStyleSmall 0x01010079 +int attr progressBarStyleSmallInverse 0x01010288 +int attr progressBarStyleSmallTitle 0x0101020f +int attr progressDrawable 0x0101013c +int attr progressTint 0x01010463 +int attr progressTintMode 0x01010464 +int attr prompt 0x0101017b +int attr propertyName 0x010102e1 +int attr propertyXName 0x01010474 +int attr propertyYName 0x01010475 +int attr protectionLevel 0x01010009 +int attr publicKey 0x010103a6 +int attr queryActionMsg 0x010101db +int attr queryAfterZeroResults 0x01010282 +int attr queryBackground 0x01010487 +int attr queryHint 0x01010358 +int attr quickContactBadgeStyleSmallWindowLarge 0x010102b3 +int attr quickContactBadgeStyleSmallWindowMedium 0x010102b2 +int attr quickContactBadgeStyleSmallWindowSmall 0x010102b1 +int attr quickContactBadgeStyleWindowLarge 0x010102b0 +int attr quickContactBadgeStyleWindowMedium 0x010102af +int attr quickContactBadgeStyleWindowSmall 0x010102ae +int attr radioButtonStyle 0x0101007e +int attr radius 0x010101a8 +int attr rating 0x01010145 +int attr ratingBarStyle 0x0101007c +int attr ratingBarStyleIndicator 0x01010210 +int attr ratingBarStyleSmall 0x0101007d +int attr readPermission 0x01010007 +int attr recognitionService 0x0101049c +int attr recreateOnConfigChanges 0x01010547 +int attr recycleEnabled 0x01010559 +int attr relinquishTaskIdentity 0x01010476 +int attr reparent 0x010104bc +int attr reparentWithOverlay 0x010104bd +int attr repeatCount 0x010101bf +int attr repeatMode 0x010101c0 +int attr reqFiveWayNav 0x01010232 +int attr reqHardKeyboard 0x01010229 +int attr reqKeyboardType 0x01010228 +int attr reqNavigation 0x0101022a +int attr reqTouchScreen 0x01010227 +int attr requireDeviceUnlock 0x010103ec +int attr required 0x0101028e +int attr requiredAccountType 0x010103d6 +int attr requiredFeature 0x01010554 +int attr requiredForAllUsers 0x010103d0 +int attr requiredNotFeature 0x01010555 +int attr requiresFadingEdge 0x010103a5 +int attr requiresSmallestWidthDp 0x01010364 +int attr resizeClip 0x010104cf +int attr resizeMode 0x01010363 +int attr resizeable 0x0101028d +int attr resizeableActivity 0x010104f6 +int attr resource 0x01010025 +int attr restoreAnyVersion 0x010102ba +int attr restoreNeedsApplication 0x0101029d +int attr restrictedAccountType 0x010103d5 +int attr restrictionType 0x01010493 +int attr resumeWhilePausing 0x010104b2 +int attr reversible 0x0101044b +int attr revisionCode 0x010104d5 +int attr right 0x010101af +int attr ringtonePreferenceStyle 0x01010093 +int attr ringtoneType 0x010101f9 +int attr rotation 0x01010326 +int attr rotationAnimation 0x0101053a +int attr rotationX 0x01010327 +int attr rotationY 0x01010328 +int attr roundIcon 0x0101052c +int attr rowCount 0x01010375 +int attr rowDelay 0x010101d0 +int attr rowEdgeFlags 0x01010241 +int attr rowHeight 0x01010132 +int attr rowOrderPreserved 0x01010376 +int attr saveEnabled 0x010100e7 +int attr scaleGravity 0x010101fe +int attr scaleHeight 0x010101fd +int attr scaleType 0x0101011d +int attr scaleWidth 0x010101fc +int attr scaleX 0x01010324 +int attr scaleY 0x01010325 +int attr scheme 0x01010027 +int attr screenDensity 0x010102cb +int attr screenOrientation 0x0101001e +int attr screenSize 0x010102ca +int attr scrollHorizontally 0x0101015b +int attr scrollIndicators 0x010104e6 +int attr scrollViewStyle 0x01010080 +int attr scrollX 0x010100d2 +int attr scrollY 0x010100d3 +int attr scrollbarAlwaysDrawHorizontalTrack 0x01010068 +int attr scrollbarAlwaysDrawVerticalTrack 0x01010069 +int attr scrollbarDefaultDelayBeforeFade 0x010102a9 +int attr scrollbarFadeDuration 0x010102a8 +int attr scrollbarSize 0x01010063 +int attr scrollbarStyle 0x0101007f +int attr scrollbarThumbHorizontal 0x01010064 +int attr scrollbarThumbVertical 0x01010065 +int attr scrollbarTrackHorizontal 0x01010066 +int attr scrollbarTrackVertical 0x01010067 +int attr scrollbars 0x010100de +int attr scrollingCache 0x010100fe +int attr searchButtonText 0x01010205 +int attr searchHintIcon 0x010104d4 +int attr searchIcon 0x01010483 +int attr searchMode 0x010101d5 +int attr searchSettingsDescription 0x0101028a +int attr searchSuggestAuthority 0x010101d6 +int attr searchSuggestIntentAction 0x010101d9 +int attr searchSuggestIntentData 0x010101da +int attr searchSuggestPath 0x010101d7 +int attr searchSuggestSelection 0x010101d8 +int attr searchSuggestThreshold 0x0101026d +int attr searchViewStyle 0x01010480 +int attr secondaryContentAlpha 0x01010553 +int attr secondaryProgress 0x01010138 +int attr secondaryProgressTint 0x01010467 +int attr secondaryProgressTintMode 0x01010468 +int attr seekBarStyle 0x0101007b +int attr segmentedButtonStyle 0x01010330 +int attr selectAllOnFocus 0x0101015e +int attr selectable 0x010101e6 +int attr selectableItemBackground 0x0101030e +int attr selectableItemBackgroundBorderless 0x0101045c +int attr selectedDateVerticalBar 0x01010347 +int attr selectedWeekBackgroundColor 0x01010342 +int attr sessionService 0x0101043d +int attr settingsActivity 0x01010225 +int attr setupActivity 0x010103f6 +int attr shadowColor 0x01010161 +int attr shadowDx 0x01010162 +int attr shadowDy 0x01010163 +int attr shadowRadius 0x01010164 +int attr shape 0x0101019a +int attr shareInterpolator 0x010101bb +int attr sharedUserId 0x0101000b +int attr sharedUserLabel 0x01010261 +int attr shortcutDisabledMessage 0x0101052b +int attr shortcutId 0x01010528 +int attr shortcutLongLabel 0x0101052a +int attr shortcutShortLabel 0x01010529 +int attr shouldDisableView 0x010101ee +int attr showAsAction 0x010102d9 +int attr showDefault 0x010101fa +int attr showDividers 0x01010329 +int attr showForAllUsers 0x010104ef +int attr showMetadataInPreview 0x0101052f +int attr showOnLockScreen 0x010103c9 +int attr showSilent 0x010101fb +int attr showText 0x010104ad +int attr showWeekNumber 0x0101033e +int attr showWhenLocked 0x01010569 +int attr shownWeekCount 0x01010341 +int attr shrinkColumns 0x0101014a +int attr singleLine 0x0101015d +int attr singleLineTitle 0x0101055c +int attr singleUser 0x010103bf +int attr slideEdge 0x01010430 +int attr smallIcon 0x0101029e +int attr smallScreens 0x01010284 +int attr smoothScrollbar 0x01010231 +int attr soundEffectsEnabled 0x01010215 +int attr spacing 0x01010113 +int attr spinnerDropDownItemStyle 0x01010087 +int attr spinnerItemStyle 0x01010089 +int attr spinnerMode 0x010102f1 +int attr spinnerStyle 0x01010081 +int attr spinnersShown 0x0101034b +int attr splitMotionEvents 0x010102ef +int attr splitName 0x01010549 +int attr splitTrack 0x0101044c +int attr spotShadowAlpha 0x010104bf +int attr src 0x01010119 +int attr ssp 0x010103e3 +int attr sspPattern 0x010103e5 +int attr sspPrefix 0x010103e4 +int attr stackFromBottom 0x010100fd +int attr stackViewStyle 0x0101043e +int attr starStyle 0x01010082 +int attr start 0x010104db +int attr startColor 0x0101019d +int attr startDelay 0x010103e2 +int attr startOffset 0x010101be +int attr startX 0x01010510 +int attr startY 0x01010511 +int attr startYear 0x0101017c +int attr stateListAnimator 0x01010448 +int attr stateNotNeeded 0x01010016 +int attr state_above_anchor 0x010100aa +int attr state_accelerated 0x0101031b +int attr state_activated 0x010102fe +int attr state_active 0x010100a2 +int attr state_checkable 0x0101009f +int attr state_checked 0x010100a0 +int attr state_drag_can_accept 0x01010368 +int attr state_drag_hovered 0x01010369 +int attr state_empty 0x010100a9 +int attr state_enabled 0x0101009e +int attr state_expanded 0x010100a8 +int attr state_first 0x010100a4 +int attr state_focused 0x0101009c +int attr state_hovered 0x01010367 +int attr state_last 0x010100a6 +int attr state_long_pressable 0x0101023c +int attr state_middle 0x010100a5 +int attr state_multiline 0x0101034d +int attr state_pressed 0x010100a7 +int attr state_selected 0x010100a1 +int attr state_single 0x010100a3 +int attr state_window_focused 0x0101009d +int attr staticWallpaperPreview 0x01010331 +int attr statusBarColor 0x01010451 +int attr stepSize 0x01010146 +int attr stopWithTask 0x0101036a +int attr streamType 0x01010209 +int attr stretchColumns 0x01010149 +int attr stretchMode 0x01010116 +int attr strokeAlpha 0x010104cb +int attr strokeColor 0x01010406 +int attr strokeLineCap 0x0101040b +int attr strokeLineJoin 0x0101040c +int attr strokeMiterLimit 0x0101040d +int attr strokeWidth 0x01010407 +int attr subMenuArrow 0x010104f3 +int attr submitBackground 0x01010488 +int attr subtitle 0x010102d1 +int attr subtitleTextAppearance 0x0101042f +int attr subtitleTextColor 0x010104e4 +int attr subtitleTextStyle 0x010102f9 +int attr subtypeExtraValue 0x0101039a +int attr subtypeId 0x010103c1 +int attr subtypeLocale 0x01010399 +int attr suggestActionMsg 0x010101dc +int attr suggestActionMsgColumn 0x010101dd +int attr suggestionRowLayout 0x01010486 +int attr summary 0x010101e9 +int attr summaryColumn 0x010102a2 +int attr summaryOff 0x010101f0 +int attr summaryOn 0x010101ef +int attr supportsAssist 0x010104f0 +int attr supportsLaunchVoiceAssistFromKeyguard 0x010104f1 +int attr supportsLocalInteraction 0x0101050f +int attr supportsPictureInPicture 0x010104f7 +int attr supportsRtl 0x010103af +int attr supportsSwitchingToNextInputMethod 0x010103eb +int attr supportsUploading 0x0101029b +int attr switchMinWidth 0x01010370 +int attr switchPadding 0x01010371 +int attr switchPreferenceStyle 0x0101036d +int attr switchStyle 0x0101043f +int attr switchTextAppearance 0x0101036e +int attr switchTextOff 0x0101036c +int attr switchTextOn 0x0101036b +int attr syncable 0x01010019 +int attr tabStripEnabled 0x010102bd +int attr tabStripLeft 0x010102bb +int attr tabStripRight 0x010102bc +int attr tabWidgetStyle 0x01010083 +int attr tag 0x010100d1 +int attr targetActivity 0x01010202 +int attr targetClass 0x0101002f +int attr targetDescriptions 0x010103a0 +int attr targetId 0x010103dc +int attr targetName 0x0101044d +int attr targetPackage 0x01010021 +int attr targetProcesses 0x01010541 +int attr targetSandboxVersion 0x0101054c +int attr targetSdkVersion 0x01010270 +int attr taskAffinity 0x01010012 +int attr taskCloseEnterAnimation 0x010100be +int attr taskCloseExitAnimation 0x010100bf +int attr taskOpenEnterAnimation 0x010100bc +int attr taskOpenExitAnimation 0x010100bd +int attr taskToBackEnterAnimation 0x010100c2 +int attr taskToBackExitAnimation 0x010100c3 +int attr taskToFrontEnterAnimation 0x010100c0 +int attr taskToFrontExitAnimation 0x010100c1 +int attr tension 0x0101026a +int attr testOnly 0x01010272 +int attr text 0x0101014f +int attr textAlignment 0x010103b1 +int attr textAllCaps 0x0101038c +int attr textAppearance 0x01010034 +int attr textAppearanceButton 0x01010207 +int attr textAppearanceInverse 0x01010035 +int attr textAppearanceLarge 0x01010040 +int attr textAppearanceLargeInverse 0x01010043 +int attr textAppearanceLargePopupMenu 0x01010301 +int attr textAppearanceListItem 0x0101039e +int attr textAppearanceListItemSecondary 0x01010432 +int attr textAppearanceListItemSmall 0x0101039f +int attr textAppearanceMedium 0x01010041 +int attr textAppearanceMediumInverse 0x01010044 +int attr textAppearancePopupMenuHeader 0x01010502 +int attr textAppearanceSearchResultSubtitle 0x010102a0 +int attr textAppearanceSearchResultTitle 0x010102a1 +int attr textAppearanceSmall 0x01010042 +int attr textAppearanceSmallInverse 0x01010045 +int attr textAppearanceSmallPopupMenu 0x01010302 +int attr textCheckMark 0x01010046 +int attr textCheckMarkInverse 0x01010047 +int attr textColor 0x01010098 +int attr textColorAlertDialogListItem 0x01010306 +int attr textColorHighlight 0x01010099 +int attr textColorHighlightInverse 0x0101034f +int attr textColorHint 0x0101009a +int attr textColorHintInverse 0x0101003f +int attr textColorLink 0x0101009b +int attr textColorLinkInverse 0x01010350 +int attr textColorPrimary 0x01010036 +int attr textColorPrimaryDisableOnly 0x01010037 +int attr textColorPrimaryInverse 0x01010039 +int attr textColorPrimaryInverseDisableOnly 0x0101028b +int attr textColorPrimaryInverseNoDisable 0x0101003d +int attr textColorPrimaryNoDisable 0x0101003b +int attr textColorSecondary 0x01010038 +int attr textColorSecondaryInverse 0x0101003a +int attr textColorSecondaryInverseNoDisable 0x0101003e +int attr textColorSecondaryNoDisable 0x0101003c +int attr textColorTertiary 0x01010212 +int attr textColorTertiaryInverse 0x01010213 +int attr textCursorDrawable 0x01010362 +int attr textDirection 0x010103b0 +int attr textEditNoPasteWindowLayout 0x01010315 +int attr textEditPasteWindowLayout 0x01010314 +int attr textEditSideNoPasteWindowLayout 0x0101035f +int attr textEditSidePasteWindowLayout 0x0101035e +int attr textEditSuggestionItemLayout 0x01010374 +int attr textFilterEnabled 0x010100ff +int attr textIsSelectable 0x01010316 +int attr textOff 0x01010125 +int attr textOn 0x01010124 +int attr textScaleX 0x01010151 +int attr textSelectHandle 0x010102c7 +int attr textSelectHandleLeft 0x010102c5 +int attr textSelectHandleRight 0x010102c6 +int attr textSelectHandleWindowStyle 0x010102c8 +int attr textSize 0x01010095 +int attr textStyle 0x01010097 +int attr textSuggestionsWindowStyle 0x01010373 +int attr textViewStyle 0x01010084 +int attr theme 0x01010000 +int attr thickness 0x01010260 +int attr thicknessRatio 0x0101019c +int attr thumb 0x01010142 +int attr thumbOffset 0x01010143 +int attr thumbPosition 0x010104e5 +int attr thumbTextPadding 0x01010372 +int attr thumbTint 0x01010471 +int attr thumbTintMode 0x01010472 +int attr thumbnail 0x010102a5 +int attr tickMark 0x0101050a +int attr tickMarkTint 0x0101050b +int attr tickMarkTintMode 0x0101050c +int attr tileMode 0x01010201 +int attr tileModeX 0x01010477 +int attr tileModeY 0x01010478 +int attr timePickerDialogTheme 0x0101049e +int attr timePickerMode 0x010104b4 +int attr timePickerStyle 0x0101049d +int attr timeZone 0x010103cc +int attr tint 0x01010121 +int attr tintMode 0x010103fb +int attr title 0x010101e1 +int attr titleCondensed 0x010101e2 +int attr titleMargin 0x010104f8 +int attr titleMarginBottom 0x010104fc +int attr titleMarginEnd 0x010104fa +int attr titleMarginStart 0x010104f9 +int attr titleMarginTop 0x010104fb +int attr titleTextAppearance 0x0101042e +int attr titleTextColor 0x010104e3 +int attr titleTextStyle 0x010102f8 +int attr toAlpha 0x010101cb +int attr toDegrees 0x010101b4 +int attr toId 0x01010449 +int attr toScene 0x010103de +int attr toXDelta 0x010101c7 +int attr toXScale 0x010101c3 +int attr toYDelta 0x010101c9 +int attr toYScale 0x010101c5 +int attr toolbarStyle 0x010104aa +int attr tooltipText 0x01010534 +int attr top 0x010101ae +int attr topBright 0x010100cb +int attr topDark 0x010100c7 +int attr topLeftRadius 0x010101a9 +int attr topOffset 0x01010258 +int attr topRightRadius 0x010101aa +int attr touchscreenBlocksFocus 0x0101048f +int attr track 0x0101036f +int attr trackTint 0x010104d9 +int attr trackTintMode 0x010104da +int attr transcriptMode 0x01010100 +int attr transformPivotX 0x01010320 +int attr transformPivotY 0x01010321 +int attr transition 0x010103df +int attr transitionGroup 0x01010401 +int attr transitionName 0x01010400 +int attr transitionOrdering 0x010103e0 +int attr transitionVisibilityMode 0x0101047c +int attr translateX 0x0101045a +int attr translateY 0x0101045b +int attr translationX 0x01010322 +int attr translationY 0x01010323 +int attr translationZ 0x010103fa +int attr trimPathEnd 0x01010409 +int attr trimPathOffset 0x0101040a +int attr trimPathStart 0x01010408 +int attr tunerCount 0x0101051d +int attr turnScreenOn 0x0101056a +int attr type 0x010101a1 +int attr typeface 0x01010096 +int attr uiOptions 0x01010398 +int attr uncertainGestureColor 0x01010276 +int attr unfocusedMonthDateColor 0x01010344 +int attr unselectedAlpha 0x0101020e +int attr updatePeriodMillis 0x01010250 +int attr use32bitAbi 0x01010515 +int attr useDefaultMargins 0x01010379 +int attr useIntrinsicSizeAsMinimum 0x01010310 +int attr useLevel 0x0101019f +int attr userVisible 0x01010291 +int attr usesCleartextTraffic 0x010104ec +int attr value 0x01010024 +int attr valueFrom 0x010102de +int attr valueTo 0x010102df +int attr valueType 0x010102e0 +int attr variablePadding 0x01010195 +int attr vendor 0x010103e7 +int attr version 0x01010519 +int attr versionCode 0x0101021b +int attr versionName 0x0101021c +int attr verticalCorrection 0x0101023a +int attr verticalDivider 0x0101012e +int attr verticalGap 0x01010240 +int attr verticalScrollbarPosition 0x01010334 +int attr verticalSpacing 0x01010115 +int attr viewportHeight 0x01010403 +int attr viewportWidth 0x01010402 +int attr visibility 0x010100dc +int attr visible 0x01010194 +int attr visibleToInstantApps 0x01010531 +int attr vmSafeMode 0x010102b8 +int attr voiceIcon 0x01010484 +int attr voiceLanguage 0x01010255 +int attr voiceLanguageModel 0x01010253 +int attr voiceMaxResults 0x01010256 +int attr voicePromptText 0x01010254 +int attr voiceSearchMode 0x01010252 +int attr wallpaperCloseEnterAnimation 0x01010295 +int attr wallpaperCloseExitAnimation 0x01010296 +int attr wallpaperIntraCloseEnterAnimation 0x01010299 +int attr wallpaperIntraCloseExitAnimation 0x0101029a +int attr wallpaperIntraOpenEnterAnimation 0x01010297 +int attr wallpaperIntraOpenExitAnimation 0x01010298 +int attr wallpaperOpenEnterAnimation 0x01010293 +int attr wallpaperOpenExitAnimation 0x01010294 +int attr webTextViewStyle 0x010102b9 +int attr webViewStyle 0x01010085 +int attr weekDayTextAppearance 0x01010348 +int attr weekNumberColor 0x01010345 +int attr weekSeparatorLineColor 0x01010346 +int attr weightSum 0x01010128 +int attr widgetCategory 0x010103c4 +int attr widgetLayout 0x010101eb +int attr width 0x01010159 +int attr windowActionBar 0x010102cd +int attr windowActionBarOverlay 0x010102e4 +int attr windowActionModeOverlay 0x010102dd +int attr windowActivityTransitions 0x010104cd +int attr windowAllowEnterTransitionOverlap 0x0101043c +int attr windowAllowReturnTransitionOverlap 0x0101043b +int attr windowAnimationStyle 0x010100ae +int attr windowBackground 0x01010054 +int attr windowBackgroundFallback 0x01010503 +int attr windowClipToOutline 0x010104ab +int attr windowCloseOnTouchOutside 0x0101035b +int attr windowContentOverlay 0x01010059 +int attr windowContentTransitionManager 0x010103f9 +int attr windowContentTransitions 0x010103f8 +int attr windowDisablePreview 0x01010222 +int attr windowDrawsSystemBarBackgrounds 0x01010450 +int attr windowElevation 0x01010490 +int attr windowEnableSplitTouch 0x01010317 +int attr windowEnterAnimation 0x010100b4 +int attr windowEnterTransition 0x01010437 +int attr windowExitAnimation 0x010100b5 +int attr windowExitTransition 0x01010438 +int attr windowFrame 0x01010055 +int attr windowFullscreen 0x0101020d +int attr windowHideAnimation 0x010100b7 +int attr windowIsFloating 0x01010057 +int attr windowIsTranslucent 0x01010058 +int attr windowLayoutInDisplayCutoutMode 0x01010586 +int attr windowLightNavigationBar 0x0101056c +int attr windowLightStatusBar 0x010104e0 +int attr windowMinWidthMajor 0x01010356 +int attr windowMinWidthMinor 0x01010357 +int attr windowNoDisplay 0x0101021e +int attr windowNoTitle 0x01010056 +int attr windowOverscan 0x010103cf +int attr windowReenterTransition 0x010104af +int attr windowReturnTransition 0x010104ae +int attr windowSharedElementEnterTransition 0x01010439 +int attr windowSharedElementExitTransition 0x0101043a +int attr windowSharedElementReenterTransition 0x010104b1 +int attr windowSharedElementReturnTransition 0x010104b0 +int attr windowSharedElementsUseOverlay 0x010104bb +int attr windowShowAnimation 0x010100b6 +int attr windowShowWallpaper 0x01010292 +int attr windowSoftInputMode 0x0101022b +int attr windowSplashscreenContent 0x01010564 +int attr windowSwipeToDismiss 0x010103f3 +int attr windowTitleBackgroundStyle 0x0101005c +int attr windowTitleSize 0x0101005a +int attr windowTitleStyle 0x0101005b +int attr windowTransitionBackgroundFadeDuration 0x01010461 +int attr windowTranslucentNavigation 0x010103f0 +int attr windowTranslucentStatus 0x010103ef +int attr writePermission 0x01010008 +int attr x 0x010100ac +int attr xlargeScreens 0x010102bf +int attr y 0x010100ad +int attr yearListItemTextAppearance 0x01010499 +int attr yearListSelectorColor 0x0101049a +int attr yesNoPreferenceStyle 0x01010090 +int attr zAdjustment 0x010101c1 diff --git a/platforms/android/CordovaLib/build/intermediates/bundles/debug/R.txt b/platforms/android/CordovaLib/build/intermediates/bundles/debug/R.txt new file mode 100644 index 00000000..e69de29b diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/AuthenticationToken.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/AuthenticationToken.class new file mode 100644 index 00000000..c4a169d4 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/AuthenticationToken.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildConfig.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildConfig.class new file mode 100644 index 00000000..c7296650 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildConfig.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildHelper.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildHelper.class new file mode 100644 index 00000000..34ef4fad Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildHelper.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CallbackContext.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CallbackContext.class new file mode 100644 index 00000000..33a506c9 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CallbackContext.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CallbackMap.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CallbackMap.class new file mode 100644 index 00000000..8feffb41 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CallbackMap.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Config.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Config.class new file mode 100644 index 00000000..765fe159 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Config.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ConfigXmlParser.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ConfigXmlParser.class new file mode 100644 index 00000000..50f71f26 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ConfigXmlParser.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$1.class new file mode 100644 index 00000000..cf9da7e2 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$2.class new file mode 100644 index 00000000..a7becd71 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$2.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$3.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$3.class new file mode 100644 index 00000000..c564d3da Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$3.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4$1.class new file mode 100644 index 00000000..10736979 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4.class new file mode 100644 index 00000000..06c623aa Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity.class new file mode 100644 index 00000000..a1846beb Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaArgs.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaArgs.class new file mode 100644 index 00000000..d83cf355 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaArgs.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaBridge.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaBridge.class new file mode 100644 index 00000000..683a0441 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaBridge.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaClientCertRequest.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaClientCertRequest.class new file mode 100644 index 00000000..b2d2d908 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaClientCertRequest.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$1.class new file mode 100644 index 00000000..dcb3b830 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$2.class new file mode 100644 index 00000000..755c51a0 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$2.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$3.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$3.class new file mode 100644 index 00000000..5de54dfc Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$3.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$4.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$4.class new file mode 100644 index 00000000..df63cadc Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$4.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$5.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$5.class new file mode 100644 index 00000000..7d3209ec Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$5.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$6.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$6.class new file mode 100644 index 00000000..7722bddd Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$6.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$7.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$7.class new file mode 100644 index 00000000..5875c351 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$7.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$8.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$8.class new file mode 100644 index 00000000..06ddbc34 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$8.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$9.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$9.class new file mode 100644 index 00000000..c7e0a6a1 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$9.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$Result.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$Result.class new file mode 100644 index 00000000..e228ae76 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$Result.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper.class new file mode 100644 index 00000000..1add4425 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaHttpAuthHandler.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaHttpAuthHandler.class new file mode 100644 index 00000000..931120c0 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaHttpAuthHandler.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterface.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterface.class new file mode 100644 index 00000000..f8466c78 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterface.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl$ActivityResultHolder.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl$ActivityResultHolder.class new file mode 100644 index 00000000..8b0cbf74 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl$ActivityResultHolder.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl.class new file mode 100644 index 00000000..b109224f Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPlugin.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPlugin.class new file mode 100644 index 00000000..d10ff081 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPlugin.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPreferences.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPreferences.class new file mode 100644 index 00000000..6135ba4c Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPreferences.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi$OpenForReadResult.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi$OpenForReadResult.class new file mode 100644 index 00000000..f23fb5ca Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi$OpenForReadResult.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi.class new file mode 100644 index 00000000..2c3df53d Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebView.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebView.class new file mode 100644 index 00000000..bc395cc5 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebView.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$Client.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$Client.class new file mode 100644 index 00000000..59848d37 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$Client.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$EngineView.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$EngineView.class new file mode 100644 index 00000000..e8f7d5cb Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$EngineView.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine.class new file mode 100644 index 00000000..a20d38f6 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$1.class new file mode 100644 index 00000000..08c580d3 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$2.class new file mode 100644 index 00000000..98655ec5 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$2.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$3.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$3.class new file mode 100644 index 00000000..8073e0bf Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$3.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1$1.class new file mode 100644 index 00000000..3ab9c2d9 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1.class new file mode 100644 index 00000000..67f48af9 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient.class new file mode 100644 index 00000000..f8c4ff81 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl.class new file mode 100644 index 00000000..97d88df0 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$1.class new file mode 100644 index 00000000..0659128a Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$2.class new file mode 100644 index 00000000..c50fdcf6 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$2.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$3.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$3.class new file mode 100644 index 00000000..f8969514 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$3.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$4.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$4.class new file mode 100644 index 00000000..cabc1fab Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$4.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$5.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$5.class new file mode 100644 index 00000000..15c93168 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$5.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid.class new file mode 100644 index 00000000..13faa363 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ExposedJsApi.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ExposedJsApi.class new file mode 100644 index 00000000..d396220a Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ExposedJsApi.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaClientCertRequest.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaClientCertRequest.class new file mode 100644 index 00000000..22e6b3da Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaClientCertRequest.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaCookieManager.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaCookieManager.class new file mode 100644 index 00000000..dc5e46e7 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaCookieManager.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaHttpAuthHandler.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaHttpAuthHandler.class new file mode 100644 index 00000000..dc627b4c Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaHttpAuthHandler.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/LOG.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/LOG.class new file mode 100644 index 00000000..a2ee2058 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/LOG.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$BridgeMode.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$BridgeMode.class new file mode 100644 index 00000000..80252650 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$BridgeMode.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$EvalBridgeMode$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$EvalBridgeMode$1.class new file mode 100644 index 00000000..e1097a65 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$EvalBridgeMode$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$EvalBridgeMode.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$EvalBridgeMode.class new file mode 100644 index 00000000..2b8a2fa4 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$EvalBridgeMode.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$JsMessage.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$JsMessage.class new file mode 100644 index 00000000..fcab5c3f Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$JsMessage.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode$1.class new file mode 100644 index 00000000..a4efcb0a Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode.class new file mode 100644 index 00000000..dc7b0525 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$NoOpBridgeMode.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$NoOpBridgeMode.class new file mode 100644 index 00000000..76d3e641 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$NoOpBridgeMode.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$1.class new file mode 100644 index 00000000..548d01c5 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$2.class new file mode 100644 index 00000000..9e5d7a25 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$2.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$OnlineEventsBridgeModeDelegate.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$OnlineEventsBridgeModeDelegate.class new file mode 100644 index 00000000..9b94fcfb Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$OnlineEventsBridgeModeDelegate.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode.class new file mode 100644 index 00000000..81d903cf Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue.class new file mode 100644 index 00000000..7049d2a6 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PermissionHelper.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PermissionHelper.class new file mode 100644 index 00000000..e60e68fb Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PermissionHelper.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginEntry.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginEntry.class new file mode 100644 index 00000000..c7885e3a Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginEntry.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginManager.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginManager.class new file mode 100644 index 00000000..fd8a8baf Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginManager.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginResult$Status.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginResult$Status.class new file mode 100644 index 00000000..59dae6b8 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginResult$Status.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginResult.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginResult.class new file mode 100644 index 00000000..b1b9d311 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginResult.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/R.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/R.class new file mode 100644 index 00000000..4b7acbc7 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/R.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ResumeCallback.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ResumeCallback.class new file mode 100644 index 00000000..0d795648 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ResumeCallback.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist$URLPattern.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist$URLPattern.class new file mode 100644 index 00000000..b5a19e9a Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist$URLPattern.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist.class new file mode 100644 index 00000000..2a3a2673 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemCookieManager.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemCookieManager.class new file mode 100644 index 00000000..a16c03b8 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemCookieManager.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemExposedJsApi.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemExposedJsApi.class new file mode 100644 index 00000000..0b4a94be Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemExposedJsApi.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$1.class new file mode 100644 index 00000000..d52aa9e8 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$2.class new file mode 100644 index 00000000..9dcba2b0 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$2.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$3.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$3.class new file mode 100644 index 00000000..6590986a Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$3.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$4.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$4.class new file mode 100644 index 00000000..56ac41ec Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$4.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$5.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$5.class new file mode 100644 index 00000000..e41a102f Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$5.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient.class new file mode 100644 index 00000000..20c53180 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebView.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebView.class new file mode 100644 index 00000000..356a53f4 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebView.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewClient.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewClient.class new file mode 100644 index 00000000..b607ea51 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewClient.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine$1.class new file mode 100644 index 00000000..a318171b Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine$1.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine$2.class new file mode 100644 index 00000000..27aa603f Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine$2.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine.class new file mode 100644 index 00000000..75c43c4d Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine.class differ diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/compileDebugAidl/dependency.store b/platforms/android/CordovaLib/build/intermediates/incremental/compileDebugAidl/dependency.store new file mode 100644 index 00000000..8b8400dc Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/incremental/compileDebugAidl/dependency.store differ diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/debug-mergeJniLibs/merge-state b/platforms/android/CordovaLib/build/intermediates/incremental/debug-mergeJniLibs/merge-state new file mode 100644 index 00000000..cfeec25f Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/incremental/debug-mergeJniLibs/merge-state differ diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugAssets/merger.xml b/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugAssets/merger.xml new file mode 100644 index 00000000..308a865f --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugAssets/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml new file mode 100644 index 00000000..7facd234 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugShaders/merger.xml b/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugShaders/merger.xml new file mode 100644 index 00000000..57b6d027 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugShaders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/compile-file-map.properties b/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/compile-file-map.properties new file mode 100644 index 00000000..5bd4ad8f --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/compile-file-map.properties @@ -0,0 +1 @@ +#Sun Feb 17 13:36:55 IST 2019 diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/merger.xml b/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/merger.xml new file mode 100644 index 00000000..c35c2e57 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/intermediate-jars/debug/classes.jar b/platforms/android/CordovaLib/build/intermediates/intermediate-jars/debug/classes.jar new file mode 100644 index 00000000..32d7cc33 Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/intermediate-jars/debug/classes.jar differ diff --git a/platforms/android/CordovaLib/build/intermediates/intermediate-jars/debug/res.jar b/platforms/android/CordovaLib/build/intermediates/intermediate-jars/debug/res.jar new file mode 100644 index 00000000..15cb0ecb Binary files /dev/null and b/platforms/android/CordovaLib/build/intermediates/intermediate-jars/debug/res.jar differ diff --git a/platforms/android/CordovaLib/build/intermediates/javaPrecompile/debug/annotationProcessors.json b/platforms/android/CordovaLib/build/intermediates/javaPrecompile/debug/annotationProcessors.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/javaPrecompile/debug/annotationProcessors.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/manifests/aapt/debug/AndroidManifest.xml b/platforms/android/CordovaLib/build/intermediates/manifests/aapt/debug/AndroidManifest.xml new file mode 100644 index 00000000..c7489414 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/manifests/aapt/debug/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/manifests/aapt/debug/output.json b/platforms/android/CordovaLib/build/intermediates/manifests/aapt/debug/output.json new file mode 100644 index 00000000..b81a0670 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/manifests/aapt/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"AndroidManifest.xml","properties":{"packageId":"org.apache.cordova","split":""}}] \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/AndroidManifest.xml b/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/AndroidManifest.xml new file mode 100644 index 00000000..c7489414 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/output.json b/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/output.json new file mode 100644 index 00000000..050d2028 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"AndroidManifest.xml","properties":{"packageId":"org.apache.cordova","split":""}}] \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/res/debug/output.json b/platforms/android/CordovaLib/build/intermediates/res/debug/output.json new file mode 100644 index 00000000..2d8bf914 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/res/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"PROCESSED_RES"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"resources-debug.ap_","properties":{"packageId":"org.apache.cordova","split":""}}] \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt b/platforms/android/CordovaLib/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt new file mode 100644 index 00000000..836e3c57 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt @@ -0,0 +1 @@ +org.apache.cordova diff --git a/platforms/android/CordovaLib/build/intermediates/transforms/mergeJniLibs/debug/__content__.json b/platforms/android/CordovaLib/build/intermediates/transforms/mergeJniLibs/debug/__content__.json new file mode 100644 index 00000000..49b1382f --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/transforms/mergeJniLibs/debug/__content__.json @@ -0,0 +1 @@ +[{"name":"resources","index":0,"scopes":["PROJECT"],"types":["NATIVE_LIBS"],"format":"DIRECTORY","present":false}] \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/outputs/logs/manifest-merger-debug-report.txt b/platforms/android/CordovaLib/build/outputs/logs/manifest-merger-debug-report.txt new file mode 100644 index 00000000..17edac08 --- /dev/null +++ b/platforms/android/CordovaLib/build/outputs/logs/manifest-merger-debug-report.txt @@ -0,0 +1,27 @@ +-- Merging decision tree log --- +manifest +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:20:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:20:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:20:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:20:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:20:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:20:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:20:1-23:12 + package + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:21:7-35 + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml + android:versionName + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:21:36-61 + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml + xmlns:android + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:20:11-69 + android:versionCode + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:21:62-85 + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml +uses-sdk +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:22:5-44 + android:minSdkVersion + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/AndroidManifest.xml:22:15-41 diff --git a/platforms/android/CordovaLib/cordova.gradle b/platforms/android/CordovaLib/cordova.gradle new file mode 100644 index 00000000..6c6819a1 --- /dev/null +++ b/platforms/android/CordovaLib/cordova.gradle @@ -0,0 +1,205 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +import java.util.regex.Pattern +import groovy.swing.SwingBuilder + +String doEnsureValueExists(filePath, props, key) { + if (props.get(key) == null) { + throw new GradleException(filePath + ': Missing key required "' + key + '"') + } + return props.get(key) +} + +String doGetProjectTarget() { + def props = new Properties() + def propertiesFile = 'project.properties'; + if(!(file(propertiesFile).exists())) { + propertiesFile = '../project.properties'; + } + file(propertiesFile).withReader { reader -> + props.load(reader) + } + return doEnsureValueExists('project.properties', props, 'target') +} + +String[] getAvailableBuildTools() { + def buildToolsDir = new File(getAndroidSdkDir(), "build-tools") + buildToolsDir.list() + .findAll { it ==~ /[0-9.]+/ } + .sort { a, b -> compareVersions(b, a) } +} + +String doFindLatestInstalledBuildTools(String minBuildToolsVersion) { + def availableBuildToolsVersions + try { + availableBuildToolsVersions = getAvailableBuildTools() + } catch (e) { + println "An exception occurred while trying to find the Android build tools." + throw e + } + if (availableBuildToolsVersions.length > 0) { + def highestBuildToolsVersion = availableBuildToolsVersions[0] + if (compareVersions(highestBuildToolsVersion, minBuildToolsVersion) < 0) { + throw new RuntimeException( + "No usable Android build tools found. Highest installed version is " + + highestBuildToolsVersion + "; minimum version required is " + + minBuildToolsVersion + ".") + } + highestBuildToolsVersion + } else { + throw new RuntimeException( + "No installed build tools found. Install the Android build tools version " + + minBuildToolsVersion + " or higher.") + } +} + +// Return the first non-zero result of subtracting version list elements +// pairwise. If they are all identical, return the difference in length of +// the two lists. +int compareVersionList(Collection aParts, Collection bParts) { + def pairs = ([aParts, bParts]).transpose() + pairs.findResult(aParts.size()-bParts.size()) {it[0] - it[1] != 0 ? it[0] - it[1] : null} +} + +// Compare two version strings, such as "19.0.0" and "18.1.1.0". If all matched +// elements are identical, the longer version is the largest by this method. +// Examples: +// "19.0.0" > "19" +// "19.0.1" > "19.0.0" +// "19.1.0" > "19.0.1" +// "19" > "18.999.999" +int compareVersions(String a, String b) { + def aParts = a.tokenize('.').collect {it.toInteger()} + def bParts = b.tokenize('.').collect {it.toInteger()} + compareVersionList(aParts, bParts) +} + +String getAndroidSdkDir() { + def rootDir = project.rootDir + def androidSdkDir = null + String envVar = System.getenv("ANDROID_HOME") + def localProperties = new File(rootDir, 'local.properties') + String systemProperty = System.getProperty("android.home") + if (envVar != null) { + androidSdkDir = envVar + } else if (localProperties.exists()) { + Properties properties = new Properties() + localProperties.withInputStream { instr -> + properties.load(instr) + } + def sdkDirProp = properties.getProperty('sdk.dir') + if (sdkDirProp != null) { + androidSdkDir = sdkDirProp + } else { + sdkDirProp = properties.getProperty('android.dir') + if (sdkDirProp != null) { + androidSdkDir = (new File(rootDir, sdkDirProp)).getAbsolutePath() + } + } + } + if (androidSdkDir == null && systemProperty != null) { + androidSdkDir = systemProperty + } + if (androidSdkDir == null) { + throw new RuntimeException( + "Unable to determine Android SDK directory.") + } + androidSdkDir +} + +def doExtractIntFromManifest(name) { + def manifestFile = file(android.sourceSets.main.manifest.srcFile) + def pattern = Pattern.compile(name + "=\"(\\d+)\"") + def matcher = pattern.matcher(manifestFile.getText()) + matcher.find() + return new BigInteger(matcher.group(1)) +} + +def doExtractStringFromManifest(name) { + def manifestFile = file(android.sourceSets.main.manifest.srcFile) + def pattern = Pattern.compile(name + "=\"(\\S+)\"") + def matcher = pattern.matcher(manifestFile.getText()) + matcher.find() + return matcher.group(1) +} + +def doPromptForPassword(msg) { + if (System.console() == null) { + def ret = null + new SwingBuilder().edt { + dialog(modal: true, title: 'Enter password', alwaysOnTop: true, resizable: false, locationRelativeTo: null, pack: true, show: true) { + vbox { + label(text: msg) + def input = passwordField() + button(defaultButton: true, text: 'OK', actionPerformed: { + ret = input.password; + dispose(); + }) + } + } + } + if (!ret) { + throw new GradleException('User canceled build') + } + return new String(ret) + } else { + return System.console().readPassword('\n' + msg); + } +} + +def doGetConfigXml() { + def xml = file("src/main/res/xml/config.xml").getText() + // Disable namespace awareness since Cordova doesn't use them properly + return new XmlParser(false, false).parseText(xml) +} + +def doGetConfigPreference(name, defaultValue) { + name = name.toLowerCase() + def root = doGetConfigXml() + + def ret = defaultValue + root.preference.each { it -> + def attrName = it.attribute("name") + if (attrName && attrName.toLowerCase() == name) { + ret = it.attribute("value") + } + } + return ret +} + +// Properties exported here are visible to all plugins. +ext { + // These helpers are shared, but are not guaranteed to be stable / unchanged. + privateHelpers = {} + privateHelpers.getProjectTarget = { doGetProjectTarget() } + privateHelpers.findLatestInstalledBuildTools = { doFindLatestInstalledBuildTools('19.1.0') } + privateHelpers.extractIntFromManifest = { name -> doExtractIntFromManifest(name) } + privateHelpers.extractStringFromManifest = { name -> doExtractStringFromManifest(name) } + privateHelpers.promptForPassword = { msg -> doPromptForPassword(msg) } + privateHelpers.ensureValueExists = { filePath, props, key -> doEnsureValueExists(filePath, props, key) } + + // These helpers can be used by plugins / projects and will not change. + cdvHelpers = {} + // Returns a XmlParser for the config.xml. Added in 4.1.0. + cdvHelpers.getConfigXml = { doGetConfigXml() } + // Returns the value for the desired . Added in 4.1.0. + cdvHelpers.getConfigPreference = { name, defaultValue -> doGetConfigPreference(name, defaultValue) } +} + diff --git a/platforms/android/CordovaLib/project.properties b/platforms/android/CordovaLib/project.properties new file mode 100644 index 00000000..0a372ee4 --- /dev/null +++ b/platforms/android/CordovaLib/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Indicates whether an apk should be generated for each density. +split.density=false +# Project target. +target=android-27 +apk-configurations= +renderscript.opt.level=O0 +android.library=true diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java b/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java new file mode 100644 index 00000000..d3a231a0 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java @@ -0,0 +1,69 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +/** + * The Class AuthenticationToken defines the userName and password to be used for authenticating a web resource + */ +public class AuthenticationToken { + private String userName; + private String password; + + /** + * Gets the user name. + * + * @return the user name + */ + public String getUserName() { + return userName; + } + + /** + * Sets the user name. + * + * @param userName + * the new user name + */ + public void setUserName(String userName) { + this.userName = userName; + } + + /** + * Gets the password. + * + * @return the password + */ + public String getPassword() { + return password; + } + + /** + * Sets the password. + * + * @param password + * the new password + */ + public void setPassword(String password) { + this.password = password; + } + + + + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/BuildHelper.java b/platforms/android/CordovaLib/src/org/apache/cordova/BuildHelper.java new file mode 100644 index 00000000..6d9daa47 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/BuildHelper.java @@ -0,0 +1,70 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova; + +/* + * This is a utility class that allows us to get the BuildConfig variable, which is required + * for the use of different providers. This is not guaranteed to work, and it's better for this + * to be set in the build step in config.xml + * + */ + +import android.app.Activity; +import android.content.Context; + +import java.lang.reflect.Field; + + +public class BuildHelper { + + + private static String TAG="BuildHelper"; + + /* + * This needs to be implemented if you wish to use the Camera Plugin or other plugins + * that read the Build Configuration. + * + * Thanks to Phil@Medtronic and Graham Borland for finding the answer and posting it to + * StackOverflow. This is annoying as hell! However, this method does not work with + * ProGuard, and you should use the config.xml to define the application_id + * + */ + + public static Object getBuildConfigValue(Context ctx, String key) + { + try + { + Class clazz = Class.forName(ctx.getPackageName() + ".BuildConfig"); + Field field = clazz.getField(key); + return field.get(null); + } catch (ClassNotFoundException e) { + LOG.d(TAG, "Unable to get the BuildConfig, is this built with ANT?"); + e.printStackTrace(); + } catch (NoSuchFieldException e) { + LOG.d(TAG, key + " is not a valid field. Check your build.gradle"); + } catch (IllegalAccessException e) { + LOG.d(TAG, "Illegal Access Exception: Let's print a stack trace."); + e.printStackTrace(); + } + + return null; + } + +} \ No newline at end of file diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java b/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java new file mode 100644 index 00000000..43363869 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java @@ -0,0 +1,142 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import org.json.JSONArray; + +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.PluginResult; +import org.json.JSONObject; + +public class CallbackContext { + private static final String LOG_TAG = "CordovaPlugin"; + + private String callbackId; + private CordovaWebView webView; + protected boolean finished; + private int changingThreads; + + public CallbackContext(String callbackId, CordovaWebView webView) { + this.callbackId = callbackId; + this.webView = webView; + } + + public boolean isFinished() { + return finished; + } + + public boolean isChangingThreads() { + return changingThreads > 0; + } + + public String getCallbackId() { + return callbackId; + } + + public void sendPluginResult(PluginResult pluginResult) { + synchronized (this) { + if (finished) { + LOG.w(LOG_TAG, "Attempted to send a second callback for ID: " + callbackId + "\nResult was: " + pluginResult.getMessage()); + return; + } else { + finished = !pluginResult.getKeepCallback(); + } + } + webView.sendPluginResult(pluginResult, callbackId); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(JSONObject message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(String message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(JSONArray message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(byte[] message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(int message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + */ + public void success() { + sendPluginResult(new PluginResult(PluginResult.Status.OK)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(JSONObject message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(String message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(int message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CallbackMap.java b/platforms/android/CordovaLib/src/org/apache/cordova/CallbackMap.java new file mode 100644 index 00000000..050daa01 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CallbackMap.java @@ -0,0 +1,65 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import android.util.Pair; +import android.util.SparseArray; + +/** + * Provides a collection that maps unique request codes to CordovaPlugins and Integers. + * Used to ensure that when plugins make requests for runtime permissions, those requests do not + * collide with requests from other plugins that use the same request code value. + */ +public class CallbackMap { + private int currentCallbackId = 0; + private SparseArray> callbacks; + + public CallbackMap() { + this.callbacks = new SparseArray>(); + } + + /** + * Stores a CordovaPlugin and request code and returns a new unique request code to use + * in a permission request. + * + * @param receiver The plugin that is making the request + * @param requestCode The original request code used by the plugin + * @return A unique request code that can be used to retrieve this callback + * with getAndRemoveCallback() + */ + public synchronized int registerCallback(CordovaPlugin receiver, int requestCode) { + int mappedId = this.currentCallbackId++; + callbacks.put(mappedId, new Pair(receiver, requestCode)); + return mappedId; + } + + /** + * Retrieves and removes a callback stored in the map using the mapped request code + * obtained from registerCallback() + * + * @param mappedId The request code obtained from registerCallback() + * @return The CordovaPlugin and orignal request code that correspond to the + * given mappedCode + */ + public synchronized Pair getAndRemoveCallback(int mappedId) { + Pair callback = callbacks.get(mappedId); + callbacks.remove(mappedId); + return callback; + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/Config.java b/platforms/android/CordovaLib/src/org/apache/cordova/Config.java new file mode 100644 index 00000000..07397959 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/Config.java @@ -0,0 +1,71 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova; + +import java.util.List; + +import android.app.Activity; + +@Deprecated // Use Whitelist, CordovaPrefences, etc. directly. +public class Config { + private static final String TAG = "Config"; + + static ConfigXmlParser parser; + + private Config() { + } + + public static void init(Activity action) { + parser = new ConfigXmlParser(); + parser.parse(action); + //TODO: Add feature to bring this back. Some preferences should be overridden by intents, but not all + parser.getPreferences().setPreferencesBundle(action.getIntent().getExtras()); + } + + // Intended to be used for testing only; creates an empty configuration. + public static void init() { + if (parser == null) { + parser = new ConfigXmlParser(); + } + } + + public static String getStartUrl() { + if (parser == null) { + return "file:///android_asset/www/index.html"; + } + return parser.getLaunchUrl(); + } + + public static String getErrorUrl() { + return parser.getPreferences().getString("errorurl", null); + } + + public static List getPluginEntries() { + return parser.getPluginEntries(); + } + + public static CordovaPreferences getPreferences() { + return parser.getPreferences(); + } + + public static boolean isInitialized() { + return parser != null; + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java b/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java new file mode 100644 index 00000000..01a97f2d --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java @@ -0,0 +1,145 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Locale; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +import android.content.Context; + +public class ConfigXmlParser { + private static String TAG = "ConfigXmlParser"; + + private String launchUrl = "file:///android_asset/www/index.html"; + private CordovaPreferences prefs = new CordovaPreferences(); + private ArrayList pluginEntries = new ArrayList(20); + + public CordovaPreferences getPreferences() { + return prefs; + } + + public ArrayList getPluginEntries() { + return pluginEntries; + } + + public String getLaunchUrl() { + return launchUrl; + } + + public void parse(Context action) { + // First checking the class namespace for config.xml + int id = action.getResources().getIdentifier("config", "xml", action.getClass().getPackage().getName()); + if (id == 0) { + // If we couldn't find config.xml there, we'll look in the namespace from AndroidManifest.xml + id = action.getResources().getIdentifier("config", "xml", action.getPackageName()); + if (id == 0) { + LOG.e(TAG, "res/xml/config.xml is missing!"); + return; + } + } + parse(action.getResources().getXml(id)); + } + + boolean insideFeature = false; + String service = "", pluginClass = "", paramType = ""; + boolean onload = false; + + public void parse(XmlPullParser xml) { + int eventType = -1; + + while (eventType != XmlPullParser.END_DOCUMENT) { + if (eventType == XmlPullParser.START_TAG) { + handleStartTag(xml); + } + else if (eventType == XmlPullParser.END_TAG) + { + handleEndTag(xml); + } + try { + eventType = xml.next(); + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + public void handleStartTag(XmlPullParser xml) { + String strNode = xml.getName(); + if (strNode.equals("feature")) { + //Check for supported feature sets aka. plugins (Accelerometer, Geolocation, etc) + //Set the bit for reading params + insideFeature = true; + service = xml.getAttributeValue(null, "name"); + } + else if (insideFeature && strNode.equals("param")) { + paramType = xml.getAttributeValue(null, "name"); + if (paramType.equals("service")) // check if it is using the older service param + service = xml.getAttributeValue(null, "value"); + else if (paramType.equals("package") || paramType.equals("android-package")) + pluginClass = xml.getAttributeValue(null,"value"); + else if (paramType.equals("onload")) + onload = "true".equals(xml.getAttributeValue(null, "value")); + } + else if (strNode.equals("preference")) { + String name = xml.getAttributeValue(null, "name").toLowerCase(Locale.ENGLISH); + String value = xml.getAttributeValue(null, "value"); + prefs.set(name, value); + } + else if (strNode.equals("content")) { + String src = xml.getAttributeValue(null, "src"); + if (src != null) { + setStartUrl(src); + } + } + } + + public void handleEndTag(XmlPullParser xml) { + String strNode = xml.getName(); + if (strNode.equals("feature")) { + pluginEntries.add(new PluginEntry(service, pluginClass, onload)); + + service = ""; + pluginClass = ""; + insideFeature = false; + onload = false; + } + } + + private void setStartUrl(String src) { + Pattern schemeRegex = Pattern.compile("^[a-z-]+://"); + Matcher matcher = schemeRegex.matcher(src); + if (matcher.find()) { + launchUrl = src; + } else { + if (src.charAt(0) == '/') { + src = src.substring(1); + } + launchUrl = "file:///android_asset/www/" + src; + } + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java new file mode 100755 index 00000000..dbbb48f6 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java @@ -0,0 +1,519 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import java.util.ArrayList; +import java.util.Locale; + +import org.json.JSONException; +import org.json.JSONObject; + +import android.app.Activity; +import android.app.AlertDialog; +import android.annotation.SuppressLint; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.res.Configuration; +import android.graphics.Color; +import android.media.AudioManager; +import android.os.Build; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.webkit.WebViewClient; +import android.widget.FrameLayout; + +/** + * This class is the main Android activity that represents the Cordova + * application. It should be extended by the user to load the specific + * html file that contains the application. + * + * As an example: + * + *
+ *     package org.apache.cordova.examples;
+ *
+ *     import android.os.Bundle;
+ *     import org.apache.cordova.*;
+ *
+ *     public class Example extends CordovaActivity {
+ *       @Override
+ *       public void onCreate(Bundle savedInstanceState) {
+ *         super.onCreate(savedInstanceState);
+ *         super.init();
+ *         // Load your application
+ *         loadUrl(launchUrl);
+ *       }
+ *     }
+ * 
+ * + * Cordova xml configuration: Cordova uses a configuration file at + * res/xml/config.xml to specify its settings. See "The config.xml File" + * guide in cordova-docs at http://cordova.apache.org/docs for the documentation + * for the configuration. The use of the set*Property() methods is + * deprecated in favor of the config.xml file. + * + */ +public class CordovaActivity extends Activity { + public static String TAG = "CordovaActivity"; + + // The webview for our app + protected CordovaWebView appView; + + private static int ACTIVITY_STARTING = 0; + private static int ACTIVITY_RUNNING = 1; + private static int ACTIVITY_EXITING = 2; + + // Keep app running when pause is received. (default = true) + // If true, then the JavaScript and native code continue to run in the background + // when another application (activity) is started. + protected boolean keepRunning = true; + + // Flag to keep immersive mode if set to fullscreen + protected boolean immersiveMode; + + // Read from config.xml: + protected CordovaPreferences preferences; + protected String launchUrl; + protected ArrayList pluginEntries; + protected CordovaInterfaceImpl cordovaInterface; + + /** + * Called when the activity is first created. + */ + @Override + public void onCreate(Bundle savedInstanceState) { + // need to activate preferences before super.onCreate to avoid "requestFeature() must be called before adding content" exception + loadConfig(); + + String logLevel = preferences.getString("loglevel", "ERROR"); + LOG.setLogLevel(logLevel); + + LOG.i(TAG, "Apache Cordova native platform version " + CordovaWebView.CORDOVA_VERSION + " is starting"); + LOG.d(TAG, "CordovaActivity.onCreate()"); + + if (!preferences.getBoolean("ShowTitle", false)) { + getWindow().requestFeature(Window.FEATURE_NO_TITLE); + } + + if (preferences.getBoolean("SetFullscreen", false)) { + LOG.d(TAG, "The SetFullscreen configuration is deprecated in favor of Fullscreen, and will be removed in a future version."); + preferences.set("Fullscreen", true); + } + if (preferences.getBoolean("Fullscreen", false)) { + // NOTE: use the FullscreenNotImmersive configuration key to set the activity in a REAL full screen + // (as was the case in previous cordova versions) + if (!preferences.getBoolean("FullscreenNotImmersive", false)) { + immersiveMode = true; + } else { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + } else { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); + } + + super.onCreate(savedInstanceState); + + cordovaInterface = makeCordovaInterface(); + if (savedInstanceState != null) { + cordovaInterface.restoreInstanceState(savedInstanceState); + } + } + + protected void init() { + appView = makeWebView(); + createViews(); + if (!appView.isInitialized()) { + appView.init(cordovaInterface, pluginEntries, preferences); + } + cordovaInterface.onCordovaInit(appView.getPluginManager()); + + // Wire the hardware volume controls to control media if desired. + String volumePref = preferences.getString("DefaultVolumeStream", ""); + if ("media".equals(volumePref.toLowerCase(Locale.ENGLISH))) { + setVolumeControlStream(AudioManager.STREAM_MUSIC); + } + } + + @SuppressWarnings("deprecation") + protected void loadConfig() { + ConfigXmlParser parser = new ConfigXmlParser(); + parser.parse(this); + preferences = parser.getPreferences(); + preferences.setPreferencesBundle(getIntent().getExtras()); + launchUrl = parser.getLaunchUrl(); + pluginEntries = parser.getPluginEntries(); + Config.parser = parser; + } + + //Suppressing warnings in AndroidStudio + @SuppressWarnings({"deprecation", "ResourceType"}) + protected void createViews() { + //Why are we setting a constant as the ID? This should be investigated + appView.getView().setId(100); + appView.getView().setLayoutParams(new FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT)); + + setContentView(appView.getView()); + + if (preferences.contains("BackgroundColor")) { + try { + int backgroundColor = preferences.getInteger("BackgroundColor", Color.BLACK); + // Background of activity: + appView.getView().setBackgroundColor(backgroundColor); + } + catch (NumberFormatException e){ + e.printStackTrace(); + } + } + + appView.getView().requestFocusFromTouch(); + } + + /** + * Construct the default web view object. + *

+ * Override this to customize the webview that is used. + */ + protected CordovaWebView makeWebView() { + return new CordovaWebViewImpl(makeWebViewEngine()); + } + + protected CordovaWebViewEngine makeWebViewEngine() { + return CordovaWebViewImpl.createEngine(this, preferences); + } + + protected CordovaInterfaceImpl makeCordovaInterface() { + return new CordovaInterfaceImpl(this) { + @Override + public Object onMessage(String id, Object data) { + // Plumb this to CordovaActivity.onMessage for backwards compatibility + return CordovaActivity.this.onMessage(id, data); + } + }; + } + + /** + * Load the url into the webview. + */ + public void loadUrl(String url) { + if (appView == null) { + init(); + } + + // If keepRunning + this.keepRunning = preferences.getBoolean("KeepRunning", true); + + appView.loadUrlIntoView(url, true); + } + + /** + * Called when the system is about to start resuming a previous activity. + */ + @Override + protected void onPause() { + super.onPause(); + LOG.d(TAG, "Paused the activity."); + + if (this.appView != null) { + // CB-9382 If there is an activity that started for result and main activity is waiting for callback + // result, we shoudn't stop WebView Javascript timers, as activity for result might be using them + boolean keepRunning = this.keepRunning || this.cordovaInterface.activityResultCallback != null; + this.appView.handlePause(keepRunning); + } + } + + /** + * Called when the activity receives a new intent + */ + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + //Forward to plugins + if (this.appView != null) + this.appView.onNewIntent(intent); + } + + /** + * Called when the activity will start interacting with the user. + */ + @Override + protected void onResume() { + super.onResume(); + LOG.d(TAG, "Resumed the activity."); + + if (this.appView == null) { + return; + } + // Force window to have focus, so application always + // receive user input. Workaround for some devices (Samsung Galaxy Note 3 at least) + this.getWindow().getDecorView().requestFocus(); + + this.appView.handleResume(this.keepRunning); + } + + /** + * Called when the activity is no longer visible to the user. + */ + @Override + protected void onStop() { + super.onStop(); + LOG.d(TAG, "Stopped the activity."); + + if (this.appView == null) { + return; + } + this.appView.handleStop(); + } + + /** + * Called when the activity is becoming visible to the user. + */ + @Override + protected void onStart() { + super.onStart(); + LOG.d(TAG, "Started the activity."); + + if (this.appView == null) { + return; + } + this.appView.handleStart(); + } + + /** + * The final call you receive before your activity is destroyed. + */ + @Override + public void onDestroy() { + LOG.d(TAG, "CordovaActivity.onDestroy()"); + super.onDestroy(); + + if (this.appView != null) { + appView.handleDestroy(); + } + } + + /** + * Called when view focus is changed + */ + @SuppressLint("InlinedApi") + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + if (hasFocus && immersiveMode) { + final int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_FULLSCREEN + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; + + getWindow().getDecorView().setSystemUiVisibility(uiOptions); + } + } + + @SuppressLint("NewApi") + @Override + public void startActivityForResult(Intent intent, int requestCode, Bundle options) { + // Capture requestCode here so that it is captured in the setActivityResultCallback() case. + cordovaInterface.setActivityResultRequestCode(requestCode); + super.startActivityForResult(intent, requestCode, options); + } + + /** + * Called when an activity you launched exits, giving you the requestCode you started it with, + * the resultCode it returned, and any additional data from it. + * + * @param requestCode The request code originally supplied to startActivityForResult(), + * allowing you to identify who this result came from. + * @param resultCode The integer result code returned by the child activity through its setResult(). + * @param intent An Intent, which can return result data to the caller (various data can be attached to Intent "extras"). + */ + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent intent) { + LOG.d(TAG, "Incoming Result. Request code = " + requestCode); + super.onActivityResult(requestCode, resultCode, intent); + cordovaInterface.onActivityResult(requestCode, resultCode, intent); + } + + /** + * Report an error to the host application. These errors are unrecoverable (i.e. the main resource is unavailable). + * The errorCode parameter corresponds to one of the ERROR_* constants. + * + * @param errorCode The error code corresponding to an ERROR_* value. + * @param description A String describing the error. + * @param failingUrl The url that failed to load. + */ + public void onReceivedError(final int errorCode, final String description, final String failingUrl) { + final CordovaActivity me = this; + + // If errorUrl specified, then load it + final String errorUrl = preferences.getString("errorUrl", null); + if ((errorUrl != null) && (!failingUrl.equals(errorUrl)) && (appView != null)) { + // Load URL on UI thread + me.runOnUiThread(new Runnable() { + public void run() { + me.appView.showWebPage(errorUrl, false, true, null); + } + }); + } + // If not, then display error dialog + else { + final boolean exit = !(errorCode == WebViewClient.ERROR_HOST_LOOKUP); + me.runOnUiThread(new Runnable() { + public void run() { + if (exit) { + me.appView.getView().setVisibility(View.GONE); + me.displayError("Application Error", description + " (" + failingUrl + ")", "OK", exit); + } + } + }); + } + } + + /** + * Display an error dialog and optionally exit application. + */ + public void displayError(final String title, final String message, final String button, final boolean exit) { + final CordovaActivity me = this; + me.runOnUiThread(new Runnable() { + public void run() { + try { + AlertDialog.Builder dlg = new AlertDialog.Builder(me); + dlg.setMessage(message); + dlg.setTitle(title); + dlg.setCancelable(false); + dlg.setPositiveButton(button, + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + if (exit) { + finish(); + } + } + }); + dlg.create(); + dlg.show(); + } catch (Exception e) { + finish(); + } + } + }); + } + + /* + * Hook in Cordova for menu plugins + */ + @Override + public boolean onCreateOptionsMenu(Menu menu) { + if (appView != null) { + appView.getPluginManager().postMessage("onCreateOptionsMenu", menu); + } + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + if (appView != null) { + appView.getPluginManager().postMessage("onPrepareOptionsMenu", menu); + } + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (appView != null) { + appView.getPluginManager().postMessage("onOptionsItemSelected", item); + } + return true; + } + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object or null + */ + public Object onMessage(String id, Object data) { + if ("onReceivedError".equals(id)) { + JSONObject d = (JSONObject) data; + try { + this.onReceivedError(d.getInt("errorCode"), d.getString("description"), d.getString("url")); + } catch (JSONException e) { + e.printStackTrace(); + } + } else if ("exit".equals(id)) { + finish(); + } + return null; + } + + protected void onSaveInstanceState(Bundle outState) { + cordovaInterface.onSaveInstanceState(outState); + super.onSaveInstanceState(outState); + } + + /** + * Called by the system when the device configuration changes while your activity is running. + * + * @param newConfig The new device configuration + */ + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + if (this.appView == null) { + return; + } + PluginManager pm = this.appView.getPluginManager(); + if (pm != null) { + pm.onConfigurationChanged(newConfig); + } + } + + /** + * Called by the system when the user grants permissions + * + * @param requestCode + * @param permissions + * @param grantResults + */ + @Override + public void onRequestPermissionsResult(int requestCode, String permissions[], + int[] grantResults) { + try + { + cordovaInterface.onRequestPermissionResult(requestCode, permissions, grantResults); + } + catch (JSONException e) + { + LOG.d(TAG, "JSONException: Parameters fed into the method are not valid"); + e.printStackTrace(); + } + + } + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java new file mode 100644 index 00000000..d40d26eb --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java @@ -0,0 +1,113 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.util.Base64; + +public class CordovaArgs { + private JSONArray baseArgs; + + public CordovaArgs(JSONArray args) { + this.baseArgs = args; + } + + + // Pass through the basics to the base args. + public Object get(int index) throws JSONException { + return baseArgs.get(index); + } + + public boolean getBoolean(int index) throws JSONException { + return baseArgs.getBoolean(index); + } + + public double getDouble(int index) throws JSONException { + return baseArgs.getDouble(index); + } + + public int getInt(int index) throws JSONException { + return baseArgs.getInt(index); + } + + public JSONArray getJSONArray(int index) throws JSONException { + return baseArgs.getJSONArray(index); + } + + public JSONObject getJSONObject(int index) throws JSONException { + return baseArgs.getJSONObject(index); + } + + public long getLong(int index) throws JSONException { + return baseArgs.getLong(index); + } + + public String getString(int index) throws JSONException { + return baseArgs.getString(index); + } + + + public Object opt(int index) { + return baseArgs.opt(index); + } + + public boolean optBoolean(int index) { + return baseArgs.optBoolean(index); + } + + public double optDouble(int index) { + return baseArgs.optDouble(index); + } + + public int optInt(int index) { + return baseArgs.optInt(index); + } + + public JSONArray optJSONArray(int index) { + return baseArgs.optJSONArray(index); + } + + public JSONObject optJSONObject(int index) { + return baseArgs.optJSONObject(index); + } + + public long optLong(int index) { + return baseArgs.optLong(index); + } + + public String optString(int index) { + return baseArgs.optString(index); + } + + public boolean isNull(int index) { + return baseArgs.isNull(index); + } + + + // The interesting custom helpers. + public byte[] getArrayBuffer(int index) throws JSONException { + String encoded = baseArgs.getString(index); + return Base64.decode(encoded, Base64.DEFAULT); + } +} + + diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java new file mode 100644 index 00000000..28c407f3 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java @@ -0,0 +1,187 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import android.annotation.SuppressLint; + +import java.security.SecureRandom; + +import org.json.JSONArray; +import org.json.JSONException; + +/** + * Contains APIs that the JS can call. All functions in here should also have + * an equivalent entry in CordovaChromeClient.java, and be added to + * cordova-js/lib/android/plugin/android/promptbasednativeapi.js + */ +public class CordovaBridge { + private static final String LOG_TAG = "CordovaBridge"; + private PluginManager pluginManager; + private NativeToJsMessageQueue jsMessageQueue; + private volatile int expectedBridgeSecret = -1; // written by UI thread, read by JS thread. + + public CordovaBridge(PluginManager pluginManager, NativeToJsMessageQueue jsMessageQueue) { + this.pluginManager = pluginManager; + this.jsMessageQueue = jsMessageQueue; + } + + public String jsExec(int bridgeSecret, String service, String action, String callbackId, String arguments) throws JSONException, IllegalAccessException { + if (!verifySecret("exec()", bridgeSecret)) { + return null; + } + // If the arguments weren't received, send a message back to JS. It will switch bridge modes and try again. See CB-2666. + // We send a message meant specifically for this case. It starts with "@" so no other message can be encoded into the same string. + if (arguments == null) { + return "@Null arguments."; + } + + jsMessageQueue.setPaused(true); + try { + // Tell the resourceApi what thread the JS is running on. + CordovaResourceApi.jsThread = Thread.currentThread(); + + pluginManager.exec(service, action, callbackId, arguments); + String ret = null; + if (!NativeToJsMessageQueue.DISABLE_EXEC_CHAINING) { + ret = jsMessageQueue.popAndEncode(false); + } + return ret; + } catch (Throwable e) { + e.printStackTrace(); + return ""; + } finally { + jsMessageQueue.setPaused(false); + } + } + + public void jsSetNativeToJsBridgeMode(int bridgeSecret, int value) throws IllegalAccessException { + if (!verifySecret("setNativeToJsBridgeMode()", bridgeSecret)) { + return; + } + jsMessageQueue.setBridgeMode(value); + } + + public String jsRetrieveJsMessages(int bridgeSecret, boolean fromOnlineEvent) throws IllegalAccessException { + if (!verifySecret("retrieveJsMessages()", bridgeSecret)) { + return null; + } + return jsMessageQueue.popAndEncode(fromOnlineEvent); + } + + private boolean verifySecret(String action, int bridgeSecret) throws IllegalAccessException { + if (!jsMessageQueue.isBridgeEnabled()) { + if (bridgeSecret == -1) { + LOG.d(LOG_TAG, action + " call made before bridge was enabled."); + } else { + LOG.d(LOG_TAG, "Ignoring " + action + " from previous page load."); + } + return false; + } + // Bridge secret wrong and bridge not due to it being from the previous page. + if (expectedBridgeSecret < 0 || bridgeSecret != expectedBridgeSecret) { + LOG.e(LOG_TAG, "Bridge access attempt with wrong secret token, possibly from malicious code. Disabling exec() bridge!"); + clearBridgeSecret(); + throw new IllegalAccessException(); + } + return true; + } + + /** Called on page transitions */ + void clearBridgeSecret() { + expectedBridgeSecret = -1; + } + + public boolean isSecretEstablished() { + return expectedBridgeSecret != -1; + } + + /** Called by cordova.js to initialize the bridge. */ + //On old Androids SecureRandom isn't really secure, this is the least of your problems if + //you're running Android 4.3 and below in 2017 + @SuppressLint("TrulyRandom") + int generateBridgeSecret() { + SecureRandom randGen = new SecureRandom(); + expectedBridgeSecret = randGen.nextInt(Integer.MAX_VALUE); + return expectedBridgeSecret; + } + + public void reset() { + jsMessageQueue.reset(); + clearBridgeSecret(); + } + + public String promptOnJsPrompt(String origin, String message, String defaultValue) { + if (defaultValue != null && defaultValue.length() > 3 && defaultValue.startsWith("gap:")) { + JSONArray array; + try { + array = new JSONArray(defaultValue.substring(4)); + int bridgeSecret = array.getInt(0); + String service = array.getString(1); + String action = array.getString(2); + String callbackId = array.getString(3); + String r = jsExec(bridgeSecret, service, action, callbackId, message); + return r == null ? "" : r; + } catch (JSONException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + // Sets the native->JS bridge mode. + else if (defaultValue != null && defaultValue.startsWith("gap_bridge_mode:")) { + try { + int bridgeSecret = Integer.parseInt(defaultValue.substring(16)); + jsSetNativeToJsBridgeMode(bridgeSecret, Integer.parseInt(message)); + } catch (NumberFormatException e){ + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + // Polling for JavaScript messages + else if (defaultValue != null && defaultValue.startsWith("gap_poll:")) { + int bridgeSecret = Integer.parseInt(defaultValue.substring(9)); + try { + String r = jsRetrieveJsMessages(bridgeSecret, "1".equals(message)); + return r == null ? "" : r; + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + else if (defaultValue != null && defaultValue.startsWith("gap_init:")) { + // Protect against random iframes being able to talk through the bridge. + // Trust only pages which the app would have been allowed to navigate to anyway. + if (pluginManager.shouldAllowBridgeAccess(origin)) { + // Enable the bridge + int bridgeMode = Integer.parseInt(defaultValue.substring(9)); + jsMessageQueue.setBridgeMode(bridgeMode); + // Tell JS the bridge secret. + int secret = generateBridgeSecret(); + return ""+secret; + } else { + LOG.e(LOG_TAG, "gap_init called from restricted origin: " + origin); + } + return ""; + } + return null; + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java new file mode 100644 index 00000000..ccda0272 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java @@ -0,0 +1,105 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import java.security.Principal; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; + +import android.annotation.SuppressLint; +import android.webkit.ClientCertRequest; + +/** + * Implementation of the ICordovaClientCertRequest for Android WebView. + * + */ +public class CordovaClientCertRequest implements ICordovaClientCertRequest { + + private final ClientCertRequest request; + + public CordovaClientCertRequest(ClientCertRequest request) { + this.request = request; + } + + /** + * Cancel this request + */ + @SuppressLint("NewApi") + public void cancel() + { + request.cancel(); + } + + /* + * Returns the host name of the server requesting the certificate. + */ + @SuppressLint("NewApi") + public String getHost() + { + return request.getHost(); + } + + /* + * Returns the acceptable types of asymmetric keys (can be null). + */ + @SuppressLint("NewApi") + public String[] getKeyTypes() + { + return request.getKeyTypes(); + } + + /* + * Returns the port number of the server requesting the certificate. + */ + @SuppressLint("NewApi") + public int getPort() + { + return request.getPort(); + } + + /* + * Returns the acceptable certificate issuers for the certificate matching the private key (can be null). + */ + @SuppressLint("NewApi") + public Principal[] getPrincipals() + { + return request.getPrincipals(); + } + + /* + * Ignore the request for now. Do not remember user's choice. + */ + @SuppressLint("NewApi") + public void ignore() + { + request.ignore(); + } + + /* + * Proceed with the specified private key and client certificate chain. Remember the user's positive choice and use it for future requests. + * + * @param privateKey The privateKey + * @param chain The certificate chain + */ + @SuppressLint("NewApi") + public void proceed(PrivateKey privateKey, X509Certificate[] chain) + { + request.proceed(privateKey, chain); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java new file mode 100644 index 00000000..a219c992 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java @@ -0,0 +1,152 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.widget.EditText; + +/** + * Helper class for WebViews to implement prompt(), alert(), confirm() dialogs. + */ +public class CordovaDialogsHelper { + private final Context context; + private AlertDialog lastHandledDialog; + + public CordovaDialogsHelper(Context context) { + this.context = context; + } + + public void showAlert(String message, final Result result) { + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + dlg.setTitle("Alert"); + //Don't let alerts break the back button + dlg.setCancelable(true); + dlg.setPositiveButton(android.R.string.ok, + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(true, null); + } + }); + dlg.setOnCancelListener( + new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + result.gotResult(false, null); + } + }); + dlg.setOnKeyListener(new DialogInterface.OnKeyListener() { + //DO NOTHING + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) + { + result.gotResult(true, null); + return false; + } + else + return true; + } + }); + lastHandledDialog = dlg.show(); + } + + public void showConfirm(String message, final Result result) { + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + dlg.setTitle("Confirm"); + dlg.setCancelable(true); + dlg.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(true, null); + } + }); + dlg.setNegativeButton(android.R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(false, null); + } + }); + dlg.setOnCancelListener( + new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + result.gotResult(false, null); + } + }); + dlg.setOnKeyListener(new DialogInterface.OnKeyListener() { + //DO NOTHING + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) + { + result.gotResult(false, null); + return false; + } + else + return true; + } + }); + lastHandledDialog = dlg.show(); + } + + /** + * Tell the client to display a prompt dialog to the user. + * If the client returns true, WebView will assume that the client will + * handle the prompt dialog and call the appropriate JsPromptResult method. + * + * Since we are hacking prompts for our own purposes, we should not be using them for + * this purpose, perhaps we should hack console.log to do this instead! + */ + public void showPrompt(String message, String defaultValue, final Result result) { + // Returning false would also show a dialog, but the default one shows the origin (ugly). + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + final EditText input = new EditText(context); + if (defaultValue != null) { + input.setText(defaultValue); + } + dlg.setView(input); + dlg.setCancelable(false); + dlg.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + String userText = input.getText().toString(); + result.gotResult(true, userText); + } + }); + dlg.setNegativeButton(android.R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(false, null); + } + }); + lastHandledDialog = dlg.show(); + } + + public void destroyLastDialog(){ + if (lastHandledDialog != null){ + lastHandledDialog.cancel(); + } + } + + public interface Result { + public void gotResult(boolean success, String value); + } +} \ No newline at end of file diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java new file mode 100644 index 00000000..724381e2 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java @@ -0,0 +1,51 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import android.webkit.HttpAuthHandler; + +/** + * Specifies interface for HTTP auth handler object which is used to handle auth requests and + * specifying user credentials. + */ +public class CordovaHttpAuthHandler implements ICordovaHttpAuthHandler { + + private final HttpAuthHandler handler; + + public CordovaHttpAuthHandler(HttpAuthHandler handler) { + this.handler = handler; + } + + /** + * Instructs the WebView to cancel the authentication request. + */ + public void cancel () { + this.handler.cancel(); + } + + /** + * Instructs the WebView to proceed with the authentication with the given credentials. + * + * @param username + * @param password + */ + public void proceed (String username, String password) { + this.handler.proceed(username, password); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java new file mode 100755 index 00000000..ff906834 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java @@ -0,0 +1,97 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; + +import org.apache.cordova.CordovaPlugin; + +import java.util.concurrent.ExecutorService; + +/** + * The Activity interface that is implemented by CordovaActivity. + * It is used to isolate plugin development, and remove dependency on entire Cordova library. + */ +public interface CordovaInterface { + + /** + * Launch an activity for which you would like a result when it finished. When this activity exits, + * your onActivityResult() method will be called. + * + * @param command The command object + * @param intent The intent to start + * @param requestCode The request code that is passed to callback to identify the activity + */ + abstract public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode); + + /** + * Set the plugin to be called when a sub-activity exits. + * + * @param plugin The plugin on which onActivityResult is to be called + */ + abstract public void setActivityResultCallback(CordovaPlugin plugin); + + /** + * Get the Android activity. + * + * If a custom engine lives outside of the Activity's lifecycle the return value may be null. + * + * @return the Activity + */ + public abstract Activity getActivity(); + + /** + * Get the Android context. + * + * @return the Context + */ + public Context getContext(); + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object or null + */ + public Object onMessage(String id, Object data); + + /** + * Returns a shared thread pool that can be used for background tasks. + */ + public ExecutorService getThreadPool(); + + /** + * Sends a permission request to the activity for one permission. + */ + public void requestPermission(CordovaPlugin plugin, int requestCode, String permission); + + /** + * Sends a permission request to the activity for a group of permissions + */ + public void requestPermissions(CordovaPlugin plugin, int requestCode, String [] permissions); + + /** + * Check for a permission. Returns true if the permission is granted, false otherwise. + */ + public boolean hasPermission(String permission); + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java new file mode 100644 index 00000000..9a6e9245 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java @@ -0,0 +1,249 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova; + +import android.annotation.SuppressLint; +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Build; +import android.os.Bundle; +import android.util.Pair; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * Default implementation of CordovaInterface. + */ +public class CordovaInterfaceImpl implements CordovaInterface { + private static final String TAG = "CordovaInterfaceImpl"; + protected Activity activity; + protected ExecutorService threadPool; + protected PluginManager pluginManager; + + protected ActivityResultHolder savedResult; + protected CallbackMap permissionResultCallbacks; + protected CordovaPlugin activityResultCallback; + protected String initCallbackService; + protected int activityResultRequestCode; + protected boolean activityWasDestroyed = false; + protected Bundle savedPluginState; + + public CordovaInterfaceImpl(Activity activity) { + this(activity, Executors.newCachedThreadPool()); + } + + public CordovaInterfaceImpl(Activity activity, ExecutorService threadPool) { + this.activity = activity; + this.threadPool = threadPool; + this.permissionResultCallbacks = new CallbackMap(); + } + + @Override + public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode) { + setActivityResultCallback(command); + try { + activity.startActivityForResult(intent, requestCode); + } catch (RuntimeException e) { // E.g.: ActivityNotFoundException + activityResultCallback = null; + throw e; + } + } + + @Override + public void setActivityResultCallback(CordovaPlugin plugin) { + // Cancel any previously pending activity. + if (activityResultCallback != null) { + activityResultCallback.onActivityResult(activityResultRequestCode, Activity.RESULT_CANCELED, null); + } + activityResultCallback = plugin; + } + + @Override + public Activity getActivity() { + return activity; + } + + @Override + public Context getContext() { + return activity; + } + + @Override + public Object onMessage(String id, Object data) { + if ("exit".equals(id)) { + activity.finish(); + } + return null; + } + + @Override + public ExecutorService getThreadPool() { + return threadPool; + } + + /** + * Dispatches any pending onActivityResult callbacks and sends the resume event if the + * Activity was destroyed by the OS. + */ + public void onCordovaInit(PluginManager pluginManager) { + this.pluginManager = pluginManager; + if (savedResult != null) { + onActivityResult(savedResult.requestCode, savedResult.resultCode, savedResult.intent); + } else if(activityWasDestroyed) { + // If there was no Activity result, we still need to send out the resume event if the + // Activity was destroyed by the OS + activityWasDestroyed = false; + if(pluginManager != null) + { + CoreAndroid appPlugin = (CoreAndroid) pluginManager.getPlugin(CoreAndroid.PLUGIN_NAME); + if(appPlugin != null) { + JSONObject obj = new JSONObject(); + try { + obj.put("action", "resume"); + } catch (JSONException e) { + LOG.e(TAG, "Failed to create event message", e); + } + appPlugin.sendResumeEvent(new PluginResult(PluginResult.Status.OK, obj)); + } + } + + } + } + + /** + * Routes the result to the awaiting plugin. Returns false if no plugin was waiting. + */ + public boolean onActivityResult(int requestCode, int resultCode, Intent intent) { + CordovaPlugin callback = activityResultCallback; + if(callback == null && initCallbackService != null) { + // The application was restarted, but had defined an initial callback + // before being shut down. + savedResult = new ActivityResultHolder(requestCode, resultCode, intent); + if (pluginManager != null) { + callback = pluginManager.getPlugin(initCallbackService); + if(callback != null) { + callback.onRestoreStateForActivityResult(savedPluginState.getBundle(callback.getServiceName()), + new ResumeCallback(callback.getServiceName(), pluginManager)); + } + } + } + activityResultCallback = null; + + if (callback != null) { + LOG.d(TAG, "Sending activity result to plugin"); + initCallbackService = null; + savedResult = null; + callback.onActivityResult(requestCode, resultCode, intent); + return true; + } + LOG.w(TAG, "Got an activity result, but no plugin was registered to receive it" + (savedResult != null ? " yet!" : ".")); + return false; + } + + /** + * Call this from your startActivityForResult() overload. This is required to catch the case + * where plugins use Activity.startActivityForResult() + CordovaInterface.setActivityResultCallback() + * rather than CordovaInterface.startActivityForResult(). + */ + public void setActivityResultRequestCode(int requestCode) { + activityResultRequestCode = requestCode; + } + + /** + * Saves parameters for startActivityForResult(). + */ + public void onSaveInstanceState(Bundle outState) { + if (activityResultCallback != null) { + String serviceName = activityResultCallback.getServiceName(); + outState.putString("callbackService", serviceName); + } + if(pluginManager != null){ + outState.putBundle("plugin", pluginManager.onSaveInstanceState()); + } + + } + + /** + * Call this from onCreate() so that any saved startActivityForResult parameters will be restored. + */ + public void restoreInstanceState(Bundle savedInstanceState) { + initCallbackService = savedInstanceState.getString("callbackService"); + savedPluginState = savedInstanceState.getBundle("plugin"); + activityWasDestroyed = true; + } + + private static class ActivityResultHolder { + private int requestCode; + private int resultCode; + private Intent intent; + + public ActivityResultHolder(int requestCode, int resultCode, Intent intent) { + this.requestCode = requestCode; + this.resultCode = resultCode; + this.intent = intent; + } + } + + /** + * Called by the system when the user grants permissions + * + * @param requestCode + * @param permissions + * @param grantResults + */ + public void onRequestPermissionResult(int requestCode, String[] permissions, + int[] grantResults) throws JSONException { + Pair callback = permissionResultCallbacks.getAndRemoveCallback(requestCode); + if(callback != null) { + callback.first.onRequestPermissionResult(callback.second, permissions, grantResults); + } + } + + public void requestPermission(CordovaPlugin plugin, int requestCode, String permission) { + String[] permissions = new String [1]; + permissions[0] = permission; + requestPermissions(plugin, requestCode, permissions); + } + + @SuppressLint("NewApi") + public void requestPermissions(CordovaPlugin plugin, int requestCode, String [] permissions) { + int mappedRequestCode = permissionResultCallbacks.registerCallback(plugin, requestCode); + getActivity().requestPermissions(permissions, mappedRequestCode); + } + + public boolean hasPermission(String permission) + { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + { + int result = activity.checkSelfPermission(permission); + return PackageManager.PERMISSION_GRANTED == result; + } + else + { + return true; + } + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java new file mode 100644 index 00000000..41af1db7 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java @@ -0,0 +1,422 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import org.apache.cordova.CordovaArgs; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CallbackContext; +import org.json.JSONArray; +import org.json.JSONException; + +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.res.Configuration; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; + +import java.io.FileNotFoundException; +import java.io.IOException; + +/** + * Plugins must extend this class and override one of the execute methods. + */ +public class CordovaPlugin { + public CordovaWebView webView; + public CordovaInterface cordova; + protected CordovaPreferences preferences; + private String serviceName; + + /** + * Call this after constructing to initialize the plugin. + * Final because we want to be able to change args without breaking plugins. + */ + public final void privateInitialize(String serviceName, CordovaInterface cordova, CordovaWebView webView, CordovaPreferences preferences) { + assert this.cordova == null; + this.serviceName = serviceName; + this.cordova = cordova; + this.webView = webView; + this.preferences = preferences; + initialize(cordova, webView); + pluginInitialize(); + } + + /** + * Called after plugin construction and fields have been initialized. + * Prefer to use pluginInitialize instead since there is no value in + * having parameters on the initialize() function. + */ + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + } + + /** + * Called after plugin construction and fields have been initialized. + */ + protected void pluginInitialize() { + } + + /** + * Returns the plugin's service name (what you'd use when calling pluginManger.getPlugin()) + */ + public String getServiceName() { + return serviceName; + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param rawArgs The exec() arguments in JSON form. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, String rawArgs, CallbackContext callbackContext) throws JSONException { + JSONArray args = new JSONArray(rawArgs); + return execute(action, args, callbackContext); + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param args The exec() arguments. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + CordovaArgs cordovaArgs = new CordovaArgs(args); + return execute(action, cordovaArgs, callbackContext); + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param args The exec() arguments, wrapped with some Cordova helpers. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { + return false; + } + + /** + * Called when the system is about to start resuming a previous activity. + * + * @param multitasking Flag indicating if multitasking is turned on for app + */ + public void onPause(boolean multitasking) { + } + + /** + * Called when the activity will start interacting with the user. + * + * @param multitasking Flag indicating if multitasking is turned on for app + */ + public void onResume(boolean multitasking) { + } + + /** + * Called when the activity is becoming visible to the user. + */ + public void onStart() { + } + + /** + * Called when the activity is no longer visible to the user. + */ + public void onStop() { + } + + /** + * Called when the activity receives a new intent. + */ + public void onNewIntent(Intent intent) { + } + + /** + * The final call you receive before your activity is destroyed. + */ + public void onDestroy() { + } + + /** + * Called when the Activity is being destroyed (e.g. if a plugin calls out to an external + * Activity and the OS kills the CordovaActivity in the background). The plugin should save its + * state in this method only if it is awaiting the result of an external Activity and needs + * to preserve some information so as to handle that result; onRestoreStateForActivityResult() + * will only be called if the plugin is the recipient of an Activity result + * + * @return Bundle containing the state of the plugin or null if state does not need to be saved + */ + public Bundle onSaveInstanceState() { + return null; + } + + /** + * Called when a plugin is the recipient of an Activity result after the CordovaActivity has + * been destroyed. The Bundle will be the same as the one the plugin returned in + * onSaveInstanceState() + * + * @param state Bundle containing the state of the plugin + * @param callbackContext Replacement Context to return the plugin result to + */ + public void onRestoreStateForActivityResult(Bundle state, CallbackContext callbackContext) {} + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object to stop propagation or null + */ + public Object onMessage(String id, Object data) { + return null; + } + + /** + * Called when an activity you launched exits, giving you the requestCode you started it with, + * the resultCode it returned, and any additional data from it. + * + * @param requestCode The request code originally supplied to startActivityForResult(), + * allowing you to identify who this result came from. + * @param resultCode The integer result code returned by the child activity through its setResult(). + * @param intent An Intent, which can return result data to the caller (various data can be + * attached to Intent "extras"). + */ + public void onActivityResult(int requestCode, int resultCode, Intent intent) { + } + + /** + * Hook for blocking the loading of external resources. + * + * This will be called when the WebView's shouldInterceptRequest wants to + * know whether to open a connection to an external resource. Return false + * to block the request: if any plugin returns false, Cordova will block + * the request. If all plugins return null, the default policy will be + * enforced. If at least one plugin returns true, and no plugins return + * false, then the request will proceed. + * + * Note that this only affects resource requests which are routed through + * WebViewClient.shouldInterceptRequest, such as XMLHttpRequest requests and + * img tag loads. WebSockets and media requests (such as

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + * + *
ConstantValueDescription
icon_only2
standard0
wide1
+ */ + public static final int buttonSize=0x7f010000; + /** + *

May be a boolean value, such as "true" or + * "false". + */ + public static final int circleCrop=0x7f010001; + /** + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + * + *
ConstantValueDescription
auto2
dark0
light1
+ */ + public static final int colorScheme=0x7f010002; + /** + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + */ + public static final int font=0x7f010003; + /** + *

May be a string value, using '\\;' to escape characters such as + * '\\n' or '\\uxxxx' for a unicode character; + */ + public static final int fontProviderAuthority=0x7f010004; + /** + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + */ + public static final int fontProviderCerts=0x7f010005; + /** + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + *
ConstantValueDescription
async1
blocking0
+ */ + public static final int fontProviderFetchStrategy=0x7f010006; + /** + *

May be an integer value, such as "100". + *

Must be one of the following constant values.

+ * + * + * + * + * + * + *
ConstantValueDescription
foreverffffffff
+ */ + public static final int fontProviderFetchTimeout=0x7f010007; + /** + *

May be a string value, using '\\;' to escape characters such as + * '\\n' or '\\uxxxx' for a unicode character; + */ + public static final int fontProviderPackage=0x7f010008; + /** + *

May be a string value, using '\\;' to escape characters such as + * '\\n' or '\\uxxxx' for a unicode character; + */ + public static final int fontProviderQuery=0x7f010009; + /** + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + *
ConstantValueDescription
italic1
normal0
+ */ + public static final int fontStyle=0x7f01000a; + /** + *

May be an integer value, such as "100". + */ + public static final int fontWeight=0x7f01000b; + /** + *

May be a floating point value, such as "1.2". + */ + public static final int imageAspectRatio=0x7f01000c; + /** + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + * + *
ConstantValueDescription
adjust_height2
adjust_width1
none0
+ */ + public static final int imageAspectRatioAdjust=0x7f01000d; + /** + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + *

May be a string value, using '\\;' to escape characters such as + * '\\n' or '\\uxxxx' for a unicode character; + */ + public static final int scopeUris=0x7f01000e; + } + public static final class bool { + public static final int abc_action_bar_embed_tabs=0x7f020000; + } + public static final class color { + public static final int common_google_signin_btn_text_dark=0x7f030000; + public static final int common_google_signin_btn_text_dark_default=0x7f030001; + public static final int common_google_signin_btn_text_dark_disabled=0x7f030002; + public static final int common_google_signin_btn_text_dark_focused=0x7f030003; + public static final int common_google_signin_btn_text_dark_pressed=0x7f030004; + public static final int common_google_signin_btn_text_light=0x7f030005; + public static final int common_google_signin_btn_text_light_default=0x7f030006; + public static final int common_google_signin_btn_text_light_disabled=0x7f030007; + public static final int common_google_signin_btn_text_light_focused=0x7f030008; + public static final int common_google_signin_btn_text_light_pressed=0x7f030009; + public static final int common_google_signin_btn_tint=0x7f03000a; + public static final int hint_color=0x7f03000b; + public static final int notification_action_color_filter=0x7f03000c; + public static final int notification_icon_bg_color=0x7f03000d; + public static final int notification_material_background_media_default_color=0x7f03000e; + public static final int primary_text_default_material_dark=0x7f03000f; + public static final int ripple_material_light=0x7f030010; + public static final int secondary_text_default_material_dark=0x7f030011; + public static final int secondary_text_default_material_light=0x7f030012; + public static final int success_color=0x7f030013; + public static final int warning_color=0x7f030014; + } + public static final class dimen { + public static final int compat_button_inset_horizontal_material=0x7f040000; + public static final int compat_button_inset_vertical_material=0x7f040001; + public static final int compat_button_padding_horizontal_material=0x7f040002; + public static final int compat_button_padding_vertical_material=0x7f040003; + public static final int compat_control_corner_material=0x7f040004; + public static final int notification_action_icon_size=0x7f040005; + public static final int notification_action_text_size=0x7f040006; + public static final int notification_big_circle_margin=0x7f040007; + public static final int notification_content_margin_start=0x7f040008; + public static final int notification_large_icon_height=0x7f040009; + public static final int notification_large_icon_width=0x7f04000a; + public static final int notification_main_column_padding_top=0x7f04000b; + public static final int notification_media_narrow_margin=0x7f04000c; + public static final int notification_right_icon_size=0x7f04000d; + public static final int notification_right_side_padding_top=0x7f04000e; + public static final int notification_small_icon_background_padding=0x7f04000f; + public static final int notification_small_icon_size_as_large=0x7f040010; + public static final int notification_subtext_size=0x7f040011; + public static final int notification_top_pad=0x7f040012; + public static final int notification_top_pad_large_text=0x7f040013; + } + public static final class drawable { + public static final int android_robot=0x7f050000; + public static final int common_full_open_on_phone=0x7f050001; + public static final int common_google_signin_btn_icon_dark=0x7f050002; + public static final int common_google_signin_btn_icon_dark_focused=0x7f050003; + public static final int common_google_signin_btn_icon_dark_normal=0x7f050004; + public static final int common_google_signin_btn_icon_dark_normal_background=0x7f050005; + public static final int common_google_signin_btn_icon_disabled=0x7f050006; + public static final int common_google_signin_btn_icon_light=0x7f050007; + public static final int common_google_signin_btn_icon_light_focused=0x7f050008; + public static final int common_google_signin_btn_icon_light_normal=0x7f050009; + public static final int common_google_signin_btn_icon_light_normal_background=0x7f05000a; + public static final int common_google_signin_btn_text_dark=0x7f05000b; + public static final int common_google_signin_btn_text_dark_focused=0x7f05000c; + public static final int common_google_signin_btn_text_dark_normal=0x7f05000d; + public static final int common_google_signin_btn_text_dark_normal_background=0x7f05000e; + public static final int common_google_signin_btn_text_disabled=0x7f05000f; + public static final int common_google_signin_btn_text_light=0x7f050010; + public static final int common_google_signin_btn_text_light_focused=0x7f050011; + public static final int common_google_signin_btn_text_light_normal=0x7f050012; + public static final int common_google_signin_btn_text_light_normal_background=0x7f050013; + public static final int googleg_disabled_color_18=0x7f050014; + public static final int googleg_standard_color_18=0x7f050015; + public static final int ic_fingerprint_error=0x7f050016; + public static final int ic_fingerprint_success=0x7f050017; + public static final int ic_fp_40px=0x7f050018; + public static final int notification_action_background=0x7f050019; + public static final int notification_bg=0x7f05001a; + public static final int notification_bg_low=0x7f05001b; + public static final int notification_bg_low_normal=0x7f05001c; + public static final int notification_bg_low_pressed=0x7f05001d; + public static final int notification_bg_normal=0x7f05001e; + public static final int notification_bg_normal_pressed=0x7f05001f; + public static final int notification_icon_background=0x7f050020; + public static final int notification_template_icon_bg=0x7f050021; + public static final int notification_template_icon_low_bg=0x7f050022; + public static final int notification_tile_bg=0x7f050023; + public static final int notify_panel_notification_icon_bg=0x7f050024; + public static final int screen=0x7f050025; + } + public static final class id { + public static final int action0=0x7f060000; + public static final int action_container=0x7f060001; + public static final int action_divider=0x7f060002; + public static final int action_image=0x7f060003; + public static final int action_text=0x7f060004; + public static final int actions=0x7f060005; + public static final int adjust_height=0x7f060006; + public static final int adjust_width=0x7f060007; + public static final int async=0x7f060008; + public static final int auto=0x7f060009; + public static final int blocking=0x7f06000a; + public static final int buttonPanel=0x7f06000b; + public static final int cancel_action=0x7f06000c; + public static final int cancel_button=0x7f06000d; + public static final int chronometer=0x7f06000e; + public static final int dark=0x7f06000f; + public static final int end_padder=0x7f060010; + public static final int fingerprint_container=0x7f060011; + public static final int fingerprint_description=0x7f060012; + public static final int fingerprint_icon=0x7f060013; + public static final int fingerprint_status=0x7f060014; + public static final int forever=0x7f060015; + public static final int icon=0x7f060016; + public static final int icon_group=0x7f060017; + public static final int icon_only=0x7f060018; + public static final int info=0x7f060019; + public static final int italic=0x7f06001a; + public static final int light=0x7f06001b; + public static final int line1=0x7f06001c; + public static final int line3=0x7f06001d; + public static final int media_actions=0x7f06001e; + public static final int none=0x7f06001f; + public static final int normal=0x7f060020; + public static final int notification_background=0x7f060021; + public static final int notification_main_column=0x7f060022; + public static final int notification_main_column_container=0x7f060023; + public static final int right_icon=0x7f060024; + public static final int right_side=0x7f060025; + public static final int second_dialog_button=0x7f060026; + public static final int spacer=0x7f060027; + public static final int standard=0x7f060028; + public static final int status_bar_latest_event_content=0x7f060029; + public static final int text=0x7f06002a; + public static final int text2=0x7f06002b; + public static final int time=0x7f06002c; + public static final int title=0x7f06002d; + public static final int wide=0x7f06002e; + } + public static final class integer { + public static final int cancel_button_image_alpha=0x7f070000; + public static final int google_play_services_version=0x7f070001; + public static final int status_bar_notification_info_maxnum=0x7f070002; + } + public static final class layout { + public static final int fingerprint_dialog_container=0x7f080000; + public static final int fingerprint_dialog_content=0x7f080001; + public static final int notification_action=0x7f080002; + public static final int notification_action_tombstone=0x7f080003; + public static final int notification_media_action=0x7f080004; + public static final int notification_media_cancel_action=0x7f080005; + public static final int notification_template_big_media=0x7f080006; + public static final int notification_template_big_media_custom=0x7f080007; + public static final int notification_template_big_media_narrow=0x7f080008; + public static final int notification_template_big_media_narrow_custom=0x7f080009; + public static final int notification_template_custom_big=0x7f08000a; + public static final int notification_template_icon_group=0x7f08000b; + public static final int notification_template_lines_media=0x7f08000c; + public static final int notification_template_media=0x7f08000d; + public static final int notification_template_media_custom=0x7f08000e; + public static final int notification_template_part_chronometer=0x7f08000f; + public static final int notification_template_part_time=0x7f080010; + } + public static final class mipmap { + public static final int icon=0x7f090000; + } + public static final class string { + public static final int activity_name=0x7f0a0000; + public static final int app_name=0x7f0a0001; + public static final int common_google_play_services_enable_button=0x7f0a0002; + public static final int common_google_play_services_enable_text=0x7f0a0003; + public static final int common_google_play_services_enable_title=0x7f0a0004; + public static final int common_google_play_services_install_button=0x7f0a0005; + public static final int common_google_play_services_install_text=0x7f0a0006; + public static final int common_google_play_services_install_title=0x7f0a0007; + public static final int common_google_play_services_notification_channel_name=0x7f0a0008; + public static final int common_google_play_services_notification_ticker=0x7f0a0009; + public static final int common_google_play_services_unknown_issue=0x7f0a000a; + public static final int common_google_play_services_unsupported_text=0x7f0a000b; + public static final int common_google_play_services_update_button=0x7f0a000c; + public static final int common_google_play_services_update_text=0x7f0a000d; + public static final int common_google_play_services_update_title=0x7f0a000e; + public static final int common_google_play_services_updating_text=0x7f0a000f; + public static final int common_google_play_services_wear_update_text=0x7f0a0010; + public static final int common_open_on_phone=0x7f0a0011; + public static final int common_signin_button_text=0x7f0a0012; + public static final int common_signin_button_text_long=0x7f0a0013; + public static final int fingerprint_auth_dialog_title=0x7f0a0014; + public static final int fingerprint_cancel=0x7f0a0015; + public static final int fingerprint_description=0x7f0a0016; + public static final int fingerprint_hint=0x7f0a0017; + public static final int fingerprint_not_recognized=0x7f0a0018; + public static final int fingerprint_ok=0x7f0a0019; + public static final int fingerprint_success=0x7f0a001a; + public static final int fingerprint_use_backup=0x7f0a001b; + public static final int launcher_name=0x7f0a001c; + public static final int new_fingerprint_enrolled_description=0x7f0a001d; + public static final int secure_lock_screen_required=0x7f0a001e; + public static final int status_bar_notification_info_overflow=0x7f0a001f; + } + public static final class style { + public static final int TextAppearance_Compat_Notification=0x7f0b0000; + public static final int TextAppearance_Compat_Notification_Info=0x7f0b0001; + public static final int TextAppearance_Compat_Notification_Info_Media=0x7f0b0002; + public static final int TextAppearance_Compat_Notification_Line2=0x7f0b0003; + public static final int TextAppearance_Compat_Notification_Line2_Media=0x7f0b0004; + public static final int TextAppearance_Compat_Notification_Media=0x7f0b0005; + public static final int TextAppearance_Compat_Notification_Time=0x7f0b0006; + public static final int TextAppearance_Compat_Notification_Time_Media=0x7f0b0007; + public static final int TextAppearance_Compat_Notification_Title=0x7f0b0008; + public static final int TextAppearance_Compat_Notification_Title_Media=0x7f0b0009; + public static final int Widget_Compat_NotificationActionContainer=0x7f0b000a; + public static final int Widget_Compat_NotificationActionText=0x7f0b000b; + } + public static final class styleable { + /** + * Attributes that can be used with a FontFamily. + *

Includes the following attributes:

+ * + * + * + * + * + * + * + * + * + * + *
AttributeDescription
{@link #FontFamily_fontProviderAuthority io.ionic.starter:fontProviderAuthority}
{@link #FontFamily_fontProviderCerts io.ionic.starter:fontProviderCerts}
{@link #FontFamily_fontProviderFetchStrategy io.ionic.starter:fontProviderFetchStrategy}
{@link #FontFamily_fontProviderFetchTimeout io.ionic.starter:fontProviderFetchTimeout}
{@link #FontFamily_fontProviderPackage io.ionic.starter:fontProviderPackage}
{@link #FontFamily_fontProviderQuery io.ionic.starter:fontProviderQuery}
+ * @see #FontFamily_fontProviderAuthority + * @see #FontFamily_fontProviderCerts + * @see #FontFamily_fontProviderFetchStrategy + * @see #FontFamily_fontProviderFetchTimeout + * @see #FontFamily_fontProviderPackage + * @see #FontFamily_fontProviderQuery + */ + public static final int[] FontFamily={ + 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, + 0x7f010008, 0x7f010009 + }; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#fontProviderAuthority} + * attribute's value can be found in the {@link #FontFamily} array. + * + *

May be a string value, using '\\;' to escape characters such as + * '\\n' or '\\uxxxx' for a unicode character; + * + * @attr name io.ionic.starter:fontProviderAuthority + */ + public static final int FontFamily_fontProviderAuthority=0; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#fontProviderCerts} + * attribute's value can be found in the {@link #FontFamily} array. + * + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + * + * @attr name io.ionic.starter:fontProviderCerts + */ + public static final int FontFamily_fontProviderCerts=1; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#fontProviderFetchStrategy} + * attribute's value can be found in the {@link #FontFamily} array. + * + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + *
ConstantValueDescription
async1
blocking0
+ * + * @attr name io.ionic.starter:fontProviderFetchStrategy + */ + public static final int FontFamily_fontProviderFetchStrategy=2; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#fontProviderFetchTimeout} + * attribute's value can be found in the {@link #FontFamily} array. + * + *

May be an integer value, such as "100". + *

Must be one of the following constant values.

+ * + * + * + * + * + * + *
ConstantValueDescription
foreverffffffff
+ * + * @attr name io.ionic.starter:fontProviderFetchTimeout + */ + public static final int FontFamily_fontProviderFetchTimeout=3; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#fontProviderPackage} + * attribute's value can be found in the {@link #FontFamily} array. + * + *

May be a string value, using '\\;' to escape characters such as + * '\\n' or '\\uxxxx' for a unicode character; + * + * @attr name io.ionic.starter:fontProviderPackage + */ + public static final int FontFamily_fontProviderPackage=4; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#fontProviderQuery} + * attribute's value can be found in the {@link #FontFamily} array. + * + *

May be a string value, using '\\;' to escape characters such as + * '\\n' or '\\uxxxx' for a unicode character; + * + * @attr name io.ionic.starter:fontProviderQuery + */ + public static final int FontFamily_fontProviderQuery=5; + /** + * Attributes that can be used with a FontFamilyFont. + *

Includes the following attributes:

+ * + * + * + * + * + * + * + *
AttributeDescription
{@link #FontFamilyFont_font io.ionic.starter:font}
{@link #FontFamilyFont_fontStyle io.ionic.starter:fontStyle}
{@link #FontFamilyFont_fontWeight io.ionic.starter:fontWeight}
+ * @see #FontFamilyFont_font + * @see #FontFamilyFont_fontStyle + * @see #FontFamilyFont_fontWeight + */ + public static final int[] FontFamilyFont={ + 0x7f010003, 0x7f01000a, 0x7f01000b + }; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#font} + * attribute's value can be found in the {@link #FontFamilyFont} array. + * + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + * + * @attr name io.ionic.starter:font + */ + public static final int FontFamilyFont_font=0; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#fontStyle} + * attribute's value can be found in the {@link #FontFamilyFont} array. + * + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + *
ConstantValueDescription
italic1
normal0
+ * + * @attr name io.ionic.starter:fontStyle + */ + public static final int FontFamilyFont_fontStyle=1; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#fontWeight} + * attribute's value can be found in the {@link #FontFamilyFont} array. + * + *

May be an integer value, such as "100". + * + * @attr name io.ionic.starter:fontWeight + */ + public static final int FontFamilyFont_fontWeight=2; + /** + * Attributes that can be used with a LoadingImageView. + *

Includes the following attributes:

+ * + * + * + * + * + * + * + *
AttributeDescription
{@link #LoadingImageView_circleCrop io.ionic.starter:circleCrop}
{@link #LoadingImageView_imageAspectRatio io.ionic.starter:imageAspectRatio}
{@link #LoadingImageView_imageAspectRatioAdjust io.ionic.starter:imageAspectRatioAdjust}
+ * @see #LoadingImageView_circleCrop + * @see #LoadingImageView_imageAspectRatio + * @see #LoadingImageView_imageAspectRatioAdjust + */ + public static final int[] LoadingImageView={ + 0x7f010001, 0x7f01000c, 0x7f01000d + }; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#circleCrop} + * attribute's value can be found in the {@link #LoadingImageView} array. + * + *

May be a boolean value, such as "true" or + * "false". + * + * @attr name io.ionic.starter:circleCrop + */ + public static final int LoadingImageView_circleCrop=0; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#imageAspectRatio} + * attribute's value can be found in the {@link #LoadingImageView} array. + * + *

May be a floating point value, such as "1.2". + * + * @attr name io.ionic.starter:imageAspectRatio + */ + public static final int LoadingImageView_imageAspectRatio=1; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#imageAspectRatioAdjust} + * attribute's value can be found in the {@link #LoadingImageView} array. + * + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + * + *
ConstantValueDescription
adjust_height2
adjust_width1
none0
+ * + * @attr name io.ionic.starter:imageAspectRatioAdjust + */ + public static final int LoadingImageView_imageAspectRatioAdjust=2; + /** + * Attributes that can be used with a SignInButton. + *

Includes the following attributes:

+ * + * + * + * + * + * + * + *
AttributeDescription
{@link #SignInButton_buttonSize io.ionic.starter:buttonSize}
{@link #SignInButton_colorScheme io.ionic.starter:colorScheme}
{@link #SignInButton_scopeUris io.ionic.starter:scopeUris}
+ * @see #SignInButton_buttonSize + * @see #SignInButton_colorScheme + * @see #SignInButton_scopeUris + */ + public static final int[] SignInButton={ + 0x7f010000, 0x7f010002, 0x7f01000e + }; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#buttonSize} + * attribute's value can be found in the {@link #SignInButton} array. + * + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + * + *
ConstantValueDescription
icon_only2
standard0
wide1
+ * + * @attr name io.ionic.starter:buttonSize + */ + public static final int SignInButton_buttonSize=0; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#colorScheme} + * attribute's value can be found in the {@link #SignInButton} array. + * + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + *

Must be one of the following constant values.

+ * + * + * + * + * + * + * + * + *
ConstantValueDescription
auto2
dark0
light1
+ * + * @attr name io.ionic.starter:colorScheme + */ + public static final int SignInButton_colorScheme=1; + /** + *

This symbol is the offset where the {@link io.ionic.starter.R.attr#scopeUris} + * attribute's value can be found in the {@link #SignInButton} array. + * + *

May be a reference to another resource, in the form + * "@[+][package:]type/name" or a theme + * attribute in the form + * "?[package:]type/name". + *

May be a string value, using '\\;' to escape characters such as + * '\\n' or '\\uxxxx' for a unicode character; + * + * @attr name io.ionic.starter:scopeUris + */ + public static final int SignInButton_scopeUris=2; + } + public static final class xml { + public static final int camera_provider_paths=0x7f0d0000; + public static final int config=0x7f0d0001; + } +} \ No newline at end of file diff --git a/platforms/android/app/build/generated/source/r/debug/org/apache/cordova/R.java b/platforms/android/app/build/generated/source/r/debug/org/apache/cordova/R.java new file mode 100644 index 00000000..ba5855f0 --- /dev/null +++ b/platforms/android/app/build/generated/source/r/debug/org/apache/cordova/R.java @@ -0,0 +1,10 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * gradle plugin from the resource data it found. It + * should not be modified by hand. + */ +package org.apache.cordova; + +public final class R { +} diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/css/deeppurple-amber.css b/platforms/android/app/build/intermediates/assets/debug/www/assets/css/deeppurple-amber.css new file mode 100755 index 00000000..f0c9650f --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/assets/css/deeppurple-amber.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87)}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#673ab7}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ffd740}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.54)}.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-label{color:#673ab7}.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#673ab7}.mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23d1c4e9%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffe57f%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740} \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/deep.min.css b/platforms/android/app/build/intermediates/assets/debug/www/assets/deep.min.css new file mode 100755 index 00000000..f0c9650f --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/assets/deep.min.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87)}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#673ab7}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ffd740}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.54)}.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-label{color:#673ab7}.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#673ab7}.mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23d1c4e9%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffe57f%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740} \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Black.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Black.ttf new file mode 100755 index 00000000..689fe5cb Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Black.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-BlackItalic.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-BlackItalic.ttf new file mode 100755 index 00000000..0b4e0ee1 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-BlackItalic.ttf differ 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 new file mode 100755 index 00000000..d3f01ad2 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Bold.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-BoldItalic.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-BoldItalic.ttf new file mode 100755 index 00000000..41cc1e75 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-BoldItalic.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Italic.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Italic.ttf new file mode 100755 index 00000000..6a1cee5b Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Italic.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Light.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Light.ttf new file mode 100755 index 00000000..219063a5 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Light.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-LightItalic.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-LightItalic.ttf new file mode 100755 index 00000000..0e81e876 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-LightItalic.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Medium.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Medium.ttf new file mode 100755 index 00000000..1a7f3b0b Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Medium.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-MediumItalic.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-MediumItalic.ttf new file mode 100755 index 00000000..00302952 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-MediumItalic.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Regular.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Regular.ttf new file mode 100755 index 00000000..2c97eead Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Regular.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Thin.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Thin.ttf new file mode 100755 index 00000000..b74a4fd1 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Thin.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-ThinItalic.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-ThinItalic.ttf new file mode 100755 index 00000000..dd0ddb85 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-ThinItalic.ttf differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/ionicons.woff b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/ionicons.woff new file mode 100755 index 00000000..e997f0d9 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/ionicons.woff differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/ionicons.woff2 b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/ionicons.woff2 new file mode 100755 index 00000000..66bcf5c5 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/ionicons.woff2 differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/icon/favicon.ico b/platforms/android/app/build/intermediates/assets/debug/www/assets/icon/favicon.ico new file mode 100755 index 00000000..d76fa29d Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/icon/favicon.ico differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/img/avatar/girl-avatar.png b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/avatar/girl-avatar.png new file mode 100755 index 00000000..33560f7d Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/avatar/girl-avatar.png differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/adrian-199150-unsplash 1.jpg b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/adrian-199150-unsplash 1.jpg new file mode 100755 index 00000000..88ab7217 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/adrian-199150-unsplash 1.jpg differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/avatar.jpg b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/avatar.jpg new file mode 100755 index 00000000..26d30741 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/avatar.jpg differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/login.jpg b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/login.jpg new file mode 100755 index 00000000..88ab7217 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/login.jpg differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/sidemenubg.jpg b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/sidemenubg.jpg new file mode 100755 index 00000000..2d01059a Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/img/misc/sidemenubg.jpg differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/imgs/logo.png b/platforms/android/app/build/intermediates/assets/debug/www/assets/imgs/logo.png new file mode 100755 index 00000000..80f631d7 Binary files /dev/null and b/platforms/android/app/build/intermediates/assets/debug/www/assets/imgs/logo.png differ diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/indigo-pink.css b/platforms/android/app/build/intermediates/assets/debug/www/assets/indigo-pink.css new file mode 100755 index 00000000..e4ee0fdf --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/assets/indigo-pink.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.288)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(63,81,181,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,64,129,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:#fff}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,64,129,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,64,129,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(63,81,181,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,64,129,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-datepicker-toggle-active{color:#3f51b5}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.54)}.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-label{color:#3f51b5}.mat-focused .mat-form-field-label.mat-accent{color:#ff4081}.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#3f51b5}.mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#3f51b5}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ff4081}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23c5cae9%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ff80ab%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(63,81,181,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,64,129,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#e91e63}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(233,30,99,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(233,30,99,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(63,81,181,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#3f51b5;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-primary .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-accent .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-warn .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-primary .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-accent .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-warn .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ff4081} \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/assets/debug/www/build/main.css b/platforms/android/app/build/intermediates/assets/debug/www/build/main.css new file mode 100644 index 00000000..9bc3062c --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/build/main.css @@ -0,0 +1 @@ +.ion-ios-add:before{content:"\f102"}.ion-ios-add-circle:before{content:"\f101"}.ion-ios-add-circle-outline:before{content:"\f100"}.ion-ios-add-outline:before{content:"\f102"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-alarm-outline:before{content:"\f3c7"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-albums-outline:before{content:"\f3c9"}.ion-ios-alert:before{content:"\f104"}.ion-ios-alert-outline:before{content:"\f103"}.ion-ios-american-football:before{content:"\f106"}.ion-ios-american-football-outline:before{content:"\f105"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-analytics-outline:before{content:"\f3cd"}.ion-ios-aperture:before{content:"\f108"}.ion-ios-aperture-outline:before{content:"\f107"}.ion-ios-apps:before{content:"\f10a"}.ion-ios-apps-outline:before{content:"\f109"}.ion-ios-appstore:before{content:"\f10c"}.ion-ios-appstore-outline:before{content:"\f10b"}.ion-ios-archive:before{content:"\f10e"}.ion-ios-archive-outline:before{content:"\f10d"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-back-outline:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-down-outline:before{content:"\f3d0"}.ion-ios-arrow-dropdown:before{content:"\f110"}.ion-ios-arrow-dropdown-circle:before{content:"\f10f"}.ion-ios-arrow-dropdown-circle-outline:before{content:"\f10f"}.ion-ios-arrow-dropdown-outline:before{content:"\f110"}.ion-ios-arrow-dropleft:before{content:"\f112"}.ion-ios-arrow-dropleft-circle:before{content:"\f111"}.ion-ios-arrow-dropleft-circle-outline:before{content:"\f111"}.ion-ios-arrow-dropleft-outline:before{content:"\f112"}.ion-ios-arrow-dropright:before{content:"\f114"}.ion-ios-arrow-dropright-circle:before{content:"\f113"}.ion-ios-arrow-dropright-circle-outline:before{content:"\f113"}.ion-ios-arrow-dropright-outline:before{content:"\f114"}.ion-ios-arrow-dropup:before{content:"\f116"}.ion-ios-arrow-dropup-circle:before{content:"\f115"}.ion-ios-arrow-dropup-circle-outline:before{content:"\f115"}.ion-ios-arrow-dropup-outline:before{content:"\f116"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-forward-outline:before{content:"\f3d1"}.ion-ios-arrow-round-back:before{content:"\f117"}.ion-ios-arrow-round-back-outline:before{content:"\f117"}.ion-ios-arrow-round-down:before{content:"\f118"}.ion-ios-arrow-round-down-outline:before{content:"\f118"}.ion-ios-arrow-round-forward:before{content:"\f119"}.ion-ios-arrow-round-forward-outline:before{content:"\f119"}.ion-ios-arrow-round-up:before{content:"\f11a"}.ion-ios-arrow-round-up-outline:before{content:"\f11a"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-arrow-up-outline:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-at-outline:before{content:"\f3d9"}.ion-ios-attach:before{content:"\f11b"}.ion-ios-attach-outline:before{content:"\f11b"}.ion-ios-backspace:before{content:"\f11d"}.ion-ios-backspace-outline:before{content:"\f11c"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-barcode-outline:before{content:"\f3db"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-baseball-outline:before{content:"\f3dd"}.ion-ios-basket:before{content:"\f11f"}.ion-ios-basket-outline:before{content:"\f11e"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-basketball-outline:before{content:"\f3df"}.ion-ios-battery-charging:before{content:"\f120"}.ion-ios-battery-charging-outline:before{content:"\f120"}.ion-ios-battery-dead:before{content:"\f121"}.ion-ios-battery-dead-outline:before{content:"\f121"}.ion-ios-battery-full:before{content:"\f122"}.ion-ios-battery-full-outline:before{content:"\f122"}.ion-ios-beaker:before{content:"\f124"}.ion-ios-beaker-outline:before{content:"\f123"}.ion-ios-beer:before{content:"\f126"}.ion-ios-beer-outline:before{content:"\f125"}.ion-ios-bicycle:before{content:"\f127"}.ion-ios-bicycle-outline:before{content:"\f127"}.ion-ios-bluetooth:before{content:"\f128"}.ion-ios-bluetooth-outline:before{content:"\f128"}.ion-ios-boat:before{content:"\f12a"}.ion-ios-boat-outline:before{content:"\f129"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-body-outline:before{content:"\f3e3"}.ion-ios-bonfire:before{content:"\f12c"}.ion-ios-bonfire-outline:before{content:"\f12b"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-book-outline:before{content:"\f3e7"}.ion-ios-bookmark:before{content:"\f12e"}.ion-ios-bookmark-outline:before{content:"\f12d"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bookmarks-outline:before{content:"\f3e9"}.ion-ios-bowtie:before{content:"\f130"}.ion-ios-bowtie-outline:before{content:"\f12f"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-briefcase-outline:before{content:"\f3ed"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-browsers-outline:before{content:"\f3ef"}.ion-ios-brush:before{content:"\f132"}.ion-ios-brush-outline:before{content:"\f131"}.ion-ios-bug:before{content:"\f134"}.ion-ios-bug-outline:before{content:"\f133"}.ion-ios-build:before{content:"\f136"}.ion-ios-build-outline:before{content:"\f135"}.ion-ios-bulb:before{content:"\f138"}.ion-ios-bulb-outline:before{content:"\f137"}.ion-ios-bus:before{content:"\f13a"}.ion-ios-bus-outline:before{content:"\f139"}.ion-ios-cafe:before{content:"\f13c"}.ion-ios-cafe-outline:before{content:"\f13b"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calculator-outline:before{content:"\f3f1"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-calendar-outline:before{content:"\f3f3"}.ion-ios-call:before{content:"\f13e"}.ion-ios-call-outline:before{content:"\f13d"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-camera-outline:before{content:"\f3f5"}.ion-ios-car:before{content:"\f140"}.ion-ios-car-outline:before{content:"\f13f"}.ion-ios-card:before{content:"\f142"}.ion-ios-card-outline:before{content:"\f141"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cart-outline:before{content:"\f3f7"}.ion-ios-cash:before{content:"\f144"}.ion-ios-cash-outline:before{content:"\f143"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatboxes-outline:before{content:"\f3f9"}.ion-ios-chatbubbles:before{content:"\f146"}.ion-ios-chatbubbles-outline:before{content:"\f145"}.ion-ios-checkbox:before{content:"\f148"}.ion-ios-checkbox-outline:before{content:"\f147"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-circle:before{content:"\f14a"}.ion-ios-checkmark-circle-outline:before{content:"\f149"}.ion-ios-checkmark-outline:before{content:"\f3ff"}.ion-ios-clipboard:before{content:"\f14c"}.ion-ios-clipboard-outline:before{content:"\f14b"}.ion-ios-clock:before{content:"\f403"}.ion-ios-clock-outline:before{content:"\f402"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-circle:before{content:"\f14e"}.ion-ios-close-circle-outline:before{content:"\f14d"}.ion-ios-close-outline:before{content:"\f406"}.ion-ios-closed-captioning:before{content:"\f150"}.ion-ios-closed-captioning-outline:before{content:"\f14f"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-circle:before{content:"\f152"}.ion-ios-cloud-circle-outline:before{content:"\f151"}.ion-ios-cloud-done:before{content:"\f154"}.ion-ios-cloud-done-outline:before{content:"\f153"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-download-outline:before{content:"\f407"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloud-upload-outline:before{content:"\f40a"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-cloudy-night-outline:before{content:"\f40d"}.ion-ios-cloudy-outline:before{content:"\f40f"}.ion-ios-code:before{content:"\f157"}.ion-ios-code-download:before{content:"\f155"}.ion-ios-code-download-outline:before{content:"\f155"}.ion-ios-code-outline:before{content:"\f157"}.ion-ios-code-working:before{content:"\f156"}.ion-ios-code-working-outline:before{content:"\f156"}.ion-ios-cog:before{content:"\f412"}.ion-ios-cog-outline:before{content:"\f411"}.ion-ios-color-fill:before{content:"\f159"}.ion-ios-color-fill-outline:before{content:"\f158"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-filter-outline:before{content:"\f413"}.ion-ios-color-palette:before{content:"\f15b"}.ion-ios-color-palette-outline:before{content:"\f15a"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-color-wand-outline:before{content:"\f415"}.ion-ios-compass:before{content:"\f15d"}.ion-ios-compass-outline:before{content:"\f15c"}.ion-ios-construct:before{content:"\f15f"}.ion-ios-construct-outline:before{content:"\f15e"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contact-outline:before{content:"\f419"}.ion-ios-contacts:before{content:"\f161"}.ion-ios-contacts-outline:before{content:"\f160"}.ion-ios-contract:before{content:"\f162"}.ion-ios-contract-outline:before{content:"\f162"}.ion-ios-contrast:before{content:"\f163"}.ion-ios-contrast-outline:before{content:"\f163"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-copy-outline:before{content:"\f41b"}.ion-ios-create:before{content:"\f165"}.ion-ios-create-outline:before{content:"\f164"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-crop-outline:before{content:"\f166"}.ion-ios-cube:before{content:"\f168"}.ion-ios-cube-outline:before{content:"\f167"}.ion-ios-cut:before{content:"\f16a"}.ion-ios-cut-outline:before{content:"\f169"}.ion-ios-desktop:before{content:"\f16c"}.ion-ios-desktop-outline:before{content:"\f16b"}.ion-ios-disc:before{content:"\f16e"}.ion-ios-disc-outline:before{content:"\f16d"}.ion-ios-document:before{content:"\f170"}.ion-ios-document-outline:before{content:"\f16f"}.ion-ios-done-all:before{content:"\f171"}.ion-ios-done-all-outline:before{content:"\f171"}.ion-ios-download:before{content:"\f420"}.ion-ios-download-outline:before{content:"\f41f"}.ion-ios-easel:before{content:"\f173"}.ion-ios-easel-outline:before{content:"\f172"}.ion-ios-egg:before{content:"\f175"}.ion-ios-egg-outline:before{content:"\f174"}.ion-ios-exit:before{content:"\f177"}.ion-ios-exit-outline:before{content:"\f176"}.ion-ios-expand:before{content:"\f178"}.ion-ios-expand-outline:before{content:"\f178"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-off:before{content:"\f17a"}.ion-ios-eye-off-outline:before{content:"\f179"}.ion-ios-eye-outline:before{content:"\f424"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-fastforward-outline:before{content:"\f426"}.ion-ios-female:before{content:"\f17b"}.ion-ios-female-outline:before{content:"\f17b"}.ion-ios-filing:before{content:"\f429"}.ion-ios-filing-outline:before{content:"\f428"}.ion-ios-film:before{content:"\f42b"}.ion-ios-film-outline:before{content:"\f42a"}.ion-ios-finger-print:before{content:"\f17c"}.ion-ios-finger-print-outline:before{content:"\f17c"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flag-outline:before{content:"\f42c"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flame-outline:before{content:"\f42e"}.ion-ios-flash:before{content:"\f17e"}.ion-ios-flash-outline:before{content:"\f17d"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flask-outline:before{content:"\f430"}.ion-ios-flower:before{content:"\f433"}.ion-ios-flower-outline:before{content:"\f432"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-open:before{content:"\f180"}.ion-ios-folder-open-outline:before{content:"\f17f"}.ion-ios-folder-outline:before{content:"\f434"}.ion-ios-football:before{content:"\f437"}.ion-ios-football-outline:before{content:"\f436"}.ion-ios-funnel:before{content:"\f182"}.ion-ios-funnel-outline:before{content:"\f181"}.ion-ios-game-controller-a:before{content:"\f439"}.ion-ios-game-controller-a-outline:before{content:"\f438"}.ion-ios-game-controller-b:before{content:"\f43b"}.ion-ios-game-controller-b-outline:before{content:"\f43a"}.ion-ios-git-branch:before{content:"\f183"}.ion-ios-git-branch-outline:before{content:"\f183"}.ion-ios-git-commit:before{content:"\f184"}.ion-ios-git-commit-outline:before{content:"\f184"}.ion-ios-git-compare:before{content:"\f185"}.ion-ios-git-compare-outline:before{content:"\f185"}.ion-ios-git-merge:before{content:"\f186"}.ion-ios-git-merge-outline:before{content:"\f186"}.ion-ios-git-network:before{content:"\f187"}.ion-ios-git-network-outline:before{content:"\f187"}.ion-ios-git-pull-request:before{content:"\f188"}.ion-ios-git-pull-request-outline:before{content:"\f188"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-glasses-outline:before{content:"\f43e"}.ion-ios-globe:before{content:"\f18a"}.ion-ios-globe-outline:before{content:"\f189"}.ion-ios-grid:before{content:"\f18c"}.ion-ios-grid-outline:before{content:"\f18b"}.ion-ios-hammer:before{content:"\f18e"}.ion-ios-hammer-outline:before{content:"\f18d"}.ion-ios-hand:before{content:"\f190"}.ion-ios-hand-outline:before{content:"\f18f"}.ion-ios-happy:before{content:"\f192"}.ion-ios-happy-outline:before{content:"\f191"}.ion-ios-headset:before{content:"\f194"}.ion-ios-headset-outline:before{content:"\f193"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-outline:before{content:"\f442"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-buoy:before{content:"\f196"}.ion-ios-help-buoy-outline:before{content:"\f195"}.ion-ios-help-circle:before{content:"\f198"}.ion-ios-help-circle-outline:before{content:"\f197"}.ion-ios-help-outline:before{content:"\f446"}.ion-ios-home:before{content:"\f448"}.ion-ios-home-outline:before{content:"\f447"}.ion-ios-ice-cream:before{content:"\f19a"}.ion-ios-ice-cream-outline:before{content:"\f199"}.ion-ios-image:before{content:"\f19c"}.ion-ios-image-outline:before{content:"\f19b"}.ion-ios-images:before{content:"\f19e"}.ion-ios-images-outline:before{content:"\f19d"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-infinite-outline:before{content:"\f449"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-circle:before{content:"\f1a0"}.ion-ios-information-circle-outline:before{content:"\f19f"}.ion-ios-information-outline:before{content:"\f44d"}.ion-ios-ionic:before{content:"\f1a1"}.ion-ios-ionic-outline:before{content:"\f44e"}.ion-ios-ionitron:before{content:"\f1a3"}.ion-ios-ionitron-outline:before{content:"\f1a2"}.ion-ios-jet:before{content:"\f1a5"}.ion-ios-jet-outline:before{content:"\f1a4"}.ion-ios-key:before{content:"\f1a7"}.ion-ios-key-outline:before{content:"\f1a6"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-keypad-outline:before{content:"\f44f"}.ion-ios-laptop:before{content:"\f1a8"}.ion-ios-laptop-outline:before{content:"\f1a8"}.ion-ios-leaf:before{content:"\f1aa"}.ion-ios-leaf-outline:before{content:"\f1a9"}.ion-ios-link:before{content:"\f22a"}.ion-ios-link-outline:before{content:"\f1ca"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-box:before{content:"\f1ac"}.ion-ios-list-box-outline:before{content:"\f1ab"}.ion-ios-list-outline:before{content:"\f454"}.ion-ios-locate:before{content:"\f1ae"}.ion-ios-locate-outline:before{content:"\f1ad"}.ion-ios-lock:before{content:"\f1b0"}.ion-ios-lock-outline:before{content:"\f1af"}.ion-ios-log-in:before{content:"\f1b1"}.ion-ios-log-in-outline:before{content:"\f1b1"}.ion-ios-log-out:before{content:"\f1b2"}.ion-ios-log-out-outline:before{content:"\f1b2"}.ion-ios-magnet:before{content:"\f1b4"}.ion-ios-magnet-outline:before{content:"\f1b3"}.ion-ios-mail:before{content:"\f1b8"}.ion-ios-mail-open:before{content:"\f1b6"}.ion-ios-mail-open-outline:before{content:"\f1b5"}.ion-ios-mail-outline:before{content:"\f1b7"}.ion-ios-male:before{content:"\f1b9"}.ion-ios-male-outline:before{content:"\f1b9"}.ion-ios-man:before{content:"\f1bb"}.ion-ios-man-outline:before{content:"\f1ba"}.ion-ios-map:before{content:"\f1bd"}.ion-ios-map-outline:before{content:"\f1bc"}.ion-ios-medal:before{content:"\f1bf"}.ion-ios-medal-outline:before{content:"\f1be"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medical-outline:before{content:"\f45b"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-medkit-outline:before{content:"\f45d"}.ion-ios-megaphone:before{content:"\f1c1"}.ion-ios-megaphone-outline:before{content:"\f1c0"}.ion-ios-menu:before{content:"\f1c3"}.ion-ios-menu-outline:before{content:"\f1c2"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-mic-off-outline:before{content:"\f1c4"}.ion-ios-mic-outline:before{content:"\f460"}.ion-ios-microphone:before{content:"\f1c6"}.ion-ios-microphone-outline:before{content:"\f1c5"}.ion-ios-moon:before{content:"\f468"}.ion-ios-moon-outline:before{content:"\f467"}.ion-ios-more:before{content:"\f1c8"}.ion-ios-more-outline:before{content:"\f1c7"}.ion-ios-move:before{content:"\f1cb"}.ion-ios-move-outline:before{content:"\f1cb"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-note-outline:before{content:"\f1cc"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-musical-notes-outline:before{content:"\f1cd"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-navigate-outline:before{content:"\f46d"}.ion-ios-no-smoking:before{content:"\f1cf"}.ion-ios-no-smoking-outline:before{content:"\f1ce"}.ion-ios-notifications:before{content:"\f1d3"}.ion-ios-notifications-off:before{content:"\f1d1"}.ion-ios-notifications-off-outline:before{content:"\f1d0"}.ion-ios-notifications-outline:before{content:"\f1d2"}.ion-ios-nuclear:before{content:"\f1d5"}.ion-ios-nuclear-outline:before{content:"\f1d4"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-nutrition-outline:before{content:"\f46f"}.ion-ios-open:before{content:"\f1d7"}.ion-ios-open-outline:before{content:"\f1d6"}.ion-ios-options:before{content:"\f1d9"}.ion-ios-options-outline:before{content:"\f1d8"}.ion-ios-outlet:before{content:"\f1db"}.ion-ios-outlet-outline:before{content:"\f1da"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-outline:before{content:"\f471"}.ion-ios-paper-plane:before{content:"\f1dd"}.ion-ios-paper-plane-outline:before{content:"\f1dc"}.ion-ios-partly-sunny:before{content:"\f1df"}.ion-ios-partly-sunny-outline:before{content:"\f1de"}.ion-ios-pause:before{content:"\f478"}.ion-ios-pause-outline:before{content:"\f477"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-paw-outline:before{content:"\f479"}.ion-ios-people:before{content:"\f47c"}.ion-ios-people-outline:before{content:"\f47b"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-add:before{content:"\f1e1"}.ion-ios-person-add-outline:before{content:"\f1e0"}.ion-ios-person-outline:before{content:"\f47d"}.ion-ios-phone-landscape:before{content:"\f1e2"}.ion-ios-phone-landscape-outline:before{content:"\f1e2"}.ion-ios-phone-portrait:before{content:"\f1e3"}.ion-ios-phone-portrait-outline:before{content:"\f1e3"}.ion-ios-photos:before{content:"\f482"}.ion-ios-photos-outline:before{content:"\f481"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pie-outline:before{content:"\f483"}.ion-ios-pin:before{content:"\f1e5"}.ion-ios-pin-outline:before{content:"\f1e4"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pint-outline:before{content:"\f485"}.ion-ios-pizza:before{content:"\f1e7"}.ion-ios-pizza-outline:before{content:"\f1e6"}.ion-ios-plane:before{content:"\f1e9"}.ion-ios-plane-outline:before{content:"\f1e8"}.ion-ios-planet:before{content:"\f1eb"}.ion-ios-planet-outline:before{content:"\f1ea"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-outline:before{content:"\f487"}.ion-ios-podium:before{content:"\f1ed"}.ion-ios-podium-outline:before{content:"\f1ec"}.ion-ios-power:before{content:"\f1ef"}.ion-ios-power-outline:before{content:"\f1ee"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetag-outline:before{content:"\f48c"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-pricetags-outline:before{content:"\f48e"}.ion-ios-print:before{content:"\f1f1"}.ion-ios-print-outline:before{content:"\f1f0"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-pulse-outline:before{content:"\f1f2"}.ion-ios-qr-scanner:before{content:"\f1f3"}.ion-ios-qr-scanner-outline:before{content:"\f1f3"}.ion-ios-quote:before{content:"\f1f5"}.ion-ios-quote-outline:before{content:"\f1f4"}.ion-ios-radio:before{content:"\f1f9"}.ion-ios-radio-button-off:before{content:"\f1f6"}.ion-ios-radio-button-off-outline:before{content:"\f1f6"}.ion-ios-radio-button-on:before{content:"\f1f7"}.ion-ios-radio-button-on-outline:before{content:"\f1f7"}.ion-ios-radio-outline:before{content:"\f1f8"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-rainy-outline:before{content:"\f494"}.ion-ios-recording:before{content:"\f497"}.ion-ios-recording-outline:before{content:"\f496"}.ion-ios-redo:before{content:"\f499"}.ion-ios-redo-outline:before{content:"\f498"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-circle:before{content:"\f226"}.ion-ios-refresh-circle-outline:before{content:"\f224"}.ion-ios-refresh-outline:before{content:"\f49c"}.ion-ios-remove:before{content:"\f1fc"}.ion-ios-remove-circle:before{content:"\f1fb"}.ion-ios-remove-circle-outline:before{content:"\f1fa"}.ion-ios-remove-outline:before{content:"\f1fc"}.ion-ios-reorder:before{content:"\f1fd"}.ion-ios-reorder-outline:before{content:"\f1fd"}.ion-ios-repeat:before{content:"\f1fe"}.ion-ios-repeat-outline:before{content:"\f1fe"}.ion-ios-resize:before{content:"\f1ff"}.ion-ios-resize-outline:before{content:"\f1ff"}.ion-ios-restaurant:before{content:"\f201"}.ion-ios-restaurant-outline:before{content:"\f200"}.ion-ios-return-left:before{content:"\f202"}.ion-ios-return-left-outline:before{content:"\f202"}.ion-ios-return-right:before{content:"\f203"}.ion-ios-return-right-outline:before{content:"\f203"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-reverse-camera-outline:before{content:"\f49e"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-rewind-outline:before{content:"\f4a0"}.ion-ios-ribbon:before{content:"\f205"}.ion-ios-ribbon-outline:before{content:"\f204"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-rose-outline:before{content:"\f4a2"}.ion-ios-sad:before{content:"\f207"}.ion-ios-sad-outline:before{content:"\f206"}.ion-ios-school:before{content:"\f209"}.ion-ios-school-outline:before{content:"\f208"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-search-outline:before{content:"\f20a"}.ion-ios-send:before{content:"\f20c"}.ion-ios-send-outline:before{content:"\f20b"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-settings-outline:before{content:"\f20d"}.ion-ios-share:before{content:"\f211"}.ion-ios-share-alt:before{content:"\f20f"}.ion-ios-share-alt-outline:before{content:"\f20e"}.ion-ios-share-outline:before{content:"\f210"}.ion-ios-shirt:before{content:"\f213"}.ion-ios-shirt-outline:before{content:"\f212"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-shuffle-outline:before{content:"\f4a9"}.ion-ios-skip-backward:before{content:"\f215"}.ion-ios-skip-backward-outline:before{content:"\f214"}.ion-ios-skip-forward:before{content:"\f217"}.ion-ios-skip-forward-outline:before{content:"\f216"}.ion-ios-snow:before{content:"\f218"}.ion-ios-snow-outline:before{content:"\f22c"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-speedometer-outline:before{content:"\f4af"}.ion-ios-square:before{content:"\f21a"}.ion-ios-square-outline:before{content:"\f219"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-half-outline:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stats:before{content:"\f21c"}.ion-ios-stats-outline:before{content:"\f21b"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-stopwatch-outline:before{content:"\f4b4"}.ion-ios-subway:before{content:"\f21e"}.ion-ios-subway-outline:before{content:"\f21d"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-sunny-outline:before{content:"\f4b6"}.ion-ios-swap:before{content:"\f21f"}.ion-ios-swap-outline:before{content:"\f21f"}.ion-ios-switch:before{content:"\f221"}.ion-ios-switch-outline:before{content:"\f220"}.ion-ios-sync:before{content:"\f222"}.ion-ios-sync-outline:before{content:"\f222"}.ion-ios-tablet-landscape:before{content:"\f223"}.ion-ios-tablet-landscape-outline:before{content:"\f223"}.ion-ios-tablet-portrait:before{content:"\f24e"}.ion-ios-tablet-portrait-outline:before{content:"\f24e"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-tennisball-outline:before{content:"\f4ba"}.ion-ios-text:before{content:"\f250"}.ion-ios-text-outline:before{content:"\f24f"}.ion-ios-thermometer:before{content:"\f252"}.ion-ios-thermometer-outline:before{content:"\f251"}.ion-ios-thumbs-down:before{content:"\f254"}.ion-ios-thumbs-down-outline:before{content:"\f253"}.ion-ios-thumbs-up:before{content:"\f256"}.ion-ios-thumbs-up-outline:before{content:"\f255"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-thunderstorm-outline:before{content:"\f4bc"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-time-outline:before{content:"\f4be"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-timer-outline:before{content:"\f4c0"}.ion-ios-train:before{content:"\f258"}.ion-ios-train-outline:before{content:"\f257"}.ion-ios-transgender:before{content:"\f259"}.ion-ios-transgender-outline:before{content:"\f259"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trash-outline:before{content:"\f4c4"}.ion-ios-trending-down:before{content:"\f25a"}.ion-ios-trending-down-outline:before{content:"\f25a"}.ion-ios-trending-up:before{content:"\f25b"}.ion-ios-trending-up-outline:before{content:"\f25b"}.ion-ios-trophy:before{content:"\f25d"}.ion-ios-trophy-outline:before{content:"\f25c"}.ion-ios-umbrella:before{content:"\f25f"}.ion-ios-umbrella-outline:before{content:"\f25e"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-undo-outline:before{content:"\f4c6"}.ion-ios-unlock:before{content:"\f261"}.ion-ios-unlock-outline:before{content:"\f260"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-videocam-outline:before{content:"\f4cc"}.ion-ios-volume-down:before{content:"\f262"}.ion-ios-volume-down-outline:before{content:"\f262"}.ion-ios-volume-mute:before{content:"\f263"}.ion-ios-volume-mute-outline:before{content:"\f263"}.ion-ios-volume-off:before{content:"\f264"}.ion-ios-volume-off-outline:before{content:"\f264"}.ion-ios-volume-up:before{content:"\f265"}.ion-ios-volume-up-outline:before{content:"\f265"}.ion-ios-walk:before{content:"\f266"}.ion-ios-walk-outline:before{content:"\f266"}.ion-ios-warning:before{content:"\f268"}.ion-ios-warning-outline:before{content:"\f267"}.ion-ios-watch:before{content:"\f269"}.ion-ios-watch-outline:before{content:"\f269"}.ion-ios-water:before{content:"\f26b"}.ion-ios-water-outline:before{content:"\f26a"}.ion-ios-wifi:before{content:"\f26d"}.ion-ios-wifi-outline:before{content:"\f26c"}.ion-ios-wine:before{content:"\f26f"}.ion-ios-wine-outline:before{content:"\f26e"}.ion-ios-woman:before{content:"\f271"}.ion-ios-woman-outline:before{content:"\f270"}.ion-logo-android:before{content:"\f225"}.ion-logo-angular:before{content:"\f227"}.ion-logo-apple:before{content:"\f229"}.ion-logo-bitcoin:before{content:"\f22b"}.ion-logo-buffer:before{content:"\f22d"}.ion-logo-chrome:before{content:"\f22f"}.ion-logo-codepen:before{content:"\f230"}.ion-logo-css3:before{content:"\f231"}.ion-logo-designernews:before{content:"\f232"}.ion-logo-dribbble:before{content:"\f233"}.ion-logo-dropbox:before{content:"\f234"}.ion-logo-euro:before{content:"\f235"}.ion-logo-facebook:before{content:"\f236"}.ion-logo-foursquare:before{content:"\f237"}.ion-logo-freebsd-devil:before{content:"\f238"}.ion-logo-github:before{content:"\f239"}.ion-logo-google:before{content:"\f23a"}.ion-logo-googleplus:before{content:"\f23b"}.ion-logo-hackernews:before{content:"\f23c"}.ion-logo-html5:before{content:"\f23d"}.ion-logo-instagram:before{content:"\f23e"}.ion-logo-javascript:before{content:"\f23f"}.ion-logo-linkedin:before{content:"\f240"}.ion-logo-markdown:before{content:"\f241"}.ion-logo-nodejs:before{content:"\f242"}.ion-logo-octocat:before{content:"\f243"}.ion-logo-pinterest:before{content:"\f244"}.ion-logo-playstation:before{content:"\f245"}.ion-logo-python:before{content:"\f246"}.ion-logo-reddit:before{content:"\f247"}.ion-logo-rss:before{content:"\f248"}.ion-logo-sass:before{content:"\f249"}.ion-logo-skype:before{content:"\f24a"}.ion-logo-snapchat:before{content:"\f24b"}.ion-logo-steam:before{content:"\f24c"}.ion-logo-tumblr:before{content:"\f24d"}.ion-logo-tux:before{content:"\f2ae"}.ion-logo-twitch:before{content:"\f2af"}.ion-logo-twitter:before{content:"\f2b0"}.ion-logo-usd:before{content:"\f2b1"}.ion-logo-vimeo:before{content:"\f2c4"}.ion-logo-whatsapp:before{content:"\f2c5"}.ion-logo-windows:before{content:"\f32f"}.ion-logo-wordpress:before{content:"\f330"}.ion-logo-xbox:before{content:"\f34c"}.ion-logo-yahoo:before{content:"\f34d"}.ion-logo-yen:before{content:"\f34e"}.ion-logo-youtube:before{content:"\f34f"}.ion-md-add:before{content:"\f273"}.ion-md-add-circle:before{content:"\f272"}.ion-md-alarm:before{content:"\f274"}.ion-md-albums:before{content:"\f275"}.ion-md-alert:before{content:"\f276"}.ion-md-american-football:before{content:"\f277"}.ion-md-analytics:before{content:"\f278"}.ion-md-aperture:before{content:"\f279"}.ion-md-apps:before{content:"\f27a"}.ion-md-appstore:before{content:"\f27b"}.ion-md-archive:before{content:"\f27c"}.ion-md-arrow-back:before{content:"\f27d"}.ion-md-arrow-down:before{content:"\f27e"}.ion-md-arrow-dropdown:before{content:"\f280"}.ion-md-arrow-dropdown-circle:before{content:"\f27f"}.ion-md-arrow-dropleft:before{content:"\f282"}.ion-md-arrow-dropleft-circle:before{content:"\f281"}.ion-md-arrow-dropright:before{content:"\f284"}.ion-md-arrow-dropright-circle:before{content:"\f283"}.ion-md-arrow-dropup:before{content:"\f286"}.ion-md-arrow-dropup-circle:before{content:"\f285"}.ion-md-arrow-forward:before{content:"\f287"}.ion-md-arrow-round-back:before{content:"\f288"}.ion-md-arrow-round-down:before{content:"\f289"}.ion-md-arrow-round-forward:before{content:"\f28a"}.ion-md-arrow-round-up:before{content:"\f28b"}.ion-md-arrow-up:before{content:"\f28c"}.ion-md-at:before{content:"\f28d"}.ion-md-attach:before{content:"\f28e"}.ion-md-backspace:before{content:"\f28f"}.ion-md-barcode:before{content:"\f290"}.ion-md-baseball:before{content:"\f291"}.ion-md-basket:before{content:"\f292"}.ion-md-basketball:before{content:"\f293"}.ion-md-battery-charging:before{content:"\f294"}.ion-md-battery-dead:before{content:"\f295"}.ion-md-battery-full:before{content:"\f296"}.ion-md-beaker:before{content:"\f297"}.ion-md-beer:before{content:"\f298"}.ion-md-bicycle:before{content:"\f299"}.ion-md-bluetooth:before{content:"\f29a"}.ion-md-boat:before{content:"\f29b"}.ion-md-body:before{content:"\f29c"}.ion-md-bonfire:before{content:"\f29d"}.ion-md-book:before{content:"\f29e"}.ion-md-bookmark:before{content:"\f29f"}.ion-md-bookmarks:before{content:"\f2a0"}.ion-md-bowtie:before{content:"\f2a1"}.ion-md-briefcase:before{content:"\f2a2"}.ion-md-browsers:before{content:"\f2a3"}.ion-md-brush:before{content:"\f2a4"}.ion-md-bug:before{content:"\f2a5"}.ion-md-build:before{content:"\f2a6"}.ion-md-bulb:before{content:"\f2a7"}.ion-md-bus:before{content:"\f2a8"}.ion-md-cafe:before{content:"\f2a9"}.ion-md-calculator:before{content:"\f2aa"}.ion-md-calendar:before{content:"\f2ab"}.ion-md-call:before{content:"\f2ac"}.ion-md-camera:before{content:"\f2ad"}.ion-md-car:before{content:"\f2b2"}.ion-md-card:before{content:"\f2b3"}.ion-md-cart:before{content:"\f2b4"}.ion-md-cash:before{content:"\f2b5"}.ion-md-chatboxes:before{content:"\f2b6"}.ion-md-chatbubbles:before{content:"\f2b7"}.ion-md-checkbox:before{content:"\f2b9"}.ion-md-checkbox-outline:before{content:"\f2b8"}.ion-md-checkmark:before{content:"\f2bc"}.ion-md-checkmark-circle:before{content:"\f2bb"}.ion-md-checkmark-circle-outline:before{content:"\f2ba"}.ion-md-clipboard:before{content:"\f2bd"}.ion-md-clock:before{content:"\f2be"}.ion-md-close:before{content:"\f2c0"}.ion-md-close-circle:before{content:"\f2bf"}.ion-md-closed-captioning:before{content:"\f2c1"}.ion-md-cloud:before{content:"\f2c9"}.ion-md-cloud-circle:before{content:"\f2c2"}.ion-md-cloud-done:before{content:"\f2c3"}.ion-md-cloud-download:before{content:"\f2c6"}.ion-md-cloud-outline:before{content:"\f2c7"}.ion-md-cloud-upload:before{content:"\f2c8"}.ion-md-cloudy:before{content:"\f2cb"}.ion-md-cloudy-night:before{content:"\f2ca"}.ion-md-code:before{content:"\f2ce"}.ion-md-code-download:before{content:"\f2cc"}.ion-md-code-working:before{content:"\f2cd"}.ion-md-cog:before{content:"\f2cf"}.ion-md-color-fill:before{content:"\f2d0"}.ion-md-color-filter:before{content:"\f2d1"}.ion-md-color-palette:before{content:"\f2d2"}.ion-md-color-wand:before{content:"\f2d3"}.ion-md-compass:before{content:"\f2d4"}.ion-md-construct:before{content:"\f2d5"}.ion-md-contact:before{content:"\f2d6"}.ion-md-contacts:before{content:"\f2d7"}.ion-md-contract:before{content:"\f2d8"}.ion-md-contrast:before{content:"\f2d9"}.ion-md-copy:before{content:"\f2da"}.ion-md-create:before{content:"\f2db"}.ion-md-crop:before{content:"\f2dc"}.ion-md-cube:before{content:"\f2dd"}.ion-md-cut:before{content:"\f2de"}.ion-md-desktop:before{content:"\f2df"}.ion-md-disc:before{content:"\f2e0"}.ion-md-document:before{content:"\f2e1"}.ion-md-done-all:before{content:"\f2e2"}.ion-md-download:before{content:"\f2e3"}.ion-md-easel:before{content:"\f2e4"}.ion-md-egg:before{content:"\f2e5"}.ion-md-exit:before{content:"\f2e6"}.ion-md-expand:before{content:"\f2e7"}.ion-md-eye:before{content:"\f2e9"}.ion-md-eye-off:before{content:"\f2e8"}.ion-md-fastforward:before{content:"\f2ea"}.ion-md-female:before{content:"\f2eb"}.ion-md-filing:before{content:"\f2ec"}.ion-md-film:before{content:"\f2ed"}.ion-md-finger-print:before{content:"\f2ee"}.ion-md-flag:before{content:"\f2ef"}.ion-md-flame:before{content:"\f2f0"}.ion-md-flash:before{content:"\f2f1"}.ion-md-flask:before{content:"\f2f2"}.ion-md-flower:before{content:"\f2f3"}.ion-md-folder:before{content:"\f2f5"}.ion-md-folder-open:before{content:"\f2f4"}.ion-md-football:before{content:"\f2f6"}.ion-md-funnel:before{content:"\f2f7"}.ion-md-game-controller-a:before{content:"\f2f8"}.ion-md-game-controller-b:before{content:"\f2f9"}.ion-md-git-branch:before{content:"\f2fa"}.ion-md-git-commit:before{content:"\f2fb"}.ion-md-git-compare:before{content:"\f2fc"}.ion-md-git-merge:before{content:"\f2fd"}.ion-md-git-network:before{content:"\f2fe"}.ion-md-git-pull-request:before{content:"\f2ff"}.ion-md-glasses:before{content:"\f300"}.ion-md-globe:before{content:"\f301"}.ion-md-grid:before{content:"\f302"}.ion-md-hammer:before{content:"\f303"}.ion-md-hand:before{content:"\f304"}.ion-md-happy:before{content:"\f305"}.ion-md-headset:before{content:"\f306"}.ion-md-heart:before{content:"\f308"}.ion-md-heart-outline:before{content:"\f307"}.ion-md-help:before{content:"\f30b"}.ion-md-help-buoy:before{content:"\f309"}.ion-md-help-circle:before{content:"\f30a"}.ion-md-home:before{content:"\f30c"}.ion-md-ice-cream:before{content:"\f30d"}.ion-md-image:before{content:"\f30e"}.ion-md-images:before{content:"\f30f"}.ion-md-infinite:before{content:"\f310"}.ion-md-information:before{content:"\f312"}.ion-md-information-circle:before{content:"\f311"}.ion-md-ionic:before{content:"\f313"}.ion-md-ionitron:before{content:"\f314"}.ion-md-jet:before{content:"\f315"}.ion-md-key:before{content:"\f316"}.ion-md-keypad:before{content:"\f317"}.ion-md-laptop:before{content:"\f318"}.ion-md-leaf:before{content:"\f319"}.ion-md-link:before{content:"\f22e"}.ion-md-list:before{content:"\f31b"}.ion-md-list-box:before{content:"\f31a"}.ion-md-locate:before{content:"\f31c"}.ion-md-lock:before{content:"\f31d"}.ion-md-log-in:before{content:"\f31e"}.ion-md-log-out:before{content:"\f31f"}.ion-md-magnet:before{content:"\f320"}.ion-md-mail:before{content:"\f322"}.ion-md-mail-open:before{content:"\f321"}.ion-md-male:before{content:"\f323"}.ion-md-man:before{content:"\f324"}.ion-md-map:before{content:"\f325"}.ion-md-medal:before{content:"\f326"}.ion-md-medical:before{content:"\f327"}.ion-md-medkit:before{content:"\f328"}.ion-md-megaphone:before{content:"\f329"}.ion-md-menu:before{content:"\f32a"}.ion-md-mic:before{content:"\f32c"}.ion-md-mic-off:before{content:"\f32b"}.ion-md-microphone:before{content:"\f32d"}.ion-md-moon:before{content:"\f32e"}.ion-md-more:before{content:"\f1c9"}.ion-md-move:before{content:"\f331"}.ion-md-musical-note:before{content:"\f332"}.ion-md-musical-notes:before{content:"\f333"}.ion-md-navigate:before{content:"\f334"}.ion-md-no-smoking:before{content:"\f335"}.ion-md-notifications:before{content:"\f338"}.ion-md-notifications-off:before{content:"\f336"}.ion-md-notifications-outline:before{content:"\f337"}.ion-md-nuclear:before{content:"\f339"}.ion-md-nutrition:before{content:"\f33a"}.ion-md-open:before{content:"\f33b"}.ion-md-options:before{content:"\f33c"}.ion-md-outlet:before{content:"\f33d"}.ion-md-paper:before{content:"\f33f"}.ion-md-paper-plane:before{content:"\f33e"}.ion-md-partly-sunny:before{content:"\f340"}.ion-md-pause:before{content:"\f341"}.ion-md-paw:before{content:"\f342"}.ion-md-people:before{content:"\f343"}.ion-md-person:before{content:"\f345"}.ion-md-person-add:before{content:"\f344"}.ion-md-phone-landscape:before{content:"\f346"}.ion-md-phone-portrait:before{content:"\f347"}.ion-md-photos:before{content:"\f348"}.ion-md-pie:before{content:"\f349"}.ion-md-pin:before{content:"\f34a"}.ion-md-pint:before{content:"\f34b"}.ion-md-pizza:before{content:"\f354"}.ion-md-plane:before{content:"\f355"}.ion-md-planet:before{content:"\f356"}.ion-md-play:before{content:"\f357"}.ion-md-podium:before{content:"\f358"}.ion-md-power:before{content:"\f359"}.ion-md-pricetag:before{content:"\f35a"}.ion-md-pricetags:before{content:"\f35b"}.ion-md-print:before{content:"\f35c"}.ion-md-pulse:before{content:"\f35d"}.ion-md-qr-scanner:before{content:"\f35e"}.ion-md-quote:before{content:"\f35f"}.ion-md-radio:before{content:"\f362"}.ion-md-radio-button-off:before{content:"\f360"}.ion-md-radio-button-on:before{content:"\f361"}.ion-md-rainy:before{content:"\f363"}.ion-md-recording:before{content:"\f364"}.ion-md-redo:before{content:"\f365"}.ion-md-refresh:before{content:"\f366"}.ion-md-refresh-circle:before{content:"\f228"}.ion-md-remove:before{content:"\f368"}.ion-md-remove-circle:before{content:"\f367"}.ion-md-reorder:before{content:"\f369"}.ion-md-repeat:before{content:"\f36a"}.ion-md-resize:before{content:"\f36b"}.ion-md-restaurant:before{content:"\f36c"}.ion-md-return-left:before{content:"\f36d"}.ion-md-return-right:before{content:"\f36e"}.ion-md-reverse-camera:before{content:"\f36f"}.ion-md-rewind:before{content:"\f370"}.ion-md-ribbon:before{content:"\f371"}.ion-md-rose:before{content:"\f372"}.ion-md-sad:before{content:"\f373"}.ion-md-school:before{content:"\f374"}.ion-md-search:before{content:"\f375"}.ion-md-send:before{content:"\f376"}.ion-md-settings:before{content:"\f377"}.ion-md-share:before{content:"\f379"}.ion-md-share-alt:before{content:"\f378"}.ion-md-shirt:before{content:"\f37a"}.ion-md-shuffle:before{content:"\f37b"}.ion-md-skip-backward:before{content:"\f37c"}.ion-md-skip-forward:before{content:"\f37d"}.ion-md-snow:before{content:"\f37e"}.ion-md-speedometer:before{content:"\f37f"}.ion-md-square:before{content:"\f381"}.ion-md-square-outline:before{content:"\f380"}.ion-md-star:before{content:"\f384"}.ion-md-star-half:before{content:"\f382"}.ion-md-star-outline:before{content:"\f383"}.ion-md-stats:before{content:"\f385"}.ion-md-stopwatch:before{content:"\f386"}.ion-md-subway:before{content:"\f387"}.ion-md-sunny:before{content:"\f388"}.ion-md-swap:before{content:"\f389"}.ion-md-switch:before{content:"\f38a"}.ion-md-sync:before{content:"\f38b"}.ion-md-tablet-landscape:before{content:"\f38c"}.ion-md-tablet-portrait:before{content:"\f38d"}.ion-md-tennisball:before{content:"\f38e"}.ion-md-text:before{content:"\f38f"}.ion-md-thermometer:before{content:"\f390"}.ion-md-thumbs-down:before{content:"\f391"}.ion-md-thumbs-up:before{content:"\f392"}.ion-md-thunderstorm:before{content:"\f393"}.ion-md-time:before{content:"\f394"}.ion-md-timer:before{content:"\f395"}.ion-md-train:before{content:"\f396"}.ion-md-transgender:before{content:"\f397"}.ion-md-trash:before{content:"\f398"}.ion-md-trending-down:before{content:"\f399"}.ion-md-trending-up:before{content:"\f39a"}.ion-md-trophy:before{content:"\f39b"}.ion-md-umbrella:before{content:"\f39c"}.ion-md-undo:before{content:"\f39d"}.ion-md-unlock:before{content:"\f39e"}.ion-md-videocam:before{content:"\f39f"}.ion-md-volume-down:before{content:"\f3a0"}.ion-md-volume-mute:before{content:"\f3a1"}.ion-md-volume-off:before{content:"\f3a2"}.ion-md-volume-up:before{content:"\f3a3"}.ion-md-walk:before{content:"\f3a4"}.ion-md-warning:before{content:"\f3a5"}.ion-md-watch:before{content:"\f3a6"}.ion-md-water:before{content:"\f3a7"}.ion-md-wifi:before{content:"\f3a8"}.ion-md-wine:before{content:"\f3a9"}.ion-md-woman:before{content:"\f3aa"}@font-face{font-family:Ionicons;src:url(../assets/fonts/ionicons.woff2?v=3.0.0-alpha.3) format("woff2"),url(../assets/fonts/ionicons.woff?v=3.0.0-alpha.3) format("woff"),url(../assets/fonts/ionicons.ttf?v=3.0.0-alpha.3) format("truetype");font-weight:400;font-style:normal}ion-icon{display:inline-block;font-family:Ionicons;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-rendering:auto;text-transform:none;speak:none}ion-icon::before{display:inline-block}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(../assets/fonts/roboto-light.woff2) format("woff2"),url(../assets/fonts/roboto-light.woff) format("woff"),url(../assets/fonts/roboto-light.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url(../assets/fonts/roboto-regular.woff2) format("woff2"),url(../assets/fonts/roboto-regular.woff) format("woff"),url(../assets/fonts/roboto-regular.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local("Roboto Medium"),local("Roboto-Medium"),url(../assets/fonts/roboto-medium.woff2) format("woff2"),url(../assets/fonts/roboto-medium.woff) format("woff"),url(../assets/fonts/roboto-medium.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(../assets/fonts/roboto-bold.woff2) format("woff2"),url(../assets/fonts/roboto-bold.woff) format("woff"),url(../assets/fonts/roboto-bold.ttf) format("truetype")}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:300;src:local("Noto Sans"),local("Noto-Sans-Regular"),url(../assets/fonts/noto-sans-regular.woff) format("woff"),url(../assets/fonts/noto-sans-regular.ttf) format("truetype")}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:400;src:local("Noto Sans"),local("Noto-Sans-Regular"),url(../assets/fonts/noto-sans-regular.woff) format("woff"),url(../assets/fonts/noto-sans-regular.ttf) format("truetype")}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:500;src:local("Noto Sans Bold"),local("Noto-Sans-Bold"),url(../assets/fonts/noto-sans-bold.woff) format("woff"),url(../assets/fonts/noto-sans-bold.ttf) format("truetype")}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:700;src:local("Noto Sans Bold"),local("Noto-Sans-Bold"),url(../assets/fonts/noto-sans-bold.woff) format("woff"),url(../assets/fonts/noto-sans-bold.ttf) format("truetype")}ion-action-sheet{left:0;top:0;position:absolute;z-index:1000;display:block;width:100%;height:100%}.action-sheet-wrapper{left:0;right:0;top:0;bottom:0;margin:auto;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);position:absolute;z-index:10;display:block;width:100%;max-width:500px;pointer-events:none}.action-sheet-button{width:100%}.action-sheet-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group{overflow:scroll;-webkit-flex-shrink:2;-ms-flex-negative:2;flex-shrink:2;pointer-events:all}.action-sheet-group-cancel{overflow:hidden;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.action-sheet-ios{text-align:center}.action-sheet-ios .action-sheet-wrapper{margin:constant(safe-area-inset-top) auto constant(safe-area-inset-bottom);margin:env(safe-area-inset-top) auto env(safe-area-inset-bottom)}.action-sheet-ios .action-sheet-container{padding:0 10px}.action-sheet-ios .action-sheet-group{border-radius:13px;margin-bottom:8px;background:#f9f9f9}.action-sheet-ios .action-sheet-group:first-child{margin-top:10px}.action-sheet-ios .action-sheet-group:last-child{margin-bottom:10px}.action-sheet-ios .action-sheet-title{padding:1.5rem;text-align:center;border-radius:0;border-bottom:.55px solid #d6d6da;font-size:1.3rem;font-weight:400;color:#8f8f8f}.action-sheet-ios .action-sheet-button{margin:0;padding:18px;min-height:5.6rem;border-bottom:.55px solid #d6d6da;font-size:2rem;color:#007aff;background:0 0}.action-sheet-ios .action-sheet-button:last-child{border-bottom-color:transparent}.action-sheet-ios .action-sheet-button.activated{margin-top:-.55px;border-top:.55px solid #ebebeb;border-bottom-color:#ebebeb;background:#ebebeb}.action-sheet-ios .action-sheet-selected{font-weight:700;background:#fff}.action-sheet-ios .action-sheet-destructive{color:#f53d3d}.action-sheet-ios .action-sheet-cancel{font-weight:600;background:#fff}.action-sheet-md .action-sheet-title{text-align:left;text-align:start;font-size:1.6rem;color:#757575;padding:11px 16px 17px}.action-sheet-md .action-sheet-button{text-align:left;text-align:start;position:relative;overflow:hidden;min-height:4.8rem;font-size:1.6rem;color:#222;background:0 0;padding:0 16px}.action-sheet-md .action-sheet-button.activated{background:#f1f1f1}.action-sheet-md .action-sheet-icon{padding:0;text-align:center;width:2.3rem;font-size:2.4rem;vertical-align:middle;margin:0 32px 0 0}.action-sheet-md .action-sheet-group{background:#fafafa}.action-sheet-md .action-sheet-group:first-child{padding-top:.8rem}.action-sheet-md .action-sheet-group:last-child{padding-bottom:.8rem}.action-sheet-md .action-sheet-group .button-inner{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.action-sheet-md .action-sheet-selected{font-weight:700}.action-sheet-wp .action-sheet-title{text-align:left;text-align:start;font-size:2rem;color:#4d4d4d;padding:11px 16px 17px}.action-sheet-wp .action-sheet-button{text-align:left;text-align:start;min-height:4.8rem;font-size:1.5rem;color:#4d4d4d;background:0 0;padding:0 16px}.action-sheet-wp .action-sheet-button.activated{background:#aaa}.action-sheet-wp .action-sheet-icon{padding:0;text-align:center;width:2.3rem;font-size:2.4rem;vertical-align:middle;margin:0 20px 0 0}.action-sheet-wp .action-sheet-group{background:#fff}.action-sheet-wp .action-sheet-group:first-child{padding-top:.8rem;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.2);box-shadow:0 -1px 0 rgba(0,0,0,.2)}.action-sheet-wp .action-sheet-group:last-child{padding-bottom:.8rem}.action-sheet-wp .action-sheet-group .button-inner{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.action-sheet-wp .action-sheet-selected{font-weight:700}.action-sheet-wp .action-sheet-cancel{background:0 0}ion-alert{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;contain:strict}ion-alert.alert-top{padding-top:50px;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}ion-alert input{width:100%}.alert-wrapper{z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-width:250px;max-height:90%;opacity:0;contain:content}.alert-title{margin:0;padding:0}.alert-sub-title{margin:5px 0 0;padding:0;font-weight:400}.alert-message{overflow-y:scroll;-webkit-overflow-scrolling:touch}.alert-input{padding:10px 0;border:0;background:inherit}.alert-input::-moz-placeholder{color:#999}.alert-input:-ms-input-placeholder{color:#999}.alert-input::-webkit-input-placeholder{text-indent:0;color:#999}.alert-button-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.alert-button-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button{margin:0;z-index:0;display:block;font-size:14px;line-height:20px}.alert-tappable{text-align:left;text-align:start;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;margin:0;padding:0;width:100%;font-size:inherit;line-height:initial;background:0 0}.alert-ios .alert-wrapper{border-radius:13px;overflow:hidden;max-width:270px;background-color:#f8f8f8;-webkit-box-shadow:none;box-shadow:none}.alert-ios .alert-head{text-align:center;padding:12px 16px 7px}.alert-ios .alert-title{margin-top:8px;font-size:17px;font-weight:600}.alert-ios .alert-sub-title{font-size:14px;color:#666}.alert-ios .alert-input-group,.alert-ios .alert-message{text-align:center;font-size:13px;color:inherit;padding:0 16px 21px}.alert-ios .alert-message{max-height:240px}.alert-ios .alert-message:empty{padding:0 0 12px}.alert-ios .alert-input{-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;margin-top:10px;border-radius:4px;border:.55px solid #ccc;background-color:#fff;padding:6px}.alert-ios .alert-checkbox-group,.alert-ios .alert-radio-group{overflow:scroll;max-height:240px;border-top:.55px solid #dbdbdf;-webkit-overflow-scrolling:touch}.alert-ios .alert-tappable{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:44px}.alert-ios .alert-radio-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px}.alert-ios [aria-checked=true] .alert-radio-label{color:#673ab7}.alert-ios .alert-radio-icon{position:relative;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;min-width:30px}.alert-ios [aria-checked=true] .alert-radio-inner{left:7px;top:-7px;position:absolute;width:6px;height:12px;border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#673ab7;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.alert-ios .alert-checkbox-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px}.alert-ios [aria-checked=true] .alert-checkbox-label{color:initial}.alert-ios .alert-checkbox-icon{border-radius:50%;position:relative;width:21px;height:21px;border-width:.55px;border-style:solid;border-color:#c8c7cc;background-color:#fff;margin:10px 6px 10px 16px}.alert-ios [aria-checked=true] .alert-checkbox-icon{border-color:#673ab7;background-color:#673ab7}.alert-ios [aria-checked=true] .alert-checkbox-inner{left:7px;top:4px;position:absolute;width:4px;height:9px;border-width:.55px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.alert-ios .alert-button-group{margin-right:-.55px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.alert-ios .alert-button{margin:0;border-radius:0;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:44px;border-top:.55px solid #dbdbdf;border-right:.55px solid #dbdbdf;font-size:17px;color:#673ab7;background-color:transparent}.alert-ios .alert-button:last-child{border-right:0;font-weight:700}.alert-ios .alert-button.activated{background-color:#e9e9e9}.alert-md .alert-wrapper{border-radius:2px;max-width:280px;background-color:#fafafa;-webkit-box-shadow:0 16px 20px rgba(0,0,0,.4);box-shadow:0 16px 20px rgba(0,0,0,.4)}.alert-md .alert-head{text-align:left;text-align:start;padding:24px 24px 20px}.alert-md .alert-title{font-size:22px}.alert-md .alert-sub-title{font-size:16px}.alert-md .alert-input-group,.alert-md .alert-message{color:rgba(0,0,0,.5);padding:0 24px 24px}.alert-md .alert-message{max-height:240px;font-size:15px}.alert-md .alert-message:empty{padding:0}.alert-md .alert-input{margin:5px 0;border-bottom:1px solid #dedede;color:#000}.alert-md .alert-input:focus{margin-bottom:4px;border-bottom:2px solid #673ab7}.alert-md .alert-checkbox-group,.alert-md .alert-radio-group{position:relative;overflow:auto;max-height:240px;border-top:1px solid #dedede;border-bottom:1px solid #dedede}.alert-md .alert-tappable{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;min-height:4.4rem}.alert-md .alert-radio-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px 26px}.alert-md .alert-radio-icon{left:13px;top:0;border-radius:50%;position:relative;display:block;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#787878}.alert-md .alert-radio-inner{left:2px;top:2px;border-radius:50%;position:absolute;width:8px;height:8px;background-color:#673ab7;-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0);-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1);transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1);transition:transform 280ms cubic-bezier(.4,0,.2,1);transition:transform 280ms cubic-bezier(.4,0,.2,1),-webkit-transform 280ms cubic-bezier(.4,0,.2,1)}.alert-md [aria-checked=true] .alert-radio-label{color:#673ab7}.alert-md [aria-checked=true] .alert-radio-icon{border-color:#673ab7}.alert-md [aria-checked=true] .alert-radio-inner{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.alert-md .alert-checkbox-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px 26px}.alert-md [aria-checked=true] .alert-checkbox-label{color:initial}.alert-md .alert-checkbox-icon{left:13px;top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#787878}.alert-md [aria-checked=true] .alert-checkbox-icon{border-color:#673ab7;background-color:#673ab7}.alert-md [aria-checked=true] .alert-checkbox-inner{left:3px;top:0;position:absolute;width:6px;height:10px;border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.alert-md .alert-button-group{-webkit-flex-wrap:wrap-reverse;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:8px 8px 8px 24px}.alert-md .alert-button{text-align:right;text-align:end;border-radius:2px;position:relative;overflow:hidden;font-weight:500;text-transform:uppercase;color:#673ab7;background-color:transparent;margin:0 8px 0 0;padding:10px}.alert-md .alert-button.activated{background-color:rgba(158,158,158,.2)}.alert-md .alert-button .button-inner{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.alert-wp ion-backdrop{background:#fff}.alert-wp .alert-wrapper{border-radius:0;width:100%;max-width:520px;border:1px solid #673ab7;background:#e6e6e6}.alert-wp .alert-head{text-align:left;text-align:start;padding:20px 22px 5px}.alert-wp .alert-title{font-size:20px;font-weight:400}.alert-wp .alert-sub-title{font-size:16px}.alert-wp .alert-input-group,.alert-wp .alert-message{color:#000;padding:0 22px 8px}.alert-wp .alert-message{max-height:240px;font-size:13px}.alert-wp .alert-message:empty{padding:0}.alert-wp .alert-input{border:2px solid rgba(0,0,0,.5);line-height:3rem;color:#000;margin:5px 0;padding:0 8px}.alert-wp .alert-input:focus{border-color:#673ab7}.alert-wp .alert-checkbox-group,.alert-wp .alert-radio-group{position:relative;overflow:auto;max-height:240px}.alert-wp .alert-tappable{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;min-height:4.4rem}.alert-wp .alert-radio-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px 26px}.alert-wp .alert-radio-icon{left:13px;top:0;margin:0;border-radius:50%;position:relative;display:block;width:16px;height:16px;border-width:2px;border-style:solid;border-color:rgba(0,0,0,.5)}.alert-wp .alert-radio-inner{left:2px;top:2px;border-radius:50%;position:absolute;display:none;width:8px;height:8px;background:#673ab7}.alert-wp [aria-checked=true] .alert-radio-label{color:#000}.alert-wp [aria-checked=true] .alert-radio-icon{border-color:rgba(0,0,0,.5)}.alert-wp [aria-checked=true] .alert-radio-inner{display:block}.alert-wp .alert-checkbox-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px 26px}.alert-wp [aria-checked=true] .alert-checkbox-label{color:initial}.alert-wp .alert-checkbox-icon{left:13px;top:0;border-radius:0;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:rgba(0,0,0,.5);background:0 0}.alert-wp [aria-checked=true] .alert-checkbox-icon{border-color:#673ab7;background:#673ab7}.alert-wp [aria-checked=true] .alert-checkbox-inner{left:3px;top:-2px;position:absolute;width:6px;height:12px;border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.alert-wp .alert-button-group{-webkit-flex-wrap:wrap-reverse;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:20px 22px}.alert-wp .alert-button-group-vertical .alert-button{margin-top:5px;width:100%}.alert-wp .alert-button-group-vertical .alert-button:first-child:not(:only-child){margin-right:0;margin-top:0}.alert-wp .alert-button{border-radius:0;width:49.5%;font-weight:400;color:#000;background:#b8b8b8;padding:5px}.alert-wp .alert-button:first-child:not(:only-child){margin-right:1%}.alert-wp .alert-button.activated{background:#a9a9a9}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%;border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:1px;border-width:0;-webkit-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}input,label,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::-webkit-input-placeholder{padding-left:2px}textarea:-ms-input-placeholder{padding-left:2px}textarea::-ms-input-placeholder{padding-left:2px}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}[tappable],[tappable] div,[tappable] ion-icon,[tappable] ion-label,[tappable] span,a,a div,a ion-icon,a ion-label,a span,button,button div,button ion-icon,button ion-label,button span,input,textarea{-ms-touch-action:manipulation;touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{border:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hide,[hidden],template{display:none!important}.sticky{position:-webkit-sticky;position:sticky;top:0}:active,:focus{outline:0}.focus-outline :focus{outline:thin dotted;outline-offset:-1px}.focus-outline [ion-button]:focus,.focus-outline button:focus{border-color:#51a7e8;outline:2px solid #51a7e8;-webkit-box-shadow:0 0 8px 1px #51a7e8;box-shadow:0 0 8px 1px #51a7e8}ion-input :focus{outline:0}.click-block{display:none}.click-block-enabled{left:0;right:0;top:0;bottom:0;-webkit-transform:translate3d(0,-100%,0) translateY(1px);transform:translate3d(0,-100%,0) translateY(1px);position:absolute;z-index:99999;display:block;opacity:0;contain:strict}.click-block-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;font-size:62.5%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;position:fixed;overflow:hidden;width:100%;max-width:100%;height:100%;max-height:100%;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-user-drag:none;-ms-content-zooming:none;-ms-touch-action:manipulation;touch-action:manipulation;word-wrap:break-word;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}a{background-color:transparent}.enable-hover a:hover{opacity:.7}h1,h2,h3,h4,h5,h6{margin-top:1.6rem;margin-bottom:1rem;font-weight:500;line-height:1.2}[padding] h1:first-child,[padding] h2:first-child,[padding] h3:first-child,[padding] h4:first-child,[padding] h5:first-child,[padding] h6:first-child{margin-top:-.3rem}h1+h2,h1+h3,h2+h3{margin-top:-.3rem}h1{margin-top:2rem;font-size:2.6rem}h2{margin-top:1.8rem;font-size:2.4rem}h3{font-size:2.2rem}h4{font-size:2rem}h5{font-size:1.8rem}h6{font-size:1.6rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.app-root,ion-app,ion-nav,ion-tab,ion-tabs{left:0;top:0;position:absolute;z-index:0;display:block;width:100%;height:100%}ion-nav,ion-tab,ion-tabs{overflow:hidden}ion-tab{display:none}ion-tab.show-tab{display:block}.app-root,.ion-page,ion-app,ion-nav,ion-tab,ion-tabs{contain:strict}.ion-page{left:0;top:0;position:absolute;display:block;width:100%;height:100%;opacity:0}.ion-page.show-page{opacity:1}ion-header{left:0;top:0;position:absolute;z-index:10;display:block;width:100%}ion-footer{left:0;bottom:0;position:absolute;z-index:10;display:block;width:100%}.nav-decor,[app-viewport],[nav-viewport],[overlay-portal],[tab-portal]{display:none}[text-center]{text-align:center!important}[text-justify]{text-align:justify!important}[text-start]{text-align:left;text-align:start!important}[text-end]{text-align:right;text-align:end!important}[text-left]{text-align:left!important}[text-right]{text-align:right!important}[text-nowrap]{white-space:nowrap!important}[text-wrap]{white-space:normal!important}@media (min-width:576px){[text-sm-center]{text-align:center!important}[text-sm-justify]{text-align:justify!important}[text-sm-start]{text-align:left;text-align:start!important}[text-sm-end]{text-align:right;text-align:end!important}[text-sm-left]{text-align:left!important}[text-sm-right]{text-align:right!important}[text-sm-nowrap]{white-space:nowrap!important}[text-sm-wrap]{white-space:normal!important}}@media (min-width:768px){[text-md-center]{text-align:center!important}[text-md-justify]{text-align:justify!important}[text-md-start]{text-align:left;text-align:start!important}[text-md-end]{text-align:right;text-align:end!important}[text-md-left]{text-align:left!important}[text-md-right]{text-align:right!important}[text-md-nowrap]{white-space:nowrap!important}[text-md-wrap]{white-space:normal!important}}@media (min-width:992px){[text-lg-center]{text-align:center!important}[text-lg-justify]{text-align:justify!important}[text-lg-start]{text-align:left;text-align:start!important}[text-lg-end]{text-align:right;text-align:end!important}[text-lg-left]{text-align:left!important}[text-lg-right]{text-align:right!important}[text-lg-nowrap]{white-space:nowrap!important}[text-lg-wrap]{white-space:normal!important}}@media (min-width:1200px){[text-xl-center]{text-align:center!important}[text-xl-justify]{text-align:justify!important}[text-xl-start]{text-align:left;text-align:start!important}[text-xl-end]{text-align:right;text-align:end!important}[text-xl-left]{text-align:left!important}[text-xl-right]{text-align:right!important}[text-xl-nowrap]{white-space:nowrap!important}[text-xl-wrap]{white-space:normal!important}}[text-uppercase]{text-transform:uppercase!important}[text-lowercase]{text-transform:lowercase!important}[text-capitalize]{text-transform:capitalize!important}@media (min-width:576px){[text-sm-uppercase]{text-transform:uppercase!important}[text-sm-lowercase]{text-transform:lowercase!important}[text-sm-capitalize]{text-transform:capitalize!important}}@media (min-width:768px){[text-md-uppercase]{text-transform:uppercase!important}[text-md-lowercase]{text-transform:lowercase!important}[text-md-capitalize]{text-transform:capitalize!important}}@media (min-width:992px){[text-lg-uppercase]{text-transform:uppercase!important}[text-lg-lowercase]{text-transform:lowercase!important}[text-lg-capitalize]{text-transform:capitalize!important}}@media (min-width:1200px){[text-xl-uppercase]{text-transform:uppercase!important}[text-xl-lowercase]{text-transform:lowercase!important}[text-xl-capitalize]{text-transform:capitalize!important}}[float-left]{float:left!important}[float-right]{float:right!important}[float-start]{float:left!important}[float-end]{float:right!important}@media (min-width:576px){[float-sm-left]{float:left!important}[float-sm-right]{float:right!important}[float-sm-start]{float:left!important}[float-sm-end]{float:right!important}}@media (min-width:768px){[float-md-left]{float:left!important}[float-md-right]{float:right!important}[float-md-start]{float:left!important}[float-md-end]{float:right!important}}@media (min-width:992px){[float-lg-left]{float:left!important}[float-lg-right]{float:right!important}[float-lg-start]{float:left!important}[float-lg-end]{float:right!important}}@media (min-width:1200px){[float-xl-left]{float:left!important}[float-xl-right]{float:right!important}[float-xl-start]{float:left!important}[float-xl-end]{float:right!important}}ion-app.ios{font-family:-apple-system,"Helvetica Neue",Roboto,sans-serif;font-size:1.4rem;background-color:#fff}ion-app.md{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:1.4rem;background-color:#fff}ion-app.wp{font-family:"Segoe UI","Noto Sans",sans-serif;font-size:1.4rem;background-color:#fff}ion-backdrop{left:0;top:0;position:absolute;z-index:2;display:block;width:100%;height:100%;background-color:#000;opacity:.01;-webkit-transform:translateZ(0);transform:translateZ(0)}ion-backdrop.backdrop-no-tappable{cursor:auto}ion-badge{padding:3px 8px;text-align:center;display:inline-block;min-width:10px;font-size:1.3rem;font-weight:700;line-height:1;white-space:nowrap;vertical-align:baseline}ion-badge:empty{display:none}.badge-ios{border-radius:10px;color:#fff;background-color:#673ab7}.badge-ios-primary{color:#fff;background-color:#673ab7}.badge-ios-secondary{color:#fff;background-color:#32db64}.badge-ios-danger{color:#fff;background-color:#f53d3d}.badge-ios-light{color:#000;background-color:#f4f4f4}.badge-ios-dark{color:#fff;background-color:#222}.badge-ios-optblue{color:#fff;background-color:#e00201}.badge-md{border-radius:4px;color:#fff;background-color:#673ab7}.badge-md-primary{color:#fff;background-color:#673ab7}.badge-md-secondary{color:#fff;background-color:#32db64}.badge-md-danger{color:#fff;background-color:#f53d3d}.badge-md-light{color:#000;background-color:#f4f4f4}.badge-md-dark{color:#fff;background-color:#222}.badge-md-optblue{color:#fff;background-color:#e00201}.badge-wp{border-radius:0;color:#fff;background-color:#673ab7}.badge-wp-primary{color:#fff;background-color:#673ab7}.badge-wp-secondary{color:#fff;background-color:#32db64}.badge-wp-danger{color:#fff;background-color:#f53d3d}.badge-wp-light{color:#000;background-color:#f4f4f4}.badge-wp-dark{color:#fff;background-color:#222}.badge-wp-optblue{color:#fff;background-color:#e00201}.button{text-align:center;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;position:relative;z-index:0;display:inline-block;text-overflow:ellipsis;text-transform:none;white-space:nowrap;cursor:pointer;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-transition:background-color,opacity .1s linear;transition:background-color,opacity .1s linear;-webkit-font-kerning:none;font-kerning:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;contain:content}.button-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}[ion-button]{text-decoration:none}[ion-button][disabled],a[disabled],button[disabled]{cursor:default;opacity:.4;pointer-events:none}.button-block{display:block;clear:both;width:100%;contain:strict}.button-block::after{clear:both}.button-full{display:block;width:100%;contain:strict}.button-full.button-outline{border-radius:0;border-right-width:0;border-left-width:0}[icon-left] ion-icon,[icon-start] ion-icon{font-size:1.4em;line-height:.67;pointer-events:none;padding-right:.3em}[icon-end] ion-icon,[icon-right] ion-icon{font-size:1.4em;line-height:.67;pointer-events:none;padding-left:.4em}.button[icon-only]{padding:0;min-width:.9em}[icon-only] ion-icon{padding:0 .5em;font-size:1.8em;line-height:.67;pointer-events:none}.button-ios{border-radius:4px;height:2.8em;font-size:1.6rem;color:#fff;background-color:#673ab7;margin:.4rem .2rem;padding:0 1em}.button-ios.activated{background-color:#734abd;opacity:1}.button-ios:hover:not(.disable-hover){opacity:.8}.button-large-ios{height:2.8em;font-size:2rem;padding:0 1em}.button-small-ios{height:2.1em;font-size:1.3rem;padding:0 .9em}.button-small-ios[icon-only] ion-icon{font-size:1.3em}.button-block-ios{margin-left:0;margin-right:0}.button-full-ios{margin-left:0;margin-right:0;border-radius:0;border-right-width:0;border-left-width:0}.button-outline-ios{border-radius:4px;border-width:1px;border-style:solid;border-color:#673ab7;color:#673ab7;background-color:transparent}.button-outline-ios.activated{color:#fff;background-color:#673ab7;opacity:1}.button-clear-ios{border-color:transparent;color:#673ab7;background-color:transparent}.button-clear-ios.activated{background-color:transparent;opacity:.4}.button-clear-ios:hover:not(.disable-hover){color:#673ab7;opacity:.6}.button-round-ios{border-radius:64px;padding:0 2.6rem}.button-ios-primary{color:#fff;background-color:#673ab7}.button-ios-primary.activated{background-color:#734abd}.button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.button-clear-ios-primary{border-color:transparent;color:#673ab7;background-color:transparent}.button-clear-ios-primary.activated{opacity:.4}.button-clear-ios-primary:hover:not(.disable-hover){color:#673ab7}.button-ios-secondary{color:#fff;background-color:#32db64}.button-ios-secondary.activated{background-color:#2ec95c}.button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.button-clear-ios-secondary{border-color:transparent;color:#32db64;background-color:transparent}.button-clear-ios-secondary.activated{opacity:.4}.button-clear-ios-secondary:hover:not(.disable-hover){color:#32db64}.button-ios-danger{color:#fff;background-color:#f53d3d}.button-ios-danger.activated{background-color:#e13838}.button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.button-clear-ios-danger{border-color:transparent;color:#f53d3d;background-color:transparent}.button-clear-ios-danger.activated{opacity:.4}.button-clear-ios-danger:hover:not(.disable-hover){color:#f53d3d}.button-ios-light{color:#000;background-color:#f4f4f4}.button-ios-light.activated{background-color:#e0e0e0}.button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.button-clear-ios-light{border-color:transparent;color:#f4f4f4;background-color:transparent}.button-clear-ios-light.activated{opacity:.4}.button-clear-ios-light:hover:not(.disable-hover){color:#f4f4f4}.button-ios-dark{color:#fff;background-color:#222}.button-ios-dark.activated{background-color:#343434}.button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.button-outline-ios-dark.activated{color:#fff;background-color:#222}.button-clear-ios-dark{border-color:transparent;color:#222;background-color:transparent}.button-clear-ios-dark.activated{opacity:.4}.button-clear-ios-dark:hover:not(.disable-hover){color:#222}.button-ios-optblue{color:#fff;background-color:#e00201}.button-ios-optblue.activated{background-color:#e21615}.button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.button-clear-ios-optblue{border-color:transparent;color:#e00201;background-color:transparent}.button-clear-ios-optblue.activated{opacity:.4}.button-clear-ios-optblue:hover:not(.disable-hover){color:#e00201}.button-strong-ios{font-weight:600}.button-md{border-radius:2px;overflow:hidden;height:3.6rem;font-size:1.4rem;font-weight:500;text-transform:uppercase;color:#fff;background-color:#673ab7;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);margin:.4rem .2rem;padding:0 1.1em}.button-md:hover:not(.disable-hover){background-color:#673ab7}.button-md.activated{background-color:#734abd;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.14),0 3px 5px rgba(0,0,0,.21),0 0 0 0 transparent;box-shadow:0 3px 5px rgba(0,0,0,.14),0 3px 5px rgba(0,0,0,.21),0 0 0 0 transparent}.button-md .button-effect{background-color:#fff}.button-large-md{height:2.8em;font-size:2rem;padding:0 1em}.button-small-md{height:2.1em;font-size:1.3rem;padding:0 .9em}.button-small-md[icon-only] ion-icon{font-size:1.4em}.button-block-md{margin-left:0;margin-right:0}.button-full-md{margin-left:0;margin-right:0;border-radius:0;border-right-width:0;border-left-width:0}.button-outline-md{border-width:1px;border-style:solid;border-color:#673ab7;color:#673ab7;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.button-outline-md:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md.activated{background-color:transparent;-webkit-box-shadow:none;box-shadow:none;opacity:1}.button-outline-md .button-effect{background-color:#673ab7}.button-clear-md{border-color:transparent;color:#673ab7;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;opacity:1}.button-clear-md.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-clear-md .button-effect{background-color:#999}.button-round-md{border-radius:64px;padding:0 2.6rem}.button-md [icon-only]{padding:0}.button-effect{border-radius:50%;-webkit-transform-origin:center center;transform-origin:center center;position:absolute;z-index:0;display:none;background-color:#555;opacity:.2;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;pointer-events:none;top:0;left:0}.md button .button-effect{display:block}.button-md-primary{color:#fff;background-color:#673ab7}.button-md-primary:hover:not(.disable-hover){background-color:#673ab7}.button-md-primary.activated{background-color:#734abd;opacity:1}.button-md-primary .button-effect{background-color:#fff}.button-outline-md-primary{border-color:#6f44bb;color:#6f44bb;background-color:transparent}.button-outline-md-primary:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-primary.activated{background-color:transparent}.button-outline-md-primary .button-effect{background-color:#6f44bb}.button-clear-md-primary{border-color:transparent;color:#673ab7;background-color:transparent}.button-clear-md-primary.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-primary:hover:not(.disable-hover){color:#673ab7}.button-md-secondary{color:#fff;background-color:#32db64}.button-md-secondary:hover:not(.disable-hover){background-color:#32db64}.button-md-secondary.activated{background-color:#2ec95c;opacity:1}.button-md-secondary .button-effect{background-color:#fff}.button-outline-md-secondary{border-color:#30d05f;color:#30d05f;background-color:transparent}.button-outline-md-secondary:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-secondary.activated{background-color:transparent}.button-outline-md-secondary .button-effect{background-color:#30d05f}.button-clear-md-secondary{border-color:transparent;color:#32db64;background-color:transparent}.button-clear-md-secondary.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-secondary:hover:not(.disable-hover){color:#32db64}.button-md-danger{color:#fff;background-color:#f53d3d}.button-md-danger:hover:not(.disable-hover){background-color:#f53d3d}.button-md-danger.activated{background-color:#e13838;opacity:1}.button-md-danger .button-effect{background-color:#fff}.button-outline-md-danger{border-color:#e93a3a;color:#e93a3a;background-color:transparent}.button-outline-md-danger:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-danger.activated{background-color:transparent}.button-outline-md-danger .button-effect{background-color:#e93a3a}.button-clear-md-danger{border-color:transparent;color:#f53d3d;background-color:transparent}.button-clear-md-danger.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-danger:hover:not(.disable-hover){color:#f53d3d}.button-md-light{color:#000;background-color:#f4f4f4}.button-md-light:hover:not(.disable-hover){background-color:#f4f4f4}.button-md-light.activated{background-color:#e0e0e0;opacity:1}.button-md-light .button-effect{background-color:#000}.button-outline-md-light{border-color:#e8e8e8;color:#e8e8e8;background-color:transparent}.button-outline-md-light:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-light.activated{background-color:transparent}.button-outline-md-light .button-effect{background-color:#e8e8e8}.button-clear-md-light{border-color:transparent;color:#f4f4f4;background-color:transparent}.button-clear-md-light.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-light:hover:not(.disable-hover){color:#f4f4f4}.button-md-dark{color:#fff;background-color:#222}.button-md-dark:hover:not(.disable-hover){background-color:#222}.button-md-dark.activated{background-color:#343434;opacity:1}.button-md-dark .button-effect{background-color:#fff}.button-outline-md-dark{border-color:#2d2d2d;color:#2d2d2d;background-color:transparent}.button-outline-md-dark:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-dark.activated{background-color:transparent}.button-outline-md-dark .button-effect{background-color:#2d2d2d}.button-clear-md-dark{border-color:transparent;color:#222;background-color:transparent}.button-clear-md-dark.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-dark:hover:not(.disable-hover){color:#222}.button-md-optblue{color:#fff;background-color:#e00201}.button-md-optblue:hover:not(.disable-hover){background-color:#e00201}.button-md-optblue.activated{background-color:#e21615;opacity:1}.button-md-optblue .button-effect{background-color:#fff}.button-outline-md-optblue{border-color:#e20f0e;color:#e20f0e;background-color:transparent}.button-outline-md-optblue:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-optblue.activated{background-color:transparent}.button-outline-md-optblue .button-effect{background-color:#e20f0e}.button-clear-md-optblue{border-color:transparent;color:#e00201;background-color:transparent}.button-clear-md-optblue.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-optblue:hover:not(.disable-hover){color:#e00201}.button-strong-md{font-weight:700}.button-wp{border-radius:0;height:3.6rem;border:3px solid transparent;font-size:1.4rem;color:#fff;background-color:#673ab7;margin:.4rem .2rem;padding:0 1.1em}.button-wp:hover:not(.disable-hover){border-color:#734abd;background-color:#673ab7}.button-wp.activated{background-color:#734abd}.button-large-wp{height:2.8em;font-size:2rem;padding:0 1em}.button-small-wp{height:2.1em;font-size:1.3rem;padding:0 .9em}.button-small-wp[icon-only] ion-icon{font-size:1.4em}.button-block-wp{margin-left:0;margin-right:0}.button-full-wp{margin-left:0;margin-right:0;border-radius:0;border-right-width:0;border-left-width:0}.button-outline-wp{border-width:1px;border-style:solid;border-color:#673ab7;color:#673ab7;background-color:transparent}.button-outline-wp:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-wp.activated{background-color:rgba(103,58,183,.16)}.button-clear-wp{color:#673ab7;background-color:transparent}.button-clear-wp.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-round-wp{border-radius:64px;padding:0 2.6rem}.button-wp [icon-only]{padding:0}.button-wp-primary{color:#fff;background-color:#673ab7}.button-wp-primary:hover:not(.disable-hover){border-color:#734abd;background-color:#673ab7}.button-wp-primary.activated{background-color:#734abd}.button-outline-wp-primary{border-color:#6f44bb;color:#6f44bb;background-color:transparent}.button-outline-wp-primary:hover:not(.disable-hover){border-color:#6f44bb;background-color:rgba(158,158,158,.1)}.button-outline-wp-primary.activated{background-color:rgba(111,68,187,.16)}.button-clear-wp-primary{color:#673ab7;background-color:transparent}.button-clear-wp-primary.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-primary:hover:not(.disable-hover){color:#673ab7}.button-wp-secondary{color:#fff;background-color:#32db64}.button-wp-secondary:hover:not(.disable-hover){border-color:#2ec95c;background-color:#32db64}.button-wp-secondary.activated{background-color:#2ec95c}.button-outline-wp-secondary{border-color:#30d05f;color:#30d05f;background-color:transparent}.button-outline-wp-secondary:hover:not(.disable-hover){border-color:#30d05f;background-color:rgba(158,158,158,.1)}.button-outline-wp-secondary.activated{background-color:rgba(48,208,95,.16)}.button-clear-wp-secondary{color:#32db64;background-color:transparent}.button-clear-wp-secondary.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-secondary:hover:not(.disable-hover){color:#32db64}.button-wp-danger{color:#fff;background-color:#f53d3d}.button-wp-danger:hover:not(.disable-hover){border-color:#e13838;background-color:#f53d3d}.button-wp-danger.activated{background-color:#e13838}.button-outline-wp-danger{border-color:#e93a3a;color:#e93a3a;background-color:transparent}.button-outline-wp-danger:hover:not(.disable-hover){border-color:#e93a3a;background-color:rgba(158,158,158,.1)}.button-outline-wp-danger.activated{background-color:rgba(233,58,58,.16)}.button-clear-wp-danger{color:#f53d3d;background-color:transparent}.button-clear-wp-danger.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-danger:hover:not(.disable-hover){color:#f53d3d}.button-wp-light{color:#000;background-color:#f4f4f4}.button-wp-light:hover:not(.disable-hover){border-color:#e0e0e0;background-color:#f4f4f4}.button-wp-light.activated{background-color:#e0e0e0}.button-outline-wp-light{border-color:#e8e8e8;color:#e8e8e8;background-color:transparent}.button-outline-wp-light:hover:not(.disable-hover){border-color:#e8e8e8;background-color:rgba(158,158,158,.1)}.button-outline-wp-light.activated{background-color:rgba(232,232,232,.16)}.button-clear-wp-light{color:#f4f4f4;background-color:transparent}.button-clear-wp-light.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-light:hover:not(.disable-hover){color:#f4f4f4}.button-wp-dark{color:#fff;background-color:#222}.button-wp-dark:hover:not(.disable-hover){border-color:#343434;background-color:#222}.button-wp-dark.activated{background-color:#343434}.button-outline-wp-dark{border-color:#2d2d2d;color:#2d2d2d;background-color:transparent}.button-outline-wp-dark:hover:not(.disable-hover){border-color:#2d2d2d;background-color:rgba(158,158,158,.1)}.button-outline-wp-dark.activated{background-color:rgba(45,45,45,.16)}.button-clear-wp-dark{color:#222;background-color:transparent}.button-clear-wp-dark.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-dark:hover:not(.disable-hover){color:#222}.button-wp-optblue{color:#fff;background-color:#e00201}.button-wp-optblue:hover:not(.disable-hover){border-color:#e21615;background-color:#e00201}.button-wp-optblue.activated{background-color:#e21615}.button-outline-wp-optblue{border-color:#e20f0e;color:#e20f0e;background-color:transparent}.button-outline-wp-optblue:hover:not(.disable-hover){border-color:#e20f0e;background-color:rgba(158,158,158,.1)}.button-outline-wp-optblue.activated{background-color:rgba(226,15,14,.16)}.button-clear-wp-optblue{color:#e00201;background-color:transparent}.button-clear-wp-optblue.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-optblue:hover:not(.disable-hover){color:#e00201}.button-strong-wp{font-weight:700}ion-card{display:block;overflow:hidden}ion-card img{display:block;width:100%}ion-card-header{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ion-card-content{display:block}.card-ios{margin:12px;border-radius:2px;width:calc(100% - 24px);font-size:1.4rem;background:#fff;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.card-ios ion-list{margin-bottom:0}.card-ios>.item-wrapper:last-child .item,.card-ios>.item:last-child,.card-ios>.item:last-child .item-inner{border-bottom:0}.card-ios .item-ios.item-block .item-inner{border:0}.card-content-ios{padding:13px 16px 14px;font-size:1.4rem;line-height:1.4}.card-header-ios{font-size:1.6rem;font-weight:500;color:#333;padding:16px}.card-header-ios+.card-content-ios,.card-ios .item+.card-content-ios{padding-top:0}.card .note-ios{font-size:1.3rem}.card-title-ios{display:block;font-size:1.8rem;line-height:1.2;color:#222;margin:2px 0;padding:8px 0}.card-ios h1{margin:0 0 2px;font-size:2.4rem;font-weight:400}.card-ios h2{margin:2px 0;font-size:1.6rem;font-weight:400}.card-ios h3,.card-ios h4,.card-ios h5,.card-ios h6{margin:2px 0;font-size:1.4rem;font-weight:400}.card-ios p{margin:0 0 2px;font-size:1.4rem;color:#666}.card-ios+ion-card{margin-top:0}.card-ios .text-ios-primary{color:#673ab7}.card-ios-primary{color:#fff;background-color:#673ab7}.card-ios-primary .card-content-ios,.card-ios-primary .card-header-ios,.card-ios-primary .card-title-ios,.card-ios-primary p{color:#fff}.card-ios-primary .card-content-ios-primary,.card-ios-primary .card-header-ios-primary,.card-ios-primary .card-title-ios-primary,.card-ios-primary .text-ios-primary{color:#673ab7}.card-ios-primary .card-content-ios-secondary,.card-ios-primary .card-header-ios-secondary,.card-ios-primary .card-title-ios-secondary,.card-ios-primary .text-ios-secondary{color:#32db64}.card-ios-primary .card-content-ios-danger,.card-ios-primary .card-header-ios-danger,.card-ios-primary .card-title-ios-danger,.card-ios-primary .text-ios-danger{color:#f53d3d}.card-ios-primary .card-content-ios-light,.card-ios-primary .card-header-ios-light,.card-ios-primary .card-title-ios-light,.card-ios-primary .text-ios-light{color:#f4f4f4}.card-ios-primary .card-content-ios-dark,.card-ios-primary .card-header-ios-dark,.card-ios-primary .card-title-ios-dark,.card-ios-primary .text-ios-dark{color:#222}.card-ios-primary .card-content-ios-optblue,.card-ios-primary .card-header-ios-optblue,.card-ios-primary .card-title-ios-optblue,.card-ios-primary .text-ios-optblue{color:#e00201}.card-content-ios-primary,.card-header-ios-primary,.card-title-ios-primary{color:#673ab7}.card-ios .text-ios-secondary{color:#32db64}.card-ios-secondary{color:#fff;background-color:#32db64}.card-ios-secondary .card-content-ios,.card-ios-secondary .card-header-ios,.card-ios-secondary .card-title-ios,.card-ios-secondary p{color:#fff}.card-ios-secondary .card-content-ios-primary,.card-ios-secondary .card-header-ios-primary,.card-ios-secondary .card-title-ios-primary,.card-ios-secondary .text-ios-primary{color:#673ab7}.card-ios-secondary .card-content-ios-secondary,.card-ios-secondary .card-header-ios-secondary,.card-ios-secondary .card-title-ios-secondary,.card-ios-secondary .text-ios-secondary{color:#32db64}.card-ios-secondary .card-content-ios-danger,.card-ios-secondary .card-header-ios-danger,.card-ios-secondary .card-title-ios-danger,.card-ios-secondary .text-ios-danger{color:#f53d3d}.card-ios-secondary .card-content-ios-light,.card-ios-secondary .card-header-ios-light,.card-ios-secondary .card-title-ios-light,.card-ios-secondary .text-ios-light{color:#f4f4f4}.card-ios-secondary .card-content-ios-dark,.card-ios-secondary .card-header-ios-dark,.card-ios-secondary .card-title-ios-dark,.card-ios-secondary .text-ios-dark{color:#222}.card-ios-secondary .card-content-ios-optblue,.card-ios-secondary .card-header-ios-optblue,.card-ios-secondary .card-title-ios-optblue,.card-ios-secondary .text-ios-optblue{color:#e00201}.card-content-ios-secondary,.card-header-ios-secondary,.card-title-ios-secondary{color:#32db64}.card-ios .text-ios-danger{color:#f53d3d}.card-ios-danger{color:#fff;background-color:#f53d3d}.card-ios-danger .card-content-ios,.card-ios-danger .card-header-ios,.card-ios-danger .card-title-ios,.card-ios-danger p{color:#fff}.card-ios-danger .card-content-ios-primary,.card-ios-danger .card-header-ios-primary,.card-ios-danger .card-title-ios-primary,.card-ios-danger .text-ios-primary{color:#673ab7}.card-ios-danger .card-content-ios-secondary,.card-ios-danger .card-header-ios-secondary,.card-ios-danger .card-title-ios-secondary,.card-ios-danger .text-ios-secondary{color:#32db64}.card-ios-danger .card-content-ios-danger,.card-ios-danger .card-header-ios-danger,.card-ios-danger .card-title-ios-danger,.card-ios-danger .text-ios-danger{color:#f53d3d}.card-ios-danger .card-content-ios-light,.card-ios-danger .card-header-ios-light,.card-ios-danger .card-title-ios-light,.card-ios-danger .text-ios-light{color:#f4f4f4}.card-ios-danger .card-content-ios-dark,.card-ios-danger .card-header-ios-dark,.card-ios-danger .card-title-ios-dark,.card-ios-danger .text-ios-dark{color:#222}.card-ios-danger .card-content-ios-optblue,.card-ios-danger .card-header-ios-optblue,.card-ios-danger .card-title-ios-optblue,.card-ios-danger .text-ios-optblue{color:#e00201}.card-content-ios-danger,.card-header-ios-danger,.card-title-ios-danger{color:#f53d3d}.card-ios .text-ios-light{color:#f4f4f4}.card-ios-light{color:#000;background-color:#f4f4f4}.card-ios-light .card-content-ios,.card-ios-light .card-header-ios,.card-ios-light .card-title-ios,.card-ios-light p{color:#000}.card-ios-light .card-content-ios-primary,.card-ios-light .card-header-ios-primary,.card-ios-light .card-title-ios-primary,.card-ios-light .text-ios-primary{color:#673ab7}.card-ios-light .card-content-ios-secondary,.card-ios-light .card-header-ios-secondary,.card-ios-light .card-title-ios-secondary,.card-ios-light .text-ios-secondary{color:#32db64}.card-ios-light .card-content-ios-danger,.card-ios-light .card-header-ios-danger,.card-ios-light .card-title-ios-danger,.card-ios-light .text-ios-danger{color:#f53d3d}.card-ios-light .card-content-ios-light,.card-ios-light .card-header-ios-light,.card-ios-light .card-title-ios-light,.card-ios-light .text-ios-light{color:#f4f4f4}.card-ios-light .card-content-ios-dark,.card-ios-light .card-header-ios-dark,.card-ios-light .card-title-ios-dark,.card-ios-light .text-ios-dark{color:#222}.card-ios-light .card-content-ios-optblue,.card-ios-light .card-header-ios-optblue,.card-ios-light .card-title-ios-optblue,.card-ios-light .text-ios-optblue{color:#e00201}.card-content-ios-light,.card-header-ios-light,.card-title-ios-light{color:#f4f4f4}.card-ios .text-ios-dark{color:#222}.card-ios-dark{color:#fff;background-color:#222}.card-ios-dark .card-content-ios,.card-ios-dark .card-header-ios,.card-ios-dark .card-title-ios,.card-ios-dark p{color:#fff}.card-ios-dark .card-content-ios-primary,.card-ios-dark .card-header-ios-primary,.card-ios-dark .card-title-ios-primary,.card-ios-dark .text-ios-primary{color:#673ab7}.card-ios-dark .card-content-ios-secondary,.card-ios-dark .card-header-ios-secondary,.card-ios-dark .card-title-ios-secondary,.card-ios-dark .text-ios-secondary{color:#32db64}.card-ios-dark .card-content-ios-danger,.card-ios-dark .card-header-ios-danger,.card-ios-dark .card-title-ios-danger,.card-ios-dark .text-ios-danger{color:#f53d3d}.card-ios-dark .card-content-ios-light,.card-ios-dark .card-header-ios-light,.card-ios-dark .card-title-ios-light,.card-ios-dark .text-ios-light{color:#f4f4f4}.card-ios-dark .card-content-ios-dark,.card-ios-dark .card-header-ios-dark,.card-ios-dark .card-title-ios-dark,.card-ios-dark .text-ios-dark{color:#222}.card-ios-dark .card-content-ios-optblue,.card-ios-dark .card-header-ios-optblue,.card-ios-dark .card-title-ios-optblue,.card-ios-dark .text-ios-optblue{color:#e00201}.card-content-ios-dark,.card-header-ios-dark,.card-title-ios-dark{color:#222}.card-ios .text-ios-optblue{color:#e00201}.card-ios-optblue{color:#fff;background-color:#e00201}.card-ios-optblue .card-content-ios,.card-ios-optblue .card-header-ios,.card-ios-optblue .card-title-ios,.card-ios-optblue p{color:#fff}.card-ios-optblue .card-content-ios-primary,.card-ios-optblue .card-header-ios-primary,.card-ios-optblue .card-title-ios-primary,.card-ios-optblue .text-ios-primary{color:#673ab7}.card-ios-optblue .card-content-ios-secondary,.card-ios-optblue .card-header-ios-secondary,.card-ios-optblue .card-title-ios-secondary,.card-ios-optblue .text-ios-secondary{color:#32db64}.card-ios-optblue .card-content-ios-danger,.card-ios-optblue .card-header-ios-danger,.card-ios-optblue .card-title-ios-danger,.card-ios-optblue .text-ios-danger{color:#f53d3d}.card-ios-optblue .card-content-ios-light,.card-ios-optblue .card-header-ios-light,.card-ios-optblue .card-title-ios-light,.card-ios-optblue .text-ios-light{color:#f4f4f4}.card-ios-optblue .card-content-ios-dark,.card-ios-optblue .card-header-ios-dark,.card-ios-optblue .card-title-ios-dark,.card-ios-optblue .text-ios-dark{color:#222}.card-ios-optblue .card-content-ios-optblue,.card-ios-optblue .card-header-ios-optblue,.card-ios-optblue .card-title-ios-optblue,.card-ios-optblue .text-ios-optblue{color:#e00201}.card-content-ios-optblue,.card-header-ios-optblue,.card-title-ios-optblue{color:#e00201}.card-md{margin:10px;border-radius:2px;width:calc(100% - 20px);font-size:1.4rem;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.card-md ion-list{margin-bottom:0}.card-md>.item-wrapper:last-child .item,.card-md>.item:last-child,.card-md>.item:last-child .item-inner{border-bottom:0}.card-md .item-md.item-block .item-inner{border:0}.card-content-md{padding:13px 16px;font-size:1.4rem;line-height:1.5}.card-header-md{font-size:1.6rem;color:#222;padding:16px}.card-header-md+.card-content-md,.card-md .item+.card-content-md{padding-top:0}.card .note-md{font-size:1.3rem}.card-title-md{display:block;font-size:2.4rem;line-height:1.2;color:#222;margin:2px 0;padding:8px 0}.card-md h1{margin:0 0 2px;font-size:2.4rem;font-weight:400;color:#222}.card-md h2{margin:2px 0;font-size:1.6rem;font-weight:400;color:#222}.card-md h3,.card-md h4,.card-md h5,.card-md h6{margin:2px 0;font-size:1.4rem;font-weight:400;color:#222}.card-md p{margin:0 0 2px;font-size:1.4rem;font-weight:400;line-height:1.5;color:#222}.card-md+ion-card{margin-top:0}.card-md .text-md-primary{color:#673ab7}.card-md-primary{color:#fff;background-color:#673ab7}.card-md-primary .card-content-md,.card-md-primary .card-header-md,.card-md-primary .card-title-md,.card-md-primary h1,.card-md-primary h2,.card-md-primary h3,.card-md-primary h4,.card-md-primary h5,.card-md-primary h6,.card-md-primary p{color:#fff}.card-md-primary .card-content-md-primary,.card-md-primary .card-header-md-primary,.card-md-primary .card-title-md-primary,.card-md-primary .text-md-primary{color:#673ab7}.card-md-primary .card-content-md-secondary,.card-md-primary .card-header-md-secondary,.card-md-primary .card-title-md-secondary,.card-md-primary .text-md-secondary{color:#32db64}.card-md-primary .card-content-md-danger,.card-md-primary .card-header-md-danger,.card-md-primary .card-title-md-danger,.card-md-primary .text-md-danger{color:#f53d3d}.card-md-primary .card-content-md-light,.card-md-primary .card-header-md-light,.card-md-primary .card-title-md-light,.card-md-primary .text-md-light{color:#f4f4f4}.card-md-primary .card-content-md-dark,.card-md-primary .card-header-md-dark,.card-md-primary .card-title-md-dark,.card-md-primary .text-md-dark{color:#222}.card-md-primary .card-content-md-optblue,.card-md-primary .card-header-md-optblue,.card-md-primary .card-title-md-optblue,.card-md-primary .text-md-optblue{color:#e00201}.card-content-md-primary,.card-header-md-primary,.card-title-md-primary{color:#673ab7}.card-md .text-md-secondary{color:#32db64}.card-md-secondary{color:#fff;background-color:#32db64}.card-md-secondary .card-content-md,.card-md-secondary .card-header-md,.card-md-secondary .card-title-md,.card-md-secondary h1,.card-md-secondary h2,.card-md-secondary h3,.card-md-secondary h4,.card-md-secondary h5,.card-md-secondary h6,.card-md-secondary p{color:#fff}.card-md-secondary .card-content-md-primary,.card-md-secondary .card-header-md-primary,.card-md-secondary .card-title-md-primary,.card-md-secondary .text-md-primary{color:#673ab7}.card-md-secondary .card-content-md-secondary,.card-md-secondary .card-header-md-secondary,.card-md-secondary .card-title-md-secondary,.card-md-secondary .text-md-secondary{color:#32db64}.card-md-secondary .card-content-md-danger,.card-md-secondary .card-header-md-danger,.card-md-secondary .card-title-md-danger,.card-md-secondary .text-md-danger{color:#f53d3d}.card-md-secondary .card-content-md-light,.card-md-secondary .card-header-md-light,.card-md-secondary .card-title-md-light,.card-md-secondary .text-md-light{color:#f4f4f4}.card-md-secondary .card-content-md-dark,.card-md-secondary .card-header-md-dark,.card-md-secondary .card-title-md-dark,.card-md-secondary .text-md-dark{color:#222}.card-md-secondary .card-content-md-optblue,.card-md-secondary .card-header-md-optblue,.card-md-secondary .card-title-md-optblue,.card-md-secondary .text-md-optblue{color:#e00201}.card-content-md-secondary,.card-header-md-secondary,.card-title-md-secondary{color:#32db64}.card-md .text-md-danger{color:#f53d3d}.card-md-danger{color:#fff;background-color:#f53d3d}.card-md-danger .card-content-md,.card-md-danger .card-header-md,.card-md-danger .card-title-md,.card-md-danger h1,.card-md-danger h2,.card-md-danger h3,.card-md-danger h4,.card-md-danger h5,.card-md-danger h6,.card-md-danger p{color:#fff}.card-md-danger .card-content-md-primary,.card-md-danger .card-header-md-primary,.card-md-danger .card-title-md-primary,.card-md-danger .text-md-primary{color:#673ab7}.card-md-danger .card-content-md-secondary,.card-md-danger .card-header-md-secondary,.card-md-danger .card-title-md-secondary,.card-md-danger .text-md-secondary{color:#32db64}.card-md-danger .card-content-md-danger,.card-md-danger .card-header-md-danger,.card-md-danger .card-title-md-danger,.card-md-danger .text-md-danger{color:#f53d3d}.card-md-danger .card-content-md-light,.card-md-danger .card-header-md-light,.card-md-danger .card-title-md-light,.card-md-danger .text-md-light{color:#f4f4f4}.card-md-danger .card-content-md-dark,.card-md-danger .card-header-md-dark,.card-md-danger .card-title-md-dark,.card-md-danger .text-md-dark{color:#222}.card-md-danger .card-content-md-optblue,.card-md-danger .card-header-md-optblue,.card-md-danger .card-title-md-optblue,.card-md-danger .text-md-optblue{color:#e00201}.card-content-md-danger,.card-header-md-danger,.card-title-md-danger{color:#f53d3d}.card-md .text-md-light{color:#f4f4f4}.card-md-light{color:#000;background-color:#f4f4f4}.card-md-light .card-content-md,.card-md-light .card-header-md,.card-md-light .card-title-md,.card-md-light h1,.card-md-light h2,.card-md-light h3,.card-md-light h4,.card-md-light h5,.card-md-light h6,.card-md-light p{color:#000}.card-md-light .card-content-md-primary,.card-md-light .card-header-md-primary,.card-md-light .card-title-md-primary,.card-md-light .text-md-primary{color:#673ab7}.card-md-light .card-content-md-secondary,.card-md-light .card-header-md-secondary,.card-md-light .card-title-md-secondary,.card-md-light .text-md-secondary{color:#32db64}.card-md-light .card-content-md-danger,.card-md-light .card-header-md-danger,.card-md-light .card-title-md-danger,.card-md-light .text-md-danger{color:#f53d3d}.card-md-light .card-content-md-light,.card-md-light .card-header-md-light,.card-md-light .card-title-md-light,.card-md-light .text-md-light{color:#f4f4f4}.card-md-light .card-content-md-dark,.card-md-light .card-header-md-dark,.card-md-light .card-title-md-dark,.card-md-light .text-md-dark{color:#222}.card-md-light .card-content-md-optblue,.card-md-light .card-header-md-optblue,.card-md-light .card-title-md-optblue,.card-md-light .text-md-optblue{color:#e00201}.card-content-md-light,.card-header-md-light,.card-title-md-light{color:#f4f4f4}.card-md .text-md-dark{color:#222}.card-md-dark{color:#fff;background-color:#222}.card-md-dark .card-content-md,.card-md-dark .card-header-md,.card-md-dark .card-title-md,.card-md-dark h1,.card-md-dark h2,.card-md-dark h3,.card-md-dark h4,.card-md-dark h5,.card-md-dark h6,.card-md-dark p{color:#fff}.card-md-dark .card-content-md-primary,.card-md-dark .card-header-md-primary,.card-md-dark .card-title-md-primary,.card-md-dark .text-md-primary{color:#673ab7}.card-md-dark .card-content-md-secondary,.card-md-dark .card-header-md-secondary,.card-md-dark .card-title-md-secondary,.card-md-dark .text-md-secondary{color:#32db64}.card-md-dark .card-content-md-danger,.card-md-dark .card-header-md-danger,.card-md-dark .card-title-md-danger,.card-md-dark .text-md-danger{color:#f53d3d}.card-md-dark .card-content-md-light,.card-md-dark .card-header-md-light,.card-md-dark .card-title-md-light,.card-md-dark .text-md-light{color:#f4f4f4}.card-md-dark .card-content-md-dark,.card-md-dark .card-header-md-dark,.card-md-dark .card-title-md-dark,.card-md-dark .text-md-dark{color:#222}.card-md-dark .card-content-md-optblue,.card-md-dark .card-header-md-optblue,.card-md-dark .card-title-md-optblue,.card-md-dark .text-md-optblue{color:#e00201}.card-content-md-dark,.card-header-md-dark,.card-title-md-dark{color:#222}.card-md .text-md-optblue{color:#e00201}.card-md-optblue{color:#fff;background-color:#e00201}.card-md-optblue .card-content-md,.card-md-optblue .card-header-md,.card-md-optblue .card-title-md,.card-md-optblue h1,.card-md-optblue h2,.card-md-optblue h3,.card-md-optblue h4,.card-md-optblue h5,.card-md-optblue h6,.card-md-optblue p{color:#fff}.card-md-optblue .card-content-md-primary,.card-md-optblue .card-header-md-primary,.card-md-optblue .card-title-md-primary,.card-md-optblue .text-md-primary{color:#673ab7}.card-md-optblue .card-content-md-secondary,.card-md-optblue .card-header-md-secondary,.card-md-optblue .card-title-md-secondary,.card-md-optblue .text-md-secondary{color:#32db64}.card-md-optblue .card-content-md-danger,.card-md-optblue .card-header-md-danger,.card-md-optblue .card-title-md-danger,.card-md-optblue .text-md-danger{color:#f53d3d}.card-md-optblue .card-content-md-light,.card-md-optblue .card-header-md-light,.card-md-optblue .card-title-md-light,.card-md-optblue .text-md-light{color:#f4f4f4}.card-md-optblue .card-content-md-dark,.card-md-optblue .card-header-md-dark,.card-md-optblue .card-title-md-dark,.card-md-optblue .text-md-dark{color:#222}.card-md-optblue .card-content-md-optblue,.card-md-optblue .card-header-md-optblue,.card-md-optblue .card-title-md-optblue,.card-md-optblue .text-md-optblue{color:#e00201}.card-content-md-optblue,.card-header-md-optblue,.card-title-md-optblue{color:#e00201}.card-wp{margin:8px;border-radius:1px;width:calc(100% - 16px);font-size:1.4rem;background:#fff;-webkit-box-shadow:0 1px 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 1px 1px rgba(0,0,0,.2)}.card-wp ion-list{margin-bottom:0}.card-wp>.item-wrapper:last-child .item,.card-wp>.item:last-child,.card-wp>.item:last-child .item-inner{border-bottom:0}.card-wp .item-wp.item-block .item-inner{border:0}.card-content-wp{padding:13px 16px;font-size:1.4rem;line-height:1.5}.card-header-wp{font-size:1.6rem;color:#222;padding:16px}.card-header-wp+.card-content-wp,.card-wp .item+.card-content-wp{padding-top:0}.card .note-wp{font-size:1.3rem}.card-title-wp{display:block;font-size:2.4rem;line-height:1.2;color:#222;margin:2px 0;padding:8px 0}.card-wp h1{margin:0 0 2px;font-size:2.4rem;font-weight:400;color:#222}.card-wp h2{margin:2px 0;font-size:1.6rem;font-weight:400;color:#222}.card-wp h3,.card-wp h4,.card-wp h5,.card-wp h6{margin:2px 0;font-size:1.4rem;font-weight:400;color:#222}.card-wp p{margin:0 0 2px;font-size:1.4rem;font-weight:400;line-height:1.5;color:#222}.card-wp+ion-card{margin-top:0}.card-wp .text-wp-primary{color:#673ab7}.card-wp-primary{color:#fff;background-color:#673ab7}.card-wp-primary .card-content-wp,.card-wp-primary .card-header-wp,.card-wp-primary .card-title-wp,.card-wp-primary h1,.card-wp-primary h2,.card-wp-primary h3,.card-wp-primary h4,.card-wp-primary h5,.card-wp-primary h6,.card-wp-primary p{color:#fff}.card-wp-primary .card-content-wp-primary,.card-wp-primary .card-header-wp-primary,.card-wp-primary .card-title-wp-primary,.card-wp-primary .text-wp-primary{color:#673ab7}.card-wp-primary .card-content-wp-secondary,.card-wp-primary .card-header-wp-secondary,.card-wp-primary .card-title-wp-secondary,.card-wp-primary .text-wp-secondary{color:#32db64}.card-wp-primary .card-content-wp-danger,.card-wp-primary .card-header-wp-danger,.card-wp-primary .card-title-wp-danger,.card-wp-primary .text-wp-danger{color:#f53d3d}.card-wp-primary .card-content-wp-light,.card-wp-primary .card-header-wp-light,.card-wp-primary .card-title-wp-light,.card-wp-primary .text-wp-light{color:#f4f4f4}.card-wp-primary .card-content-wp-dark,.card-wp-primary .card-header-wp-dark,.card-wp-primary .card-title-wp-dark,.card-wp-primary .text-wp-dark{color:#222}.card-wp-primary .card-content-wp-optblue,.card-wp-primary .card-header-wp-optblue,.card-wp-primary .card-title-wp-optblue,.card-wp-primary .text-wp-optblue{color:#e00201}.card-content-wp-primary,.card-header-wp-primary,.card-title-wp-primary{color:#673ab7}.card-wp .text-wp-secondary{color:#32db64}.card-wp-secondary{color:#fff;background-color:#32db64}.card-wp-secondary .card-content-wp,.card-wp-secondary .card-header-wp,.card-wp-secondary .card-title-wp,.card-wp-secondary h1,.card-wp-secondary h2,.card-wp-secondary h3,.card-wp-secondary h4,.card-wp-secondary h5,.card-wp-secondary h6,.card-wp-secondary p{color:#fff}.card-wp-secondary .card-content-wp-primary,.card-wp-secondary .card-header-wp-primary,.card-wp-secondary .card-title-wp-primary,.card-wp-secondary .text-wp-primary{color:#673ab7}.card-wp-secondary .card-content-wp-secondary,.card-wp-secondary .card-header-wp-secondary,.card-wp-secondary .card-title-wp-secondary,.card-wp-secondary .text-wp-secondary{color:#32db64}.card-wp-secondary .card-content-wp-danger,.card-wp-secondary .card-header-wp-danger,.card-wp-secondary .card-title-wp-danger,.card-wp-secondary .text-wp-danger{color:#f53d3d}.card-wp-secondary .card-content-wp-light,.card-wp-secondary .card-header-wp-light,.card-wp-secondary .card-title-wp-light,.card-wp-secondary .text-wp-light{color:#f4f4f4}.card-wp-secondary .card-content-wp-dark,.card-wp-secondary .card-header-wp-dark,.card-wp-secondary .card-title-wp-dark,.card-wp-secondary .text-wp-dark{color:#222}.card-wp-secondary .card-content-wp-optblue,.card-wp-secondary .card-header-wp-optblue,.card-wp-secondary .card-title-wp-optblue,.card-wp-secondary .text-wp-optblue{color:#e00201}.card-content-wp-secondary,.card-header-wp-secondary,.card-title-wp-secondary{color:#32db64}.card-wp .text-wp-danger{color:#f53d3d}.card-wp-danger{color:#fff;background-color:#f53d3d}.card-wp-danger .card-content-wp,.card-wp-danger .card-header-wp,.card-wp-danger .card-title-wp,.card-wp-danger h1,.card-wp-danger h2,.card-wp-danger h3,.card-wp-danger h4,.card-wp-danger h5,.card-wp-danger h6,.card-wp-danger p{color:#fff}.card-wp-danger .card-content-wp-primary,.card-wp-danger .card-header-wp-primary,.card-wp-danger .card-title-wp-primary,.card-wp-danger .text-wp-primary{color:#673ab7}.card-wp-danger .card-content-wp-secondary,.card-wp-danger .card-header-wp-secondary,.card-wp-danger .card-title-wp-secondary,.card-wp-danger .text-wp-secondary{color:#32db64}.card-wp-danger .card-content-wp-danger,.card-wp-danger .card-header-wp-danger,.card-wp-danger .card-title-wp-danger,.card-wp-danger .text-wp-danger{color:#f53d3d}.card-wp-danger .card-content-wp-light,.card-wp-danger .card-header-wp-light,.card-wp-danger .card-title-wp-light,.card-wp-danger .text-wp-light{color:#f4f4f4}.card-wp-danger .card-content-wp-dark,.card-wp-danger .card-header-wp-dark,.card-wp-danger .card-title-wp-dark,.card-wp-danger .text-wp-dark{color:#222}.card-wp-danger .card-content-wp-optblue,.card-wp-danger .card-header-wp-optblue,.card-wp-danger .card-title-wp-optblue,.card-wp-danger .text-wp-optblue{color:#e00201}.card-content-wp-danger,.card-header-wp-danger,.card-title-wp-danger{color:#f53d3d}.card-wp .text-wp-light{color:#f4f4f4}.card-wp-light{color:#000;background-color:#f4f4f4}.card-wp-light .card-content-wp,.card-wp-light .card-header-wp,.card-wp-light .card-title-wp,.card-wp-light h1,.card-wp-light h2,.card-wp-light h3,.card-wp-light h4,.card-wp-light h5,.card-wp-light h6,.card-wp-light p{color:#000}.card-wp-light .card-content-wp-primary,.card-wp-light .card-header-wp-primary,.card-wp-light .card-title-wp-primary,.card-wp-light .text-wp-primary{color:#673ab7}.card-wp-light .card-content-wp-secondary,.card-wp-light .card-header-wp-secondary,.card-wp-light .card-title-wp-secondary,.card-wp-light .text-wp-secondary{color:#32db64}.card-wp-light .card-content-wp-danger,.card-wp-light .card-header-wp-danger,.card-wp-light .card-title-wp-danger,.card-wp-light .text-wp-danger{color:#f53d3d}.card-wp-light .card-content-wp-light,.card-wp-light .card-header-wp-light,.card-wp-light .card-title-wp-light,.card-wp-light .text-wp-light{color:#f4f4f4}.card-wp-light .card-content-wp-dark,.card-wp-light .card-header-wp-dark,.card-wp-light .card-title-wp-dark,.card-wp-light .text-wp-dark{color:#222}.card-wp-light .card-content-wp-optblue,.card-wp-light .card-header-wp-optblue,.card-wp-light .card-title-wp-optblue,.card-wp-light .text-wp-optblue{color:#e00201}.card-content-wp-light,.card-header-wp-light,.card-title-wp-light{color:#f4f4f4}.card-wp .text-wp-dark{color:#222}.card-wp-dark{color:#fff;background-color:#222}.card-wp-dark .card-content-wp,.card-wp-dark .card-header-wp,.card-wp-dark .card-title-wp,.card-wp-dark h1,.card-wp-dark h2,.card-wp-dark h3,.card-wp-dark h4,.card-wp-dark h5,.card-wp-dark h6,.card-wp-dark p{color:#fff}.card-wp-dark .card-content-wp-primary,.card-wp-dark .card-header-wp-primary,.card-wp-dark .card-title-wp-primary,.card-wp-dark .text-wp-primary{color:#673ab7}.card-wp-dark .card-content-wp-secondary,.card-wp-dark .card-header-wp-secondary,.card-wp-dark .card-title-wp-secondary,.card-wp-dark .text-wp-secondary{color:#32db64}.card-wp-dark .card-content-wp-danger,.card-wp-dark .card-header-wp-danger,.card-wp-dark .card-title-wp-danger,.card-wp-dark .text-wp-danger{color:#f53d3d}.card-wp-dark .card-content-wp-light,.card-wp-dark .card-header-wp-light,.card-wp-dark .card-title-wp-light,.card-wp-dark .text-wp-light{color:#f4f4f4}.card-wp-dark .card-content-wp-dark,.card-wp-dark .card-header-wp-dark,.card-wp-dark .card-title-wp-dark,.card-wp-dark .text-wp-dark{color:#222}.card-wp-dark .card-content-wp-optblue,.card-wp-dark .card-header-wp-optblue,.card-wp-dark .card-title-wp-optblue,.card-wp-dark .text-wp-optblue{color:#e00201}.card-content-wp-dark,.card-header-wp-dark,.card-title-wp-dark{color:#222}.card-wp .text-wp-optblue{color:#e00201}.card-wp-optblue{color:#fff;background-color:#e00201}.card-wp-optblue .card-content-wp,.card-wp-optblue .card-header-wp,.card-wp-optblue .card-title-wp,.card-wp-optblue h1,.card-wp-optblue h2,.card-wp-optblue h3,.card-wp-optblue h4,.card-wp-optblue h5,.card-wp-optblue h6,.card-wp-optblue p{color:#fff}.card-wp-optblue .card-content-wp-primary,.card-wp-optblue .card-header-wp-primary,.card-wp-optblue .card-title-wp-primary,.card-wp-optblue .text-wp-primary{color:#673ab7}.card-wp-optblue .card-content-wp-secondary,.card-wp-optblue .card-header-wp-secondary,.card-wp-optblue .card-title-wp-secondary,.card-wp-optblue .text-wp-secondary{color:#32db64}.card-wp-optblue .card-content-wp-danger,.card-wp-optblue .card-header-wp-danger,.card-wp-optblue .card-title-wp-danger,.card-wp-optblue .text-wp-danger{color:#f53d3d}.card-wp-optblue .card-content-wp-light,.card-wp-optblue .card-header-wp-light,.card-wp-optblue .card-title-wp-light,.card-wp-optblue .text-wp-light{color:#f4f4f4}.card-wp-optblue .card-content-wp-dark,.card-wp-optblue .card-header-wp-dark,.card-wp-optblue .card-title-wp-dark,.card-wp-optblue .text-wp-dark{color:#222}.card-wp-optblue .card-content-wp-optblue,.card-wp-optblue .card-header-wp-optblue,.card-wp-optblue .card-title-wp-optblue,.card-wp-optblue .text-wp-optblue{color:#e00201}.card-content-wp-optblue,.card-header-wp-optblue,.card-title-wp-optblue{color:#e00201}.checkbox-ios{position:relative;display:inline-block}.checkbox-ios .checkbox-icon{border-radius:50%;position:relative;width:21px;height:21px;border-width:1px;border-style:solid;border-color:#c8c7cc;background-color:#fff}.checkbox-ios .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-ios .checkbox-checked .checkbox-inner{left:7px;top:4px;position:absolute;width:4px;height:9px;border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.checkbox-ios.checkbox-disabled,.item-ios.item-checkbox-disabled ion-label{opacity:.3;pointer-events:none}.item.item-ios .checkbox-ios{position:static;display:block;margin:8px 16px 8px 2px}.item.item-ios .checkbox-ios[item-end],.item.item-ios .checkbox-ios[item-right]{margin:10px 8px 9px 0}.checkbox-ios-primary .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-ios-primary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-ios-secondary .checkbox-checked{border-color:#32db64;background-color:#32db64}.checkbox-ios-secondary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-ios-danger .checkbox-checked{border-color:#f53d3d;background-color:#f53d3d}.checkbox-ios-danger .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-ios-light .checkbox-checked{border-color:#f4f4f4;background-color:#f4f4f4}.checkbox-ios-light .checkbox-checked .checkbox-inner{border-color:#000}.checkbox-ios-dark .checkbox-checked{border-color:#222;background-color:#222}.checkbox-ios-dark .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-ios-optblue .checkbox-checked{border-color:#e00201;background-color:#e00201}.checkbox-ios-optblue .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md{position:relative;display:inline-block}.checkbox-md .checkbox-icon{border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#787878;background-color:#fff;-webkit-transition-duration:280ms;transition-duration:280ms;-webkit-transition-property:background;transition-property:background;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.checkbox-md .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-md .checkbox-checked .checkbox-inner{left:4px;top:0;position:absolute;width:5px;height:10px;border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.checkbox-md.checkbox-disabled,.item-md.item-checkbox-disabled ion-label{opacity:.3;pointer-events:none}.item.item-md .checkbox-md{position:static;display:block;margin:9px 36px 9px 4px}.item.item-md .checkbox-md[item-end],.item.item-md .checkbox-md[item-right]{margin:11px 10px 10px 0}.checkbox-md+.item-inner ion-label{margin-left:0}.checkbox-md-primary .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-md-primary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md-secondary .checkbox-checked{border-color:#32db64;background-color:#32db64}.checkbox-md-secondary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md-danger .checkbox-checked{border-color:#f53d3d;background-color:#f53d3d}.checkbox-md-danger .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md-light .checkbox-checked{border-color:#f4f4f4;background-color:#f4f4f4}.checkbox-md-light .checkbox-checked .checkbox-inner{border-color:#000}.checkbox-md-dark .checkbox-checked{border-color:#222;background-color:#222}.checkbox-md-dark .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md-optblue .checkbox-checked{border-color:#e00201;background-color:#e00201}.checkbox-md-optblue .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp{position:relative;display:inline-block}.checkbox-wp .checkbox-icon{border-radius:0;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#333;background-color:#fff}.checkbox-wp .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-wp .checkbox-checked .checkbox-inner{left:3px;top:-2px;position:absolute;width:6px;height:12px;border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.checkbox-wp.checkbox-disabled,.item-wp.item-checkbox-disabled ion-label{opacity:.3;pointer-events:none}.item.item-wp .checkbox-wp{position:static;display:block;margin:9px 16px 9px 4px}.item.item-wp .checkbox-wp[item-end],.item.item-wp .checkbox-wp[item-right]{margin:11px 10px 10px 0}.checkbox-wp+.item-inner ion-label{margin-left:0}.checkbox-wp-primary .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-wp-primary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp-secondary .checkbox-checked{border-color:#32db64;background-color:#32db64}.checkbox-wp-secondary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp-danger .checkbox-checked{border-color:#f53d3d;background-color:#f53d3d}.checkbox-wp-danger .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp-light .checkbox-checked{border-color:#f4f4f4;background-color:#f4f4f4}.checkbox-wp-light .checkbox-checked .checkbox-inner{border-color:#000}.checkbox-wp-dark .checkbox-checked{border-color:#222;background-color:#222}.checkbox-wp-dark .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp-optblue .checkbox-checked{border-color:#e00201;background-color:#e00201}.checkbox-wp-optblue .checkbox-checked .checkbox-inner{border-color:#fff}ion-chip{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;font-weight:400;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}ion-chip .button{border-radius:50%;width:32px;height:32px;margin:0}ion-chip ion-icon{text-align:center;border-radius:50%;width:32px;height:32px;font-size:18px;line-height:32px}ion-chip ion-avatar{border-radius:50%;width:32px;min-width:32px;height:32px;min-height:32px}ion-chip ion-avatar img{border-radius:50%;display:block;width:100%;max-width:100%;height:100%;max-height:100%}.chip-ios{border-radius:16px;height:32px;font-size:13px;line-height:32px;color:rgba(0,0,0,.87);background:rgba(0,0,0,.12);margin:2px 0}.chip-ios>ion-label{margin:0 10px}.chip-ios>ion-icon{color:#fff;background-color:#673ab7}.chip-ios .icon-ios-primary,.chip-ios-primary{color:#fff;background-color:#673ab7}.chip-ios .icon-ios-secondary,.chip-ios-secondary{color:#fff;background-color:#32db64}.chip-ios .icon-ios-danger,.chip-ios-danger{color:#fff;background-color:#f53d3d}.chip-ios .icon-ios-light,.chip-ios-light{color:#000;background-color:#f4f4f4}.chip-ios .icon-ios-dark,.chip-ios-dark{color:#fff;background-color:#222}.chip-ios .icon-ios-optblue,.chip-ios-optblue{color:#fff;background-color:#e00201}.chip-md{border-radius:16px;height:32px;font-size:13px;line-height:32px;color:rgba(0,0,0,.87);background:rgba(0,0,0,.12);margin:2px 0}.chip-md>ion-label{margin:0 10px}.chip-md>ion-icon{color:#fff;background-color:#673ab7}.chip-md .icon-md-primary,.chip-md-primary{color:#fff;background-color:#673ab7}.chip-md .icon-md-secondary,.chip-md-secondary{color:#fff;background-color:#32db64}.chip-md .icon-md-danger,.chip-md-danger{color:#fff;background-color:#f53d3d}.chip-md .icon-md-light,.chip-md-light{color:#000;background-color:#f4f4f4}.chip-md .icon-md-dark,.chip-md-dark{color:#fff;background-color:#222}.chip-md .icon-md-optblue,.chip-md-optblue{color:#fff;background-color:#e00201}.chip-wp{border-radius:16px;height:32px;font-size:13px;line-height:32px;color:rgba(0,0,0,.87);background:rgba(0,0,0,.12);margin:2px 0}.chip-wp>ion-label{margin:0 10px}.chip-wp>ion-icon{color:#fff;background-color:#673ab7}.chip-wp .button{border:0}.chip-wp .icon-wp-primary,.chip-wp-primary{color:#fff;background-color:#673ab7}.chip-wp .icon-wp-secondary,.chip-wp-secondary{color:#fff;background-color:#32db64}.chip-wp .icon-wp-danger,.chip-wp-danger{color:#fff;background-color:#f53d3d}.chip-wp .icon-wp-light,.chip-wp-light{color:#000;background-color:#f4f4f4}.chip-wp .icon-wp-dark,.chip-wp-dark{color:#fff;background-color:#222}.chip-wp .icon-wp-optblue,.chip-wp-optblue{color:#fff;background-color:#e00201}ion-content{left:0;top:0;position:relative;display:block;width:100%;height:100%;contain:layout size style}.ion-page>ion-content{position:absolute}a{color:#673ab7}.scroll-content{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;display:block;overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;will-change:scroll-position;contain:size style layout}ion-content.js-scroll>.scroll-content{position:relative;min-height:100%;overflow-x:initial;overflow-y:initial;-webkit-overflow-scrolling:auto;will-change:initial}.disable-scroll .ion-page{pointer-events:none;-ms-touch-action:none;touch-action:none}ion-content.has-refresher>.scroll-content{background-color:inherit}.fixed-content{left:0;right:0;top:0;bottom:0;position:absolute;display:block}[ion-fixed]{position:absolute;z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0)}ion-app [no-padding],ion-app [no-padding] .scroll-content{padding:0}ion-app [no-margin],ion-app [no-margin] .scroll-content{margin:0}.content-ios{color:#000;background-color:#fff}.content-ios.outer-content{background:#efeff4}.content-ios hr{height:.55px;background-color:rgba(0,0,0,.12)}.ios .ion-page.show-page~.nav-decor{left:0;top:0;position:absolute;z-index:0;display:block;width:100%;height:100%;background:#000;pointer-events:none}ion-app.ios [padding]{padding:16px}ion-app.ios [padding-top]{padding-top:16px}ion-app.ios [padding-left]{padding-left:16px}ion-app.ios [padding-right]{padding-right:16px}ion-app.ios [padding-bottom]{padding-bottom:16px}ion-app.ios [padding-vertical]{padding-top:16px;padding-bottom:16px}ion-app.ios [padding-horizontal]{padding-left:16px;padding-right:16px}ion-app.ios [padding] .scroll-content{padding:16px}@media screen and (orientation:landscape){ion-app.ios [padding] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-top:16px;padding-bottom:16px;padding:16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px)}}ion-app.ios [padding-top] .scroll-content{padding-top:16px}@media screen and (orientation:landscape){ion-app.ios [padding-top] .scroll-content{padding-top:16px;padding-top:16px}}ion-app.ios [padding-left] .scroll-content{padding-left:16px}@media screen and (orientation:landscape){ion-app.ios [padding-left] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}ion-app.ios [padding-right] .scroll-content{padding-right:16px}@media screen and (orientation:landscape){ion-app.ios [padding-right] .scroll-content{padding-right:calc(constant(safe-area-inset-right) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.ios [padding-bottom] .scroll-content{padding-bottom:16px}@media screen and (orientation:landscape){ion-app.ios [padding-bottom] .scroll-content{padding-bottom:16px;padding-bottom:16px}}ion-app.ios [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px}@media screen and (orientation:landscape){ion-app.ios [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px;padding-top:16px;padding-bottom:16px}}ion-app.ios [padding-horizontal] .scroll-content{padding-left:16px;padding-right:16px}@media screen and (orientation:landscape){ion-app.ios [padding-horizontal] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-right:calc(constant(safe-area-inset-right) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.ios [margin],ion-app.ios [margin] .scroll-content{margin:16px}ion-app.ios [margin-top],ion-app.ios [margin-top] .scroll-content{margin-top:16px}ion-app.ios [margin-left],ion-app.ios [margin-left] .scroll-content{margin-left:16px}ion-app.ios [margin-start],ion-app.ios [margin-start] .scroll-content{margin-left:16px}ion-app.ios [margin-right],ion-app.ios [margin-right] .scroll-content{margin-right:16px}ion-app.ios [margin-end],ion-app.ios [margin-end] .scroll-content{margin-right:16px}ion-app.ios [margin-bottom],ion-app.ios [margin-bottom] .scroll-content{margin-bottom:16px}ion-app.ios [margin-vertical],ion-app.ios [margin-vertical] .scroll-content{margin-top:16px;margin-bottom:16px}ion-app.ios [margin-horizontal],ion-app.ios [margin-horizontal] .scroll-content{margin-left:16px;margin-right:16px}.content-ios:not([no-bounce])>.scroll-content::after,.content-ios:not([no-bounce])>.scroll-content::before{position:absolute;width:1px;height:1px;content:""}.content-ios:not([no-bounce])>.scroll-content::before{bottom:-1px}.content-ios:not([no-bounce])>.scroll-content::after{top:-1px}.platform-core .content-ios .scroll-content::after,.platform-core .content-ios .scroll-content::before{position:initial;top:initial;bottom:initial;width:initial;height:initial}.content-md{color:#000;background-color:#fff}.content-md hr{background-color:rgba(0,0,0,.08)}ion-app.md [padding]{padding:16px}ion-app.md [padding-top]{padding-top:16px}ion-app.md [padding-left]{padding-left:16px}ion-app.md [padding-right]{padding-right:16px}ion-app.md [padding-bottom]{padding-bottom:16px}ion-app.md [padding-vertical]{padding-top:16px;padding-bottom:16px}ion-app.md [padding-horizontal]{padding-left:16px;padding-right:16px}ion-app.md [padding] .scroll-content{padding:16px}@media screen and (orientation:landscape){ion-app.md [padding] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-top:16px;padding-bottom:16px;padding:16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px)}}ion-app.md [padding-top] .scroll-content{padding-top:16px}@media screen and (orientation:landscape){ion-app.md [padding-top] .scroll-content{padding-top:16px;padding-top:16px}}ion-app.md [padding-left] .scroll-content{padding-left:16px}@media screen and (orientation:landscape){ion-app.md [padding-left] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}ion-app.md [padding-right] .scroll-content{padding-right:16px}@media screen and (orientation:landscape){ion-app.md [padding-right] .scroll-content{padding-right:calc(constant(safe-area-inset-right) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.md [padding-bottom] .scroll-content{padding-bottom:16px}@media screen and (orientation:landscape){ion-app.md [padding-bottom] .scroll-content{padding-bottom:16px;padding-bottom:16px}}ion-app.md [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px}@media screen and (orientation:landscape){ion-app.md [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px;padding-top:16px;padding-bottom:16px}}ion-app.md [padding-horizontal] .scroll-content{padding-left:16px;padding-right:16px}@media screen and (orientation:landscape){ion-app.md [padding-horizontal] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-right:calc(constant(safe-area-inset-right) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.md [margin],ion-app.md [margin] .scroll-content{margin:16px}ion-app.md [margin-top],ion-app.md [margin-top] .scroll-content{margin-top:16px}ion-app.md [margin-left],ion-app.md [margin-left] .scroll-content{margin-left:16px}ion-app.md [margin-start],ion-app.md [margin-start] .scroll-content{margin-left:16px}ion-app.md [margin-right],ion-app.md [margin-right] .scroll-content{margin-right:16px}ion-app.md [margin-end],ion-app.md [margin-end] .scroll-content{margin-right:16px}ion-app.md [margin-bottom],ion-app.md [margin-bottom] .scroll-content{margin-bottom:16px}ion-app.md [margin-vertical],ion-app.md [margin-vertical] .scroll-content{margin-top:16px;margin-bottom:16px}ion-app.md [margin-horizontal],ion-app.md [margin-horizontal] .scroll-content{margin-left:16px;margin-right:16px}.content-wp{color:#000;background-color:#fff}.content-wp hr{background-color:rgba(0,0,0,.08)}ion-app.wp [padding]{padding:16px}ion-app.wp [padding-top]{padding-top:16px}ion-app.wp [padding-left]{padding-left:16px}ion-app.wp [padding-right]{padding-right:16px}ion-app.wp [padding-bottom]{padding-bottom:16px}ion-app.wp [padding-vertical]{padding-top:16px;padding-bottom:16px}ion-app.wp [padding-horizontal]{padding-left:16px;padding-right:16px}ion-app.wp [padding] .scroll-content{padding:16px}@media screen and (orientation:landscape){ion-app.wp [padding] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-top:16px;padding-bottom:16px;padding:16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px)}}ion-app.wp [padding-top] .scroll-content{padding-top:16px}@media screen and (orientation:landscape){ion-app.wp [padding-top] .scroll-content{padding-top:16px;padding-top:16px}}ion-app.wp [padding-left] .scroll-content{padding-left:16px}@media screen and (orientation:landscape){ion-app.wp [padding-left] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}ion-app.wp [padding-right] .scroll-content{padding-right:16px}@media screen and (orientation:landscape){ion-app.wp [padding-right] .scroll-content{padding-right:calc(constant(safe-area-inset-right) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.wp [padding-bottom] .scroll-content{padding-bottom:16px}@media screen and (orientation:landscape){ion-app.wp [padding-bottom] .scroll-content{padding-bottom:16px;padding-bottom:16px}}ion-app.wp [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px}@media screen and (orientation:landscape){ion-app.wp [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px;padding-top:16px;padding-bottom:16px}}ion-app.wp [padding-horizontal] .scroll-content{padding-left:16px;padding-right:16px}@media screen and (orientation:landscape){ion-app.wp [padding-horizontal] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-right:calc(constant(safe-area-inset-right) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.wp [margin],ion-app.wp [margin] .scroll-content{margin:16px}ion-app.wp [margin-top],ion-app.wp [margin-top] .scroll-content{margin-top:16px}ion-app.wp [margin-left],ion-app.wp [margin-left] .scroll-content{margin-left:16px}ion-app.wp [margin-start],ion-app.wp [margin-start] .scroll-content{margin-left:16px}ion-app.wp [margin-right],ion-app.wp [margin-right] .scroll-content{margin-right:16px}ion-app.wp [margin-end],ion-app.wp [margin-end] .scroll-content{margin-right:16px}ion-app.wp [margin-bottom],ion-app.wp [margin-bottom] .scroll-content{margin-bottom:16px}ion-app.wp [margin-vertical],ion-app.wp [margin-vertical] .scroll-content{margin-top:16px;margin-bottom:16px}ion-app.wp [margin-horizontal],ion-app.wp [margin-horizontal] .scroll-content{margin-left:16px;margin-right:16px}ion-datetime{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden}.datetime-text{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;min-width:16px;min-height:1.2em;font-size:inherit;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.datetime-disabled,.item-datetime-disabled ion-label{opacity:.4;pointer-events:none}.item-label-floating ion-datetime,.item-label-stacked ion-datetime{padding-left:0;width:100%}.datetime-ios{padding:11px 8px 11px 16px}.datetime-ios .datetime-placeholder{color:#999}.datetime-md{padding:13px 8px 13px 16px}.datetime-md .datetime-placeholder{color:#999}.datetime-wp{padding:13px 8px 13px 16px;min-width:45%}.datetime-wp .datetime-text{padding:0 8px;min-height:3.4rem;border:2px solid rgba(0,0,0,.5);line-height:3rem}.item-datetime .datetime-wp ion-label[floating]{-webkit-transform:translate3d(8px,41px,0);transform:translate3d(8px,41px,0)}.datetime-wp .datetime-placeholder{color:rgba(0,0,0,.5)}.fab{text-align:center;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;border-radius:50%;position:relative;z-index:0;display:block;overflow:hidden;width:56px;height:56px;font-size:14px;line-height:56px;text-overflow:ellipsis;text-transform:none;white-space:nowrap;cursor:pointer;-webkit-transition:background-color,opacity .1s linear;transition:background-color,opacity .1s linear;background-clip:padding-box;-webkit-font-kerning:none;font-kerning:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;contain:strict}.fab ion-icon{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-size:2.4rem}.fab[mini]{margin:8px;width:40px;height:40px;line-height:40px}.fab[mini] .fab-close-icon{line-height:40px}ion-fab{position:absolute;z-index:999}ion-fab[center]{left:50%;margin-left:-28px}ion-fab[middle]{margin-top:-28px;top:50%}ion-fab[top]{top:10px}ion-fab[right]{right:10px;right:calc(10px + constant(safe-area-inset-right));right:calc(10px + env(safe-area-inset-right))}ion-fab[end]{right:10px;right:calc(constant(safe-area-inset-right) + 10px);right:calc(env(safe-area-inset-right) + 10px)}ion-fab[bottom]{bottom:10px}ion-fab[left]{left:10px;left:calc(10px + constant(safe-area-inset-left));left:calc(10px + env(safe-area-inset-left))}ion-fab[start]{left:10px;left:calc(constant(safe-area-inset-left) + 10px);left:calc(env(safe-area-inset-left) + 10px)}ion-fab[top][edge]{top:-28px}ion-fab[bottom][edge]{bottom:-28px}ion-fab-list{margin:66px 0;position:absolute;top:0;display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}.fab-in-list{margin:8px 0;width:40px;height:40px;opacity:0;visibility:hidden;-webkit-transform:scale(0);transform:scale(0)}.fab-in-list.show{opacity:1;visibility:visible;-webkit-transform:scale(1);transform:scale(1)}ion-fab-list[side=left] .fab-in-list,ion-fab-list[side=right] .fab-in-list{margin:0 8px}ion-fab-list[side=top]{top:auto;bottom:0;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}ion-fab-list[side=left]{margin:0 66px;right:0;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}ion-fab-list[side=right]{margin:0 66px;left:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.fab-list-active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.fab-close-icon{left:0;right:0;top:0;position:absolute;line-height:56px;opacity:0;-webkit-transform:scale(.4) rotateZ(-45deg);transform:scale(.4) rotateZ(-45deg);-webkit-transition:all ease-in-out .3s;transition:all ease-in-out .3s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform}.fab .button-inner{-webkit-transition:all ease-in-out .3s;transition:all ease-in-out .3s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform}.fab-close-active .fab-close-icon{opacity:1;-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}.fab-close-active .button-inner{opacity:0;-webkit-transform:scale(.4) rotateZ(45deg);transform:scale(.4) rotateZ(45deg)}.fab-ios{color:#fff;background-color:#673ab7}.fab-ios.activated{background-color:#734abd}.fab-ios-in-list{color:#000;background-color:#f4f4f4;-webkit-transition:opacity .2s ease 10ms,-webkit-transform .2s ease 10ms;transition:opacity .2s ease 10ms,-webkit-transform .2s ease 10ms;transition:transform .2s ease 10ms,opacity .2s ease 10ms;transition:transform .2s ease 10ms,opacity .2s ease 10ms,-webkit-transform .2s ease 10ms}.fab-ios-in-list.activated{background-color:#e0e0e0}.fab-ios-primary{color:#fff;background-color:#673ab7}.fab-ios-primary.activated{background-color:#734abd}.fab-ios-secondary{color:#fff;background-color:#32db64}.fab-ios-secondary.activated{background-color:#2ec95c}.fab-ios-danger{color:#fff;background-color:#f53d3d}.fab-ios-danger.activated{background-color:#e13838}.fab-ios-light{color:#000;background-color:#f4f4f4}.fab-ios-light.activated{background-color:#e0e0e0}.fab-ios-dark{color:#fff;background-color:#222}.fab-ios-dark.activated{background-color:#343434}.fab-ios-optblue{color:#fff;background-color:#e00201}.fab-ios-optblue.activated{background-color:#e21615}.fab-md{color:#fff;background-color:#673ab7;-webkit-box-shadow:0 4px 6px 0 rgba(0,0,0,.14),0 4px 5px rgba(0,0,0,.1);box-shadow:0 4px 6px 0 rgba(0,0,0,.14),0 4px 5px rgba(0,0,0,.1);-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1)}.fab-md.activated{background-color:#734abd;-webkit-box-shadow:0 5px 15px 0 rgba(0,0,0,.4),0 4px 7px 0 rgba(0,0,0,.1);box-shadow:0 5px 15px 0 rgba(0,0,0,.4),0 4px 7px 0 rgba(0,0,0,.1)}.fab-md-in-list{color:#000;background-color:#f4f4f4;-webkit-transition:opacity .2s ease 10ms,background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-transform .2s ease 10ms,-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:opacity .2s ease 10ms,background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-transform .2s ease 10ms,-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:transform .2s ease 10ms,opacity .2s ease 10ms,box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:transform .2s ease 10ms,opacity .2s ease 10ms,box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-transform .2s ease 10ms,-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1)}.fab-md-in-list.activated{background-color:#e0e0e0}.fab-md .button-effect{background-color:#fff}.fab-md-primary{color:#fff;background-color:#673ab7}.fab-md-primary.activated{background-color:#734abd}.fab-md-primary .button-effect{background-color:#fff}.fab-md-secondary{color:#fff;background-color:#32db64}.fab-md-secondary.activated{background-color:#2ec95c}.fab-md-secondary .button-effect{background-color:#fff}.fab-md-danger{color:#fff;background-color:#f53d3d}.fab-md-danger.activated{background-color:#e13838}.fab-md-danger .button-effect{background-color:#fff}.fab-md-light{color:#000;background-color:#f4f4f4}.fab-md-light.activated{background-color:#e0e0e0}.fab-md-light .button-effect{background-color:#000}.fab-md-dark{color:#fff;background-color:#222}.fab-md-dark.activated{background-color:#343434}.fab-md-dark .button-effect{background-color:#fff}.fab-md-optblue{color:#fff;background-color:#e00201}.fab-md-optblue.activated{background-color:#e21615}.fab-md-optblue .button-effect{background-color:#fff}.fab-wp{color:#fff;background-color:#673ab7}.fab-wp.activated{background-color:#734abd}.fab-wp-in-list{color:#000;background-color:#f4f4f4;-webkit-transition:opacity .2s ease 10ms,-webkit-transform .2s ease 10ms;transition:opacity .2s ease 10ms,-webkit-transform .2s ease 10ms;transition:transform .2s ease 10ms,opacity .2s ease 10ms;transition:transform .2s ease 10ms,opacity .2s ease 10ms,-webkit-transform .2s ease 10ms}.fab-wp-in-list.activated{background-color:#e0e0e0}.fab-wp-primary{color:#fff;background-color:#673ab7}.fab-wp-primary.activated{background-color:#734abd}.fab-wp-secondary{color:#fff;background-color:#32db64}.fab-wp-secondary.activated{background-color:#2ec95c}.fab-wp-danger{color:#fff;background-color:#f53d3d}.fab-wp-danger.activated{background-color:#e13838}.fab-wp-light{color:#000;background-color:#f4f4f4}.fab-wp-light.activated{background-color:#e0e0e0}.fab-wp-dark{color:#fff;background-color:#222}.fab-wp-dark.activated{background-color:#343434}.fab-wp-optblue{color:#fff;background-color:#e00201}.fab-wp-optblue.activated{background-color:#e21615}.grid{padding:5px;margin-left:auto;margin-right:auto;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.grid[no-padding]{padding:0}.grid[no-padding]>.row>.col{padding:0}@media (min-width:576px){.grid[fixed]{width:540px;max-width:100%}}@media (min-width:768px){.grid[fixed]{width:720px;max-width:100%}}@media (min-width:992px){.grid[fixed]{width:960px;max-width:100%}}@media (min-width:1200px){.grid[fixed]{width:1140px;max-width:100%}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.row[nowrap]{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.row[wrap-reverse]{-webkit-flex-wrap:wrap-reverse;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.row[align-items-start]{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.row[align-items-center]{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.row[align-items-end]{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.row[align-items-stretch]{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.row[align-items-baseline]{-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline}.row[justify-content-start]{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.row[justify-content-center]{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.row[justify-content-end]{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.row[justify-content-around]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row[justify-content-between]{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.col{padding:5px;position:relative;width:100%;margin:0;min-height:1px;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col[align-self-start]{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.col[align-self-end]{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.col[align-self-center]{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.col[align-self-stretch]{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.col[align-self-baseline]{-webkit-align-self:baseline;-ms-flex-item-align:baseline;align-self:baseline}[col-1]{padding:5px}@media (min-width:576px){[col-1]{padding:5px}}@media (min-width:768px){[col-1]{padding:5px}}@media (min-width:992px){[col-1]{padding:5px}}@media (min-width:1200px){[col-1]{padding:5px}}[col-2]{padding:5px}@media (min-width:576px){[col-2]{padding:5px}}@media (min-width:768px){[col-2]{padding:5px}}@media (min-width:992px){[col-2]{padding:5px}}@media (min-width:1200px){[col-2]{padding:5px}}[col-3]{padding:5px}@media (min-width:576px){[col-3]{padding:5px}}@media (min-width:768px){[col-3]{padding:5px}}@media (min-width:992px){[col-3]{padding:5px}}@media (min-width:1200px){[col-3]{padding:5px}}[col-4]{padding:5px}@media (min-width:576px){[col-4]{padding:5px}}@media (min-width:768px){[col-4]{padding:5px}}@media (min-width:992px){[col-4]{padding:5px}}@media (min-width:1200px){[col-4]{padding:5px}}[col-5]{padding:5px}@media (min-width:576px){[col-5]{padding:5px}}@media (min-width:768px){[col-5]{padding:5px}}@media (min-width:992px){[col-5]{padding:5px}}@media (min-width:1200px){[col-5]{padding:5px}}[col-6]{padding:5px}@media (min-width:576px){[col-6]{padding:5px}}@media (min-width:768px){[col-6]{padding:5px}}@media (min-width:992px){[col-6]{padding:5px}}@media (min-width:1200px){[col-6]{padding:5px}}[col-7]{padding:5px}@media (min-width:576px){[col-7]{padding:5px}}@media (min-width:768px){[col-7]{padding:5px}}@media (min-width:992px){[col-7]{padding:5px}}@media (min-width:1200px){[col-7]{padding:5px}}[col-8]{padding:5px}@media (min-width:576px){[col-8]{padding:5px}}@media (min-width:768px){[col-8]{padding:5px}}@media (min-width:992px){[col-8]{padding:5px}}@media (min-width:1200px){[col-8]{padding:5px}}[col-9]{padding:5px}@media (min-width:576px){[col-9]{padding:5px}}@media (min-width:768px){[col-9]{padding:5px}}@media (min-width:992px){[col-9]{padding:5px}}@media (min-width:1200px){[col-9]{padding:5px}}[col-10]{padding:5px}@media (min-width:576px){[col-10]{padding:5px}}@media (min-width:768px){[col-10]{padding:5px}}@media (min-width:992px){[col-10]{padding:5px}}@media (min-width:1200px){[col-10]{padding:5px}}[col-11]{padding:5px}@media (min-width:576px){[col-11]{padding:5px}}@media (min-width:768px){[col-11]{padding:5px}}@media (min-width:992px){[col-11]{padding:5px}}@media (min-width:1200px){[col-11]{padding:5px}}[col-12]{padding:5px}@media (min-width:576px){[col-12]{padding:5px}}@media (min-width:768px){[col-12]{padding:5px}}@media (min-width:992px){[col-12]{padding:5px}}@media (min-width:1200px){[col-12]{padding:5px}}[col]{padding:5px}@media (min-width:576px){[col]{padding:5px}}@media (min-width:768px){[col]{padding:5px}}@media (min-width:992px){[col]{padding:5px}}@media (min-width:1200px){[col]{padding:5px}}[col]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-0]{right:auto}[pull-1]{right:8.33333%}[pull-2]{right:16.66667%}[pull-3]{right:25%}[pull-4]{right:33.33333%}[pull-5]{right:41.66667%}[pull-6]{right:50%}[pull-7]{right:58.33333%}[pull-8]{right:66.66667%}[pull-9]{right:75%}[pull-10]{right:83.33333%}[pull-11]{right:91.66667%}[pull-12]{right:100%}[push-0]{left:auto}[push-1]{left:8.33333%}[push-2]{left:16.66667%}[push-3]{left:25%}[push-4]{left:33.33333%}[push-5]{left:41.66667%}[push-6]{left:50%}[push-7]{left:58.33333%}[push-8]{left:66.66667%}[push-9]{left:75%}[push-10]{left:83.33333%}[push-11]{left:91.66667%}[push-12]{left:100%}[offset-1]{margin-left:8.33333%}[offset-2]{margin-left:16.66667%}[offset-3]{margin-left:25%}[offset-4]{margin-left:33.33333%}[offset-5]{margin-left:41.66667%}[offset-6]{margin-left:50%}[offset-7]{margin-left:58.33333%}[offset-8]{margin-left:66.66667%}[offset-9]{margin-left:75%}[offset-10]{margin-left:83.33333%}[offset-11]{margin-left:91.66667%}[col-sm-1]{padding:5px}@media (min-width:576px){[col-sm-1]{padding:5px}}@media (min-width:768px){[col-sm-1]{padding:5px}}@media (min-width:992px){[col-sm-1]{padding:5px}}@media (min-width:1200px){[col-sm-1]{padding:5px}}[col-sm-2]{padding:5px}@media (min-width:576px){[col-sm-2]{padding:5px}}@media (min-width:768px){[col-sm-2]{padding:5px}}@media (min-width:992px){[col-sm-2]{padding:5px}}@media (min-width:1200px){[col-sm-2]{padding:5px}}[col-sm-3]{padding:5px}@media (min-width:576px){[col-sm-3]{padding:5px}}@media (min-width:768px){[col-sm-3]{padding:5px}}@media (min-width:992px){[col-sm-3]{padding:5px}}@media (min-width:1200px){[col-sm-3]{padding:5px}}[col-sm-4]{padding:5px}@media (min-width:576px){[col-sm-4]{padding:5px}}@media (min-width:768px){[col-sm-4]{padding:5px}}@media (min-width:992px){[col-sm-4]{padding:5px}}@media (min-width:1200px){[col-sm-4]{padding:5px}}[col-sm-5]{padding:5px}@media (min-width:576px){[col-sm-5]{padding:5px}}@media (min-width:768px){[col-sm-5]{padding:5px}}@media (min-width:992px){[col-sm-5]{padding:5px}}@media (min-width:1200px){[col-sm-5]{padding:5px}}[col-sm-6]{padding:5px}@media (min-width:576px){[col-sm-6]{padding:5px}}@media (min-width:768px){[col-sm-6]{padding:5px}}@media (min-width:992px){[col-sm-6]{padding:5px}}@media (min-width:1200px){[col-sm-6]{padding:5px}}[col-sm-7]{padding:5px}@media (min-width:576px){[col-sm-7]{padding:5px}}@media (min-width:768px){[col-sm-7]{padding:5px}}@media (min-width:992px){[col-sm-7]{padding:5px}}@media (min-width:1200px){[col-sm-7]{padding:5px}}[col-sm-8]{padding:5px}@media (min-width:576px){[col-sm-8]{padding:5px}}@media (min-width:768px){[col-sm-8]{padding:5px}}@media (min-width:992px){[col-sm-8]{padding:5px}}@media (min-width:1200px){[col-sm-8]{padding:5px}}[col-sm-9]{padding:5px}@media (min-width:576px){[col-sm-9]{padding:5px}}@media (min-width:768px){[col-sm-9]{padding:5px}}@media (min-width:992px){[col-sm-9]{padding:5px}}@media (min-width:1200px){[col-sm-9]{padding:5px}}[col-sm-10]{padding:5px}@media (min-width:576px){[col-sm-10]{padding:5px}}@media (min-width:768px){[col-sm-10]{padding:5px}}@media (min-width:992px){[col-sm-10]{padding:5px}}@media (min-width:1200px){[col-sm-10]{padding:5px}}[col-sm-11]{padding:5px}@media (min-width:576px){[col-sm-11]{padding:5px}}@media (min-width:768px){[col-sm-11]{padding:5px}}@media (min-width:992px){[col-sm-11]{padding:5px}}@media (min-width:1200px){[col-sm-11]{padding:5px}}[col-sm-12]{padding:5px}@media (min-width:576px){[col-sm-12]{padding:5px}}@media (min-width:768px){[col-sm-12]{padding:5px}}@media (min-width:992px){[col-sm-12]{padding:5px}}@media (min-width:1200px){[col-sm-12]{padding:5px}}[col-sm]{padding:5px}@media (min-width:576px){[col-sm]{padding:5px}}@media (min-width:768px){[col-sm]{padding:5px}}@media (min-width:992px){[col-sm]{padding:5px}}@media (min-width:1200px){[col-sm]{padding:5px}}@media (min-width:576px){[col-sm]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-sm-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-sm-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-sm-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-sm-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-sm-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-sm-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-sm-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-sm-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-sm-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-sm-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-sm-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-sm-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-sm-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-sm-0]{right:auto}[pull-sm-1]{right:8.33333%}[pull-sm-2]{right:16.66667%}[pull-sm-3]{right:25%}[pull-sm-4]{right:33.33333%}[pull-sm-5]{right:41.66667%}[pull-sm-6]{right:50%}[pull-sm-7]{right:58.33333%}[pull-sm-8]{right:66.66667%}[pull-sm-9]{right:75%}[pull-sm-10]{right:83.33333%}[pull-sm-11]{right:91.66667%}[pull-sm-12]{right:100%}[push-sm-0]{left:auto}[push-sm-1]{left:8.33333%}[push-sm-2]{left:16.66667%}[push-sm-3]{left:25%}[push-sm-4]{left:33.33333%}[push-sm-5]{left:41.66667%}[push-sm-6]{left:50%}[push-sm-7]{left:58.33333%}[push-sm-8]{left:66.66667%}[push-sm-9]{left:75%}[push-sm-10]{left:83.33333%}[push-sm-11]{left:91.66667%}[push-sm-12]{left:100%}[offset-sm-0]{margin-left:0}[offset-sm-1]{margin-left:8.33333%}[offset-sm-2]{margin-left:16.66667%}[offset-sm-3]{margin-left:25%}[offset-sm-4]{margin-left:33.33333%}[offset-sm-5]{margin-left:41.66667%}[offset-sm-6]{margin-left:50%}[offset-sm-7]{margin-left:58.33333%}[offset-sm-8]{margin-left:66.66667%}[offset-sm-9]{margin-left:75%}[offset-sm-10]{margin-left:83.33333%}[offset-sm-11]{margin-left:91.66667%}}[col-md-1]{padding:5px}@media (min-width:576px){[col-md-1]{padding:5px}}@media (min-width:768px){[col-md-1]{padding:5px}}@media (min-width:992px){[col-md-1]{padding:5px}}@media (min-width:1200px){[col-md-1]{padding:5px}}[col-md-2]{padding:5px}@media (min-width:576px){[col-md-2]{padding:5px}}@media (min-width:768px){[col-md-2]{padding:5px}}@media (min-width:992px){[col-md-2]{padding:5px}}@media (min-width:1200px){[col-md-2]{padding:5px}}[col-md-3]{padding:5px}@media (min-width:576px){[col-md-3]{padding:5px}}@media (min-width:768px){[col-md-3]{padding:5px}}@media (min-width:992px){[col-md-3]{padding:5px}}@media (min-width:1200px){[col-md-3]{padding:5px}}[col-md-4]{padding:5px}@media (min-width:576px){[col-md-4]{padding:5px}}@media (min-width:768px){[col-md-4]{padding:5px}}@media (min-width:992px){[col-md-4]{padding:5px}}@media (min-width:1200px){[col-md-4]{padding:5px}}[col-md-5]{padding:5px}@media (min-width:576px){[col-md-5]{padding:5px}}@media (min-width:768px){[col-md-5]{padding:5px}}@media (min-width:992px){[col-md-5]{padding:5px}}@media (min-width:1200px){[col-md-5]{padding:5px}}[col-md-6]{padding:5px}@media (min-width:576px){[col-md-6]{padding:5px}}@media (min-width:768px){[col-md-6]{padding:5px}}@media (min-width:992px){[col-md-6]{padding:5px}}@media (min-width:1200px){[col-md-6]{padding:5px}}[col-md-7]{padding:5px}@media (min-width:576px){[col-md-7]{padding:5px}}@media (min-width:768px){[col-md-7]{padding:5px}}@media (min-width:992px){[col-md-7]{padding:5px}}@media (min-width:1200px){[col-md-7]{padding:5px}}[col-md-8]{padding:5px}@media (min-width:576px){[col-md-8]{padding:5px}}@media (min-width:768px){[col-md-8]{padding:5px}}@media (min-width:992px){[col-md-8]{padding:5px}}@media (min-width:1200px){[col-md-8]{padding:5px}}[col-md-9]{padding:5px}@media (min-width:576px){[col-md-9]{padding:5px}}@media (min-width:768px){[col-md-9]{padding:5px}}@media (min-width:992px){[col-md-9]{padding:5px}}@media (min-width:1200px){[col-md-9]{padding:5px}}[col-md-10]{padding:5px}@media (min-width:576px){[col-md-10]{padding:5px}}@media (min-width:768px){[col-md-10]{padding:5px}}@media (min-width:992px){[col-md-10]{padding:5px}}@media (min-width:1200px){[col-md-10]{padding:5px}}[col-md-11]{padding:5px}@media (min-width:576px){[col-md-11]{padding:5px}}@media (min-width:768px){[col-md-11]{padding:5px}}@media (min-width:992px){[col-md-11]{padding:5px}}@media (min-width:1200px){[col-md-11]{padding:5px}}[col-md-12]{padding:5px}@media (min-width:576px){[col-md-12]{padding:5px}}@media (min-width:768px){[col-md-12]{padding:5px}}@media (min-width:992px){[col-md-12]{padding:5px}}@media (min-width:1200px){[col-md-12]{padding:5px}}[col-md]{padding:5px}@media (min-width:576px){[col-md]{padding:5px}}@media (min-width:768px){[col-md]{padding:5px}}@media (min-width:992px){[col-md]{padding:5px}}@media (min-width:1200px){[col-md]{padding:5px}}@media (min-width:768px){[col-md]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-md-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-md-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-md-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-md-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-md-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-md-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-md-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-md-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-md-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-md-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-md-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-md-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-md-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-md-0]{right:auto}[pull-md-1]{right:8.33333%}[pull-md-2]{right:16.66667%}[pull-md-3]{right:25%}[pull-md-4]{right:33.33333%}[pull-md-5]{right:41.66667%}[pull-md-6]{right:50%}[pull-md-7]{right:58.33333%}[pull-md-8]{right:66.66667%}[pull-md-9]{right:75%}[pull-md-10]{right:83.33333%}[pull-md-11]{right:91.66667%}[pull-md-12]{right:100%}[push-md-0]{left:auto}[push-md-1]{left:8.33333%}[push-md-2]{left:16.66667%}[push-md-3]{left:25%}[push-md-4]{left:33.33333%}[push-md-5]{left:41.66667%}[push-md-6]{left:50%}[push-md-7]{left:58.33333%}[push-md-8]{left:66.66667%}[push-md-9]{left:75%}[push-md-10]{left:83.33333%}[push-md-11]{left:91.66667%}[push-md-12]{left:100%}[offset-md-0]{margin-left:0}[offset-md-1]{margin-left:8.33333%}[offset-md-2]{margin-left:16.66667%}[offset-md-3]{margin-left:25%}[offset-md-4]{margin-left:33.33333%}[offset-md-5]{margin-left:41.66667%}[offset-md-6]{margin-left:50%}[offset-md-7]{margin-left:58.33333%}[offset-md-8]{margin-left:66.66667%}[offset-md-9]{margin-left:75%}[offset-md-10]{margin-left:83.33333%}[offset-md-11]{margin-left:91.66667%}}[col-lg-1]{padding:5px}@media (min-width:576px){[col-lg-1]{padding:5px}}@media (min-width:768px){[col-lg-1]{padding:5px}}@media (min-width:992px){[col-lg-1]{padding:5px}}@media (min-width:1200px){[col-lg-1]{padding:5px}}[col-lg-2]{padding:5px}@media (min-width:576px){[col-lg-2]{padding:5px}}@media (min-width:768px){[col-lg-2]{padding:5px}}@media (min-width:992px){[col-lg-2]{padding:5px}}@media (min-width:1200px){[col-lg-2]{padding:5px}}[col-lg-3]{padding:5px}@media (min-width:576px){[col-lg-3]{padding:5px}}@media (min-width:768px){[col-lg-3]{padding:5px}}@media (min-width:992px){[col-lg-3]{padding:5px}}@media (min-width:1200px){[col-lg-3]{padding:5px}}[col-lg-4]{padding:5px}@media (min-width:576px){[col-lg-4]{padding:5px}}@media (min-width:768px){[col-lg-4]{padding:5px}}@media (min-width:992px){[col-lg-4]{padding:5px}}@media (min-width:1200px){[col-lg-4]{padding:5px}}[col-lg-5]{padding:5px}@media (min-width:576px){[col-lg-5]{padding:5px}}@media (min-width:768px){[col-lg-5]{padding:5px}}@media (min-width:992px){[col-lg-5]{padding:5px}}@media (min-width:1200px){[col-lg-5]{padding:5px}}[col-lg-6]{padding:5px}@media (min-width:576px){[col-lg-6]{padding:5px}}@media (min-width:768px){[col-lg-6]{padding:5px}}@media (min-width:992px){[col-lg-6]{padding:5px}}@media (min-width:1200px){[col-lg-6]{padding:5px}}[col-lg-7]{padding:5px}@media (min-width:576px){[col-lg-7]{padding:5px}}@media (min-width:768px){[col-lg-7]{padding:5px}}@media (min-width:992px){[col-lg-7]{padding:5px}}@media (min-width:1200px){[col-lg-7]{padding:5px}}[col-lg-8]{padding:5px}@media (min-width:576px){[col-lg-8]{padding:5px}}@media (min-width:768px){[col-lg-8]{padding:5px}}@media (min-width:992px){[col-lg-8]{padding:5px}}@media (min-width:1200px){[col-lg-8]{padding:5px}}[col-lg-9]{padding:5px}@media (min-width:576px){[col-lg-9]{padding:5px}}@media (min-width:768px){[col-lg-9]{padding:5px}}@media (min-width:992px){[col-lg-9]{padding:5px}}@media (min-width:1200px){[col-lg-9]{padding:5px}}[col-lg-10]{padding:5px}@media (min-width:576px){[col-lg-10]{padding:5px}}@media (min-width:768px){[col-lg-10]{padding:5px}}@media (min-width:992px){[col-lg-10]{padding:5px}}@media (min-width:1200px){[col-lg-10]{padding:5px}}[col-lg-11]{padding:5px}@media (min-width:576px){[col-lg-11]{padding:5px}}@media (min-width:768px){[col-lg-11]{padding:5px}}@media (min-width:992px){[col-lg-11]{padding:5px}}@media (min-width:1200px){[col-lg-11]{padding:5px}}[col-lg-12]{padding:5px}@media (min-width:576px){[col-lg-12]{padding:5px}}@media (min-width:768px){[col-lg-12]{padding:5px}}@media (min-width:992px){[col-lg-12]{padding:5px}}@media (min-width:1200px){[col-lg-12]{padding:5px}}[col-lg]{padding:5px}@media (min-width:576px){[col-lg]{padding:5px}}@media (min-width:768px){[col-lg]{padding:5px}}@media (min-width:992px){[col-lg]{padding:5px}}@media (min-width:1200px){[col-lg]{padding:5px}}@media (min-width:992px){[col-lg]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-lg-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-lg-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-lg-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-lg-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-lg-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-lg-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-lg-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-lg-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-lg-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-lg-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-lg-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-lg-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-lg-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-lg-0]{right:auto}[pull-lg-1]{right:8.33333%}[pull-lg-2]{right:16.66667%}[pull-lg-3]{right:25%}[pull-lg-4]{right:33.33333%}[pull-lg-5]{right:41.66667%}[pull-lg-6]{right:50%}[pull-lg-7]{right:58.33333%}[pull-lg-8]{right:66.66667%}[pull-lg-9]{right:75%}[pull-lg-10]{right:83.33333%}[pull-lg-11]{right:91.66667%}[pull-lg-12]{right:100%}[push-lg-0]{left:auto}[push-lg-1]{left:8.33333%}[push-lg-2]{left:16.66667%}[push-lg-3]{left:25%}[push-lg-4]{left:33.33333%}[push-lg-5]{left:41.66667%}[push-lg-6]{left:50%}[push-lg-7]{left:58.33333%}[push-lg-8]{left:66.66667%}[push-lg-9]{left:75%}[push-lg-10]{left:83.33333%}[push-lg-11]{left:91.66667%}[push-lg-12]{left:100%}[offset-lg-0]{margin-left:0}[offset-lg-1]{margin-left:8.33333%}[offset-lg-2]{margin-left:16.66667%}[offset-lg-3]{margin-left:25%}[offset-lg-4]{margin-left:33.33333%}[offset-lg-5]{margin-left:41.66667%}[offset-lg-6]{margin-left:50%}[offset-lg-7]{margin-left:58.33333%}[offset-lg-8]{margin-left:66.66667%}[offset-lg-9]{margin-left:75%}[offset-lg-10]{margin-left:83.33333%}[offset-lg-11]{margin-left:91.66667%}}[col-xl-1]{padding:5px}@media (min-width:576px){[col-xl-1]{padding:5px}}@media (min-width:768px){[col-xl-1]{padding:5px}}@media (min-width:992px){[col-xl-1]{padding:5px}}@media (min-width:1200px){[col-xl-1]{padding:5px}}[col-xl-2]{padding:5px}@media (min-width:576px){[col-xl-2]{padding:5px}}@media (min-width:768px){[col-xl-2]{padding:5px}}@media (min-width:992px){[col-xl-2]{padding:5px}}@media (min-width:1200px){[col-xl-2]{padding:5px}}[col-xl-3]{padding:5px}@media (min-width:576px){[col-xl-3]{padding:5px}}@media (min-width:768px){[col-xl-3]{padding:5px}}@media (min-width:992px){[col-xl-3]{padding:5px}}@media (min-width:1200px){[col-xl-3]{padding:5px}}[col-xl-4]{padding:5px}@media (min-width:576px){[col-xl-4]{padding:5px}}@media (min-width:768px){[col-xl-4]{padding:5px}}@media (min-width:992px){[col-xl-4]{padding:5px}}@media (min-width:1200px){[col-xl-4]{padding:5px}}[col-xl-5]{padding:5px}@media (min-width:576px){[col-xl-5]{padding:5px}}@media (min-width:768px){[col-xl-5]{padding:5px}}@media (min-width:992px){[col-xl-5]{padding:5px}}@media (min-width:1200px){[col-xl-5]{padding:5px}}[col-xl-6]{padding:5px}@media (min-width:576px){[col-xl-6]{padding:5px}}@media (min-width:768px){[col-xl-6]{padding:5px}}@media (min-width:992px){[col-xl-6]{padding:5px}}@media (min-width:1200px){[col-xl-6]{padding:5px}}[col-xl-7]{padding:5px}@media (min-width:576px){[col-xl-7]{padding:5px}}@media (min-width:768px){[col-xl-7]{padding:5px}}@media (min-width:992px){[col-xl-7]{padding:5px}}@media (min-width:1200px){[col-xl-7]{padding:5px}}[col-xl-8]{padding:5px}@media (min-width:576px){[col-xl-8]{padding:5px}}@media (min-width:768px){[col-xl-8]{padding:5px}}@media (min-width:992px){[col-xl-8]{padding:5px}}@media (min-width:1200px){[col-xl-8]{padding:5px}}[col-xl-9]{padding:5px}@media (min-width:576px){[col-xl-9]{padding:5px}}@media (min-width:768px){[col-xl-9]{padding:5px}}@media (min-width:992px){[col-xl-9]{padding:5px}}@media (min-width:1200px){[col-xl-9]{padding:5px}}[col-xl-10]{padding:5px}@media (min-width:576px){[col-xl-10]{padding:5px}}@media (min-width:768px){[col-xl-10]{padding:5px}}@media (min-width:992px){[col-xl-10]{padding:5px}}@media (min-width:1200px){[col-xl-10]{padding:5px}}[col-xl-11]{padding:5px}@media (min-width:576px){[col-xl-11]{padding:5px}}@media (min-width:768px){[col-xl-11]{padding:5px}}@media (min-width:992px){[col-xl-11]{padding:5px}}@media (min-width:1200px){[col-xl-11]{padding:5px}}[col-xl-12]{padding:5px}@media (min-width:576px){[col-xl-12]{padding:5px}}@media (min-width:768px){[col-xl-12]{padding:5px}}@media (min-width:992px){[col-xl-12]{padding:5px}}@media (min-width:1200px){[col-xl-12]{padding:5px}}[col-xl]{padding:5px}@media (min-width:576px){[col-xl]{padding:5px}}@media (min-width:768px){[col-xl]{padding:5px}}@media (min-width:992px){[col-xl]{padding:5px}}@media (min-width:1200px){[col-xl]{padding:5px}}@media (min-width:1200px){[col-xl]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-xl-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-xl-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-xl-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-xl-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-xl-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-xl-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-xl-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-xl-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-xl-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-xl-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-xl-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-xl-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-xl-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-xl-0]{right:auto}[pull-xl-1]{right:8.33333%}[pull-xl-2]{right:16.66667%}[pull-xl-3]{right:25%}[pull-xl-4]{right:33.33333%}[pull-xl-5]{right:41.66667%}[pull-xl-6]{right:50%}[pull-xl-7]{right:58.33333%}[pull-xl-8]{right:66.66667%}[pull-xl-9]{right:75%}[pull-xl-10]{right:83.33333%}[pull-xl-11]{right:91.66667%}[pull-xl-12]{right:100%}[push-xl-0]{left:auto}[push-xl-1]{left:8.33333%}[push-xl-2]{left:16.66667%}[push-xl-3]{left:25%}[push-xl-4]{left:33.33333%}[push-xl-5]{left:41.66667%}[push-xl-6]{left:50%}[push-xl-7]{left:58.33333%}[push-xl-8]{left:66.66667%}[push-xl-9]{left:75%}[push-xl-10]{left:83.33333%}[push-xl-11]{left:91.66667%}[push-xl-12]{left:100%}[offset-xl-0]{margin-left:0}[offset-xl-1]{margin-left:8.33333%}[offset-xl-2]{margin-left:16.66667%}[offset-xl-3]{margin-left:25%}[offset-xl-4]{margin-left:33.33333%}[offset-xl-5]{margin-left:41.66667%}[offset-xl-6]{margin-left:50%}[offset-xl-7]{margin-left:58.33333%}[offset-xl-8]{margin-left:66.66667%}[offset-xl-9]{margin-left:75%}[offset-xl-10]{margin-left:83.33333%}[offset-xl-11]{margin-left:91.66667%}}ion-icon{display:inline-block;font-size:1.2em}ion-icon[small]{min-height:1.1em;font-size:1.1em}.icon-ios-primary{color:#673ab7}.icon-ios-secondary{color:#32db64}.icon-ios-danger{color:#f53d3d}.icon-ios-light{color:#f4f4f4}.icon-ios-dark{color:#222}.icon-ios-optblue{color:#e00201}.icon-md-primary{color:#673ab7}.icon-md-secondary{color:#32db64}.icon-md-danger{color:#f53d3d}.icon-md-light{color:#f4f4f4}.icon-md-dark{color:#222}.icon-md-optblue{color:#e00201}.icon-wp-primary{color:#673ab7}.icon-wp-secondary{color:#32db64}.icon-wp-danger{color:#f53d3d}.icon-wp-light{color:#f4f4f4}.icon-wp-dark{color:#222}.icon-wp-optblue{color:#e00201}ion-img{display:inline-block;min-width:20px;min-height:20px;background:#eee;contain:strict}ion-img img{-o-object-fit:cover;object-fit:cover}ion-img.img-unloaded img{display:none}ion-img.img-loaded img{display:block}ion-infinite-scroll{display:block;width:100%}ion-infinite-scroll-content{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;min-height:84px}.infinite-loading{display:none;width:100%;margin:0 0 32px}.infinite-loading-text{color:#666;margin:4px 32px 0}.infinite-loading-spinner .spinner-crescent circle,.infinite-loading-spinner .spinner-ios line,.infinite-loading-spinner .spinner-ios-small line{stroke:#666}.infinite-loading-spinner .spinner-bubbles circle,.infinite-loading-spinner .spinner-circles circle,.infinite-loading-spinner .spinner-dots circle{fill:#666}ion-infinite-scroll-content[state=loading] .infinite-loading{display:block}ion-infinite-scroll-content[state=disabled]{display:none}ion-input,ion-textarea{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:100%}.item-input ion-input,.item-input ion-textarea{position:static}.item.item-textarea{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.text-input{-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;border-radius:0;display:inline-block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:92%;width:calc(100% - 10px);border:0;background:0 0}.text-input::-moz-placeholder{color:#999}.text-input:-ms-input-placeholder{color:#999}.text-input::-webkit-input-placeholder{text-indent:0;color:#999}textarea.text-input{display:block}.text-input[disabled]{opacity:.4}input.text-input:-webkit-autofill{background-color:transparent}.platform-mobile textarea.text-input{resize:none}.input-cover{left:0;top:0;position:absolute;width:100%;height:100%;-ms-touch-action:manipulation;touch-action:manipulation}.input[disabled] .input-cover{pointer-events:none}.input-has-focus .input-cover,.item-input-has-focus .input-cover{display:none}.input-has-focus,.item-input-has-focus{pointer-events:none}.input-has-focus a,.input-has-focus button,.input-has-focus input,.input-has-focus textarea,.item-input-has-focus a,.item-input-has-focus button,.item-input-has-focus input,.item-input-has-focus textarea{pointer-events:auto}.text-input-clear-icon{margin:0;padding:0;background-position:center;position:absolute;top:0;display:none;height:100%;background-repeat:no-repeat}.input-has-focus.input-has-value .text-input-clear-icon,.item-input-has-focus.item-input-has-value .text-input-clear-icon{display:block}.text-input-ios{margin:11px 8px 11px 0;padding:0;width:calc(100% - 8px)}.input-ios .inset-input{padding:5.5px 8px;margin:5.5px 16px 5.5px 0}.item-ios.item-label-floating .text-input,.item-ios.item-label-stacked .text-input{margin-left:0;margin-top:8px;margin-bottom:8px;width:calc(100% - 8px)}.item-ios.item-label-floating .label-ios+.input+.cloned-input,.item-ios.item-label-stacked .label-ios+.input+.cloned-input{margin-left:0}.item-label-floating .select-ios,.item-label-stacked .select-ios{padding-left:0;padding-top:8px;padding-bottom:8px}.input-ios[clearInput]{position:relative}.input-ios[clearInput] .text-input{padding-right:30px}.input-ios .text-input-clear-icon{right:8px;background-image:url("data:image/svg+xml;charset=utf-8,");width:30px;background-size:18px}.text-input-md{margin:13px 8px;padding:0;width:calc(100% - 8px - 8px)}.input-md .inset-input{padding:6.5px 8px;margin:6.5px 16px}.item-md.item-input.input-has-focus .item-inner,.item-md.item-input.item-input-has-focus .item-inner{border-bottom-color:#673ab7;-webkit-box-shadow:inset 0 -1px 0 0 #673ab7;box-shadow:inset 0 -1px 0 0 #673ab7}.list-md .item-input.input-has-focus:last-child,.list-md .item-input.item-input-has-focus:last-child{border-bottom-color:#673ab7;-webkit-box-shadow:inset 0 -1px 0 0 #673ab7;box-shadow:inset 0 -1px 0 0 #673ab7}.list-md .item-input.input-has-focus:last-child .item-inner,.list-md .item-input.item-input-has-focus:last-child .item-inner{-webkit-box-shadow:none;box-shadow:none}.item-md.item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus) .item-inner,.item-md.item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus) .item-inner{border-bottom-color:#32db64;-webkit-box-shadow:inset 0 -1px 0 0 #32db64;box-shadow:inset 0 -1px 0 0 #32db64}.list-md .item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child,.list-md .item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child{border-bottom-color:#32db64;-webkit-box-shadow:inset 0 -1px 0 0 #32db64;box-shadow:inset 0 -1px 0 0 #32db64}.list-md .item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner,.list-md .item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner{-webkit-box-shadow:none;box-shadow:none}.item-md.item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus) .item-inner{border-bottom-color:#f53d3d;-webkit-box-shadow:inset 0 -1px 0 0 #f53d3d;box-shadow:inset 0 -1px 0 0 #f53d3d}.list-md .item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus):last-child{border-bottom-color:#f53d3d;-webkit-box-shadow:inset 0 -1px 0 0 #f53d3d;box-shadow:inset 0 -1px 0 0 #f53d3d}.list-md .item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner{-webkit-box-shadow:none;box-shadow:none}.item-label-floating .text-input-md,.item-label-stacked .text-input-md{margin-left:0;margin-top:8px;margin-bottom:8px;width:calc(100% - 8px)}.item-label-floating .select-md,.item-label-stacked .select-md{padding-left:0;padding-top:8px;padding-bottom:8px}.input-md[clearInput]{position:relative}.input-md[clearInput] .text-input{padding-right:30px}.input-md .text-input-clear-icon{right:8px;background-image:url("data:image/svg+xml;charset=utf-8,");width:30px;background-size:22px}.text-input-wp{margin:13px 8px;padding:0 8px;width:calc(100% - 8px - 8px);border:2px solid rgba(0,0,0,.5);line-height:3rem}.item-wp .inset-input{padding:6.5px 8px;margin:6.5px 16px}.item-wp.item-input.input-has-focus .text-input,.item-wp.item-input.item-input-has-focus .text-input{border-color:#673ab7}.item-wp.item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus) .text-input,.item-wp.item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus) .text-input{border-color:#32db64}.item-wp.item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus) .text-input{border-color:#f53d3d}.item-label-floating .select-wp,.item-label-floating .text-input-wp,.item-label-stacked .select-wp,.item-label-stacked .text-input-wp{margin-left:0;margin-top:8px;margin-bottom:8px;width:calc(100% - 8px)}.item-wp.item-label-floating [item-end],.item-wp.item-label-floating [item-right],.item-wp.item-label-stacked [item-end],.item-wp.item-label-stacked [item-right]{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.input-wp[clearInput]{position:relative}.input-wp[clearInput] .text-input{padding-right:30px}.input-wp .text-input-clear-icon{right:8px;background-image:url("data:image/svg+xml;charset=utf-8,");width:30px;background-size:22px}.item{contain:content}.item-block{margin:0;padding:0;text-align:initial;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:4.4rem;border:0;font-weight:400;line-height:normal;text-decoration:none;color:inherit}.item-inner{margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:inherit;-webkit-box-direction:inherit;-webkit-flex-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit;-webkit-box-align:inherit;-webkit-align-items:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0}.input-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:inherit;-webkit-box-direction:inherit;-webkit-flex-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit;-webkit-box-align:inherit;-webkit-align-items:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis}.item.item[no-lines] .item-inner,.item[no-lines]{border:0}ion-item-group{display:block}ion-item-divider{margin:0;padding:0;z-index:100;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:30px}ion-item-divider[sticky]{position:-webkit-sticky;position:sticky;top:0}[vertical-align-top],ion-input.item{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.item-inner>ion-icon[small]:first-child,.item>ion-icon[small]:first-child{min-width:18px}.item-inner>ion-icon:first-child,.item>ion-icon:first-child{text-align:center;min-width:24px}.item-inner>ion-icon,.item>ion-icon{min-height:2.8rem;font-size:2.8rem;line-height:1}.item-inner>ion-icon[large],.item>ion-icon[large]{min-height:3.2rem;font-size:3.2rem}.item-inner>ion-icon[small],.item>ion-icon[small]{min-height:1.8rem;font-size:1.8rem}ion-avatar,ion-thumbnail{display:block;line-height:1}ion-avatar img,ion-thumbnail img{display:block}.item-cover{left:0;top:0;position:absolute;width:100%;height:100%;background:0 0;cursor:pointer}ion-reorder{-webkit-transform:translate3d(300%,0,0);transform:translate3d(300%,0,0);display:none;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;max-width:40px;height:100%;font-size:1.7em;opacity:.25;-webkit-transition:-webkit-transform 140ms ease-in;transition:-webkit-transform 140ms ease-in;transition:transform 140ms ease-in;transition:transform 140ms ease-in,-webkit-transform 140ms ease-in;pointer-events:all;-ms-touch-action:manipulation;touch-action:manipulation}.reorder-side-start ion-reorder{-webkit-transform:translate3d(-300%,0,0);transform:translate3d(-300%,0,0);-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}ion-reorder ion-icon{pointer-events:none}.reorder-enabled ion-reorder{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.reorder-visible ion-reorder{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.reorder-list-active .item,.reorder-list-active .item-wrapper{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;will-change:transform}.reorder-list-active .item-inner{pointer-events:none}.item-wrapper.reorder-active,.item.reorder-active,.reorder-active{z-index:4;-webkit-box-shadow:0 0 10px rgba(0,0,0,.4);box-shadow:0 0 10px rgba(0,0,0,.4);opacity:.8;-webkit-transition:none;transition:none;pointer-events:none}ion-item-sliding{position:relative;display:block;overflow:hidden;width:100%}ion-item-sliding .item{position:static}ion-item-options{position:absolute;z-index:1;display:none;height:100%;font-size:14px;visibility:hidden;top:0;right:0;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}ion-item-options[side=left]{right:auto;left:0;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}ion-item-options .button{margin:0;padding:0 .7em;border-radius:0;height:100%;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box}ion-item-options .button:last-child{padding-right:.7em}@media screen and (orientation:landscape){ion-item-options .button:last-child{padding-right:calc(constant(safe-area-inset-right) + .7em);padding-right:calc(env(safe-area-inset-right) + .7em)}}ion-item-options:not([icon-left]) .button:not([icon-only]) .button-inner,ion-item-options:not([icon-start]) .button:not([icon-only]) .button-inner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}ion-item-options:not([icon-left]) .button:not([icon-only]) ion-icon,ion-item-options:not([icon-start]) .button:not([icon-only]) ion-icon{padding-left:0;padding-right:0;padding-bottom:.3em}ion-item-sliding.active-slide .item,ion-item-sliding.active-slide .item.activated{position:relative;z-index:2;opacity:1;-webkit-transition:-webkit-transform .5s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .5s cubic-bezier(.36,.66,.04,1);transition:transform .5s cubic-bezier(.36,.66,.04,1);transition:transform .5s cubic-bezier(.36,.66,.04,1),-webkit-transform .5s cubic-bezier(.36,.66,.04,1);pointer-events:none;will-change:transform}ion-item-sliding.active-slide ion-item-options{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}ion-item-sliding.active-slide.active-options-left ion-item-options[side=left],ion-item-sliding.active-slide.active-options-right ion-item-options:not([side=left]){width:100%;visibility:visible}button[expandable]{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(.65,.05,.36,1);transition-timing-function:cubic-bezier(.65,.05,.36,1)}ion-item-sliding.active-swipe-right button[expandable]{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:padding-left;transition-property:padding-left;padding-left:90%;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}ion-item-sliding.active-swipe-left button[expandable]{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:padding-right;transition-property:padding-right;padding-right:90%;-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.item-ios{padding-left:16px;padding-left:16px;border-radius:0;position:relative;font-size:1.7rem;color:#000;background-color:#fff;-webkit-transition:background-color .2s linear;transition:background-color .2s linear}@media screen and (orientation:landscape){.item-ios{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}.item-ios.activated{background-color:#d9d9d9;-webkit-transition-duration:0s;transition-duration:0s}.item-ios h1{margin:0 0 2px;font-size:2.4rem;font-weight:400}.item-ios h2{margin:0 0 2px;font-size:1.7rem;font-weight:400}.item-ios h3,.item-ios h4,.item-ios h5,.item-ios h6{margin:0 0 3px;font-size:1.4rem;font-weight:400;line-height:normal}.item-ios p{overflow:inherit;font-size:1.4rem;line-height:normal;text-overflow:inherit;color:#8e9093;margin:0 0 2px}.item-ios h2:last-child,.item-ios h3:last-child,.item-ios h4:last-child,.item-ios h5:last-child,.item-ios h6:last-child,.item-ios p:last-child{margin-bottom:0}.item-ios.item-block .item-inner{padding-right:8px;padding-right:8px;border-bottom:.55px solid #c8c7cc}@media screen and (orientation:landscape){.item-ios.item-block .item-inner{padding-right:calc(constant(safe-area-inset-right) + 8px);padding-right:calc(env(safe-area-inset-right) + 8px)}}.item-ios [item-left],.item-ios [item-start]{margin:8px 16px 8px 0}.item-ios [item-end],.item-ios [item-right]{margin:8px}.item-ios ion-icon[item-end],.item-ios ion-icon[item-left],.item-ios ion-icon[item-right],.item-ios ion-icon[item-start]{margin-left:0;margin-top:9px;margin-bottom:8px}.item-ios .item-button{padding:0 .5em;height:24px;font-size:1.3rem}.item-ios .item-button[icon-only],.item-ios .item-button[icon-only] ion-icon{padding:0 1px}.item-ios ion-avatar[item-left],.item-ios ion-avatar[item-start],.item-ios ion-thumbnail[item-left],.item-ios ion-thumbnail[item-start]{margin:8px 16px 8px 0}.item-ios ion-avatar[item-end],.item-ios ion-avatar[item-right],.item-ios ion-thumbnail[item-end],.item-ios ion-thumbnail[item-right]{margin:8px}.item-ios ion-avatar{min-width:36px;min-height:36px}.item-ios ion-avatar img,.item-ios ion-avatar ion-img{border-radius:50%;overflow:hidden;width:36px;height:36px}.item-ios ion-thumbnail{min-width:56px;min-height:56px}.item-ios ion-thumbnail img,.item-ios ion-thumbnail ion-img{width:56px;height:56px}.item-ios[detail-push] .item-inner,a.item-ios:not([detail-none]) .item-inner,button.item-ios:not([detail-none]) .item-inner{background-image:url("data:image/svg+xml;charset=utf-8,");padding-right:32px;background-position:right 14px center;background-position:right calc(14px + constant(safe-area-inset-right)) center;background-position:right calc(14px + env(safe-area-inset-right)) center;background-repeat:no-repeat;background-size:14px 14px}ion-item-group .item-ios:first-child .item-inner{border-top-width:0}ion-item-group .item-ios:last-child .item-inner,ion-item-group .item-wrapper:last-child .item-ios .item-inner{border:0}.item-divider-ios{padding-left:16px;padding-left:16px;color:#222;background-color:#f7f7f7}@media screen and (orientation:landscape){.item-divider-ios{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}.item-ios .text-ios-primary{color:#673ab7}.item-divider-ios-primary,.item-ios-primary{color:#fff;background-color:#673ab7}.item-divider-ios-primary p,.item-ios-primary p{color:#fff}.item-divider-ios-primary.activated,.item-ios-primary.activated{background-color:#734abd}.item-ios .text-ios-secondary{color:#32db64}.item-divider-ios-secondary,.item-ios-secondary{color:#fff;background-color:#32db64}.item-divider-ios-secondary p,.item-ios-secondary p{color:#fff}.item-divider-ios-secondary.activated,.item-ios-secondary.activated{background-color:#2ec95c}.item-ios .text-ios-danger{color:#f53d3d}.item-divider-ios-danger,.item-ios-danger{color:#fff;background-color:#f53d3d}.item-divider-ios-danger p,.item-ios-danger p{color:#fff}.item-divider-ios-danger.activated,.item-ios-danger.activated{background-color:#e13838}.item-ios .text-ios-light{color:#f4f4f4}.item-divider-ios-light,.item-ios-light{color:#000;background-color:#f4f4f4}.item-divider-ios-light p,.item-ios-light p{color:#000}.item-divider-ios-light.activated,.item-ios-light.activated{background-color:#e0e0e0}.item-ios .text-ios-dark{color:#222}.item-divider-ios-dark,.item-ios-dark{color:#fff;background-color:#222}.item-divider-ios-dark p,.item-ios-dark p{color:#fff}.item-divider-ios-dark.activated,.item-ios-dark.activated{background-color:#343434}.item-ios .text-ios-optblue{color:#e00201}.item-divider-ios-optblue,.item-ios-optblue{color:#fff;background-color:#e00201}.item-divider-ios-optblue p,.item-ios-optblue p{color:#fff}.item-divider-ios-optblue.activated,.item-ios-optblue.activated{background-color:#e21615}.list-ios ion-item-sliding{background-color:#fff}.item-md{padding-left:16px;padding-right:0;position:relative;font-size:1.6rem;font-weight:400;text-transform:none;color:#000;background-color:#fff;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.item-md.activated{background-color:#f1f1f1}.item-md[no-lines]{border-width:0}.item-md h1{margin:0 0 2px;font-size:2.4rem;font-weight:400}.item-md h2{margin:2px 0;font-size:1.6rem;font-weight:400}.item-md h3,.item-md h4,.item-md h5,.item-md h6{margin:2px 0;font-size:1.4rem;font-weight:400;line-height:normal}.item-md p{margin:0 0 2px;overflow:inherit;font-size:1.4rem;line-height:normal;text-overflow:inherit;color:#666}.item-md.item-block .item-inner{padding-right:8px;border-bottom:1px solid #dedede}.item-md [item-end],.item-md [item-left],.item-md [item-right],.item-md [item-start]{margin:9px 8px 9px 0}.item-md ion-icon[item-end],.item-md ion-icon[item-left],.item-md ion-icon[item-right],.item-md ion-icon[item-start]{margin-left:0;margin-top:11px;margin-bottom:10px}.item-md .item-button{padding:0 .6em;height:25px;font-size:1.2rem}.item-md .item-button[icon-only],.item-md .item-button[icon-only] ion-icon{padding:0 1px}.item-md ion-icon[item-left]+.item-inner,.item-md ion-icon[item-left]+.item-input,.item-md ion-icon[item-start]+.item-inner,.item-md ion-icon[item-start]+.item-input{margin-left:24px}.item-md ion-avatar[item-left],.item-md ion-avatar[item-start],.item-md ion-thumbnail[item-left],.item-md ion-thumbnail[item-start]{margin:8px 16px 8px 0}.item-md ion-avatar[item-end],.item-md ion-avatar[item-right],.item-md ion-thumbnail[item-end],.item-md ion-thumbnail[item-right]{margin:8px}.item-md ion-avatar{min-width:40px;min-height:40px}.item-md ion-avatar img,.item-md ion-avatar ion-img{border-radius:50%;overflow:hidden;width:40px;height:40px}.item-md ion-thumbnail{min-width:80px;min-height:80px}.item-md ion-thumbnail img,.item-md ion-thumbnail ion-img{width:80px;height:80px}ion-item-group .item-md:first-child .item-inner{border-top-width:0}ion-item-group .item-md .item-wrapper:last-child .item-inner,ion-item-group .item-md:last-child .item-inner{border:0}.item-divider-md{padding-left:16px;border-bottom:1px solid #dedede;font-size:1.4rem;color:#858585;background-color:#fff}.item-md .text-md-primary{color:#673ab7}.item-divider-md-primary,.item-md-primary{color:#fff;background-color:#673ab7}.item-divider-md-primary p,.item-md-primary p{color:#fff}.item-divider-md-primary.activated,.item-md-primary.activated{background-color:#734abd}.item-md .text-md-secondary{color:#32db64}.item-divider-md-secondary,.item-md-secondary{color:#fff;background-color:#32db64}.item-divider-md-secondary p,.item-md-secondary p{color:#fff}.item-divider-md-secondary.activated,.item-md-secondary.activated{background-color:#2ec95c}.item-md .text-md-danger{color:#f53d3d}.item-divider-md-danger,.item-md-danger{color:#fff;background-color:#f53d3d}.item-divider-md-danger p,.item-md-danger p{color:#fff}.item-divider-md-danger.activated,.item-md-danger.activated{background-color:#e13838}.item-md .text-md-light{color:#f4f4f4}.item-divider-md-light,.item-md-light{color:#000;background-color:#f4f4f4}.item-divider-md-light p,.item-md-light p{color:#000}.item-divider-md-light.activated,.item-md-light.activated{background-color:#e0e0e0}.item-md .text-md-dark{color:#222}.item-divider-md-dark,.item-md-dark{color:#fff;background-color:#222}.item-divider-md-dark p,.item-md-dark p{color:#fff}.item-divider-md-dark.activated,.item-md-dark.activated{background-color:#343434}.item-md .text-md-optblue{color:#e00201}.item-divider-md-optblue,.item-md-optblue{color:#fff;background-color:#e00201}.item-divider-md-optblue p,.item-md-optblue p{color:#fff}.item-divider-md-optblue.activated,.item-md-optblue.activated{background-color:#e21615}.list-md ion-item-sliding{background-color:#fff}.item-md ion-reorder{font-size:1.5em;opacity:.3}.item-wp{padding-left:16px;padding-right:0;position:relative;font-size:1.6rem;font-weight:400;text-transform:none;color:#000;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.item-wp.activated{background-color:#aaa}.item-wp[no-lines]{border-width:0}.item-wp h1{margin:0 0 2px;font-size:2.4rem;font-weight:400}.item-wp h2{margin:2px 0;font-size:1.6rem;font-weight:400}.item-wp h3,.item-wp h4,.item-wp h5,.item-wp h6{margin:2px 0;font-size:1.4rem;font-weight:400;line-height:normal}.item-wp p{margin:0 0 2px;overflow:inherit;font-size:1.4rem;line-height:normal;text-overflow:inherit;color:#666}.item-wp.item-block .item-inner{padding-right:8px;border-bottom:1px solid transparent}.item-wp [item-end],.item-wp [item-left],.item-wp [item-right],.item-wp [item-start]{margin:9px 8px 9px 0}.item-wp ion-icon[item-end],.item-wp ion-icon[item-left],.item-wp ion-icon[item-right],.item-wp ion-icon[item-start]{margin-left:0;margin-top:11px;margin-bottom:10px}.item-wp .item-button{padding:0 .6em;height:25px;font-size:1.2rem}.item-wp .item-button[icon-only],.item-wp .item-button[icon-only] ion-icon{padding:0 1px}.item-wp[text-wrap] ion-label{font-size:1.4rem;line-height:1.5}.item-wp ion-icon[item-left]+.item-inner,.item-wp ion-icon[item-left]+.item-input,.item-wp ion-icon[item-start]+.item-inner,.item-wp ion-icon[item-start]+.item-input{margin-left:8px}.item-wp ion-avatar[item-left],.item-wp ion-avatar[item-start],.item-wp ion-thumbnail[item-left],.item-wp ion-thumbnail[item-start]{margin:8px 16px 8px 0}.item-wp ion-avatar[item-end],.item-wp ion-avatar[item-right],.item-wp ion-thumbnail[item-end],.item-wp ion-thumbnail[item-right]{margin:8px}.item-wp ion-avatar{min-width:40px;min-height:40px}.item-wp ion-avatar img,.item-wp ion-avatar ion-img{border-radius:50%;overflow:hidden;width:40px;height:40px}.item-wp ion-thumbnail{min-width:80px;min-height:80px}.item-wp ion-thumbnail img,.item-wp ion-thumbnail ion-img{width:80px;height:80px}.item-divider-wp{padding-left:16px;border-bottom:1px solid transparent;font-size:2rem;color:#000;background-color:#fff}.item-wp .text-wp-primary{color:#673ab7}.item-divider-wp-primary,.item-wp-primary{color:#fff;background-color:#673ab7}.item-divider-wp-primary p,.item-wp-primary p{color:#fff}.item-divider-wp-primary.activated,.item-wp-primary.activated{background-color:#734abd}.item-wp .text-wp-secondary{color:#32db64}.item-divider-wp-secondary,.item-wp-secondary{color:#fff;background-color:#32db64}.item-divider-wp-secondary p,.item-wp-secondary p{color:#fff}.item-divider-wp-secondary.activated,.item-wp-secondary.activated{background-color:#2ec95c}.item-wp .text-wp-danger{color:#f53d3d}.item-divider-wp-danger,.item-wp-danger{color:#fff;background-color:#f53d3d}.item-divider-wp-danger p,.item-wp-danger p{color:#fff}.item-divider-wp-danger.activated,.item-wp-danger.activated{background-color:#e13838}.item-wp .text-wp-light{color:#f4f4f4}.item-divider-wp-light,.item-wp-light{color:#000;background-color:#f4f4f4}.item-divider-wp-light p,.item-wp-light p{color:#000}.item-divider-wp-light.activated,.item-wp-light.activated{background-color:#e0e0e0}.item-wp .text-wp-dark{color:#222}.item-divider-wp-dark,.item-wp-dark{color:#fff;background-color:#222}.item-divider-wp-dark p,.item-wp-dark p{color:#fff}.item-divider-wp-dark.activated,.item-wp-dark.activated{background-color:#343434}.item-wp .text-wp-optblue{color:#e00201}.item-divider-wp-optblue,.item-wp-optblue{color:#fff;background-color:#e00201}.item-divider-wp-optblue p,.item-wp-optblue p{color:#fff}.item-divider-wp-optblue.activated,.item-wp-optblue.activated{background-color:#e21615}.list-wp ion-item-sliding{background-color:#fff}ion-label{margin:0;display:block;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-size:inherit;text-overflow:ellipsis;white-space:nowrap}.item-input ion-label{-webkit-box-flex:initial;-webkit-flex:initial;-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}[text-wrap] ion-label{white-space:normal}ion-label[fixed]{-webkit-box-flex:0;-webkit-flex:0 0 100px;-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.item-label-floating ion-label,.item-label-stacked ion-label{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}ion-label[floating],ion-label[stacked]{margin-bottom:0}.item-label-floating .input-wrapper,.item-label-stacked .input-wrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.item-label-floating ion-select,.item-label-stacked ion-select{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;max-width:100%}.label-ios{margin:11px 8px 11px 0}.label-ios+.input+.cloned-input,.label-ios+ion-input .text-input,.label-ios+ion-textarea .text-input{margin-left:16px;width:calc(100% - (16px / 2) - 16px)}.label-ios[stacked]{margin-bottom:4px;font-size:1.2rem}.label-ios[floating]{margin-bottom:0;-webkit-transform:translate3d(0,27px,0);transform:translate3d(0,27px,0);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out,-webkit-transform 150ms ease-in-out}.input-has-focus .label-ios[floating],.input-has-value .label-ios[floating],.item-input-has-focus .label-ios[floating],.item-input-has-value .label-ios[floating]{-webkit-transform:translate3d(0,0,0) scale(.8);transform:translate3d(0,0,0) scale(.8)}.item-ios.item-label-floating [item-end],.item-ios.item-label-floating [item-right],.item-ios.item-label-stacked [item-end],.item-ios.item-label-stacked [item-right]{margin-top:6px;margin-bottom:6px}.item-datetime .label-ios-primary,.item-input .label-ios-primary,.item-select .label-ios-primary,.label-ios-primary{color:#673ab7}.item-datetime .label-ios-secondary,.item-input .label-ios-secondary,.item-select .label-ios-secondary,.label-ios-secondary{color:#32db64}.item-datetime .label-ios-danger,.item-input .label-ios-danger,.item-select .label-ios-danger,.label-ios-danger{color:#f53d3d}.item-datetime .label-ios-light,.item-input .label-ios-light,.item-select .label-ios-light,.label-ios-light{color:#f4f4f4}.item-datetime .label-ios-dark,.item-input .label-ios-dark,.item-select .label-ios-dark,.label-ios-dark{color:#222}.item-datetime .label-ios-optblue,.item-input .label-ios-optblue,.item-select .label-ios-optblue,.label-ios-optblue{color:#e00201}.label-md{margin:13px 8px 13px 0}[text-wrap] .label-md{font-size:1.4rem;line-height:1.5}.item-datetime .label-md,.item-input .label-md,.item-select .label-md{color:#999}.label-md[stacked]{font-size:1.2rem}.label-md[floating]{-webkit-transform:translate3d(0,27px,0);transform:translate3d(0,27px,0);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out,-webkit-transform 150ms ease-in-out}.label-md[floating],.label-md[stacked]{margin-left:0;margin-bottom:0}.input-has-focus .label-md[floating],.input-has-focus .label-md[stacked],.item-input-has-focus .label-md[floating],.item-input-has-focus .label-md[stacked]{color:#673ab7}.input-has-focus .label-md[floating],.input-has-value .label-md[floating],.item-input-has-focus .label-md[floating],.item-input-has-value .label-md[floating]{-webkit-transform:translate3d(0,0,0) scale(.8);transform:translate3d(0,0,0) scale(.8)}.item-md.item-label-floating [item-end],.item-md.item-label-floating [item-right],.item-md.item-label-stacked [item-end],.item-md.item-label-stacked [item-right]{margin-top:7px;margin-bottom:7px}.item-datetime .label-md-primary,.item-input .label-md-primary,.item-select .label-md-primary,.label-md-primary{color:#673ab7}.item-datetime .label-md-secondary,.item-input .label-md-secondary,.item-select .label-md-secondary,.label-md-secondary{color:#32db64}.item-datetime .label-md-danger,.item-input .label-md-danger,.item-select .label-md-danger,.label-md-danger{color:#f53d3d}.item-datetime .label-md-light,.item-input .label-md-light,.item-select .label-md-light,.label-md-light{color:#f4f4f4}.item-datetime .label-md-dark,.item-input .label-md-dark,.item-select .label-md-dark,.label-md-dark{color:#222}.item-datetime .label-md-optblue,.item-input .label-md-optblue,.item-select .label-md-optblue,.label-md-optblue{color:#e00201}.label-wp{margin:13px 8px 13px 0}.item-datetime .label-wp,.item-input .label-wp,.item-select .label-wp{color:#999}.label-wp[stacked]{font-size:1.2rem}.label-wp[floating]{-webkit-transform:translate3d(8px,34px,0);transform:translate3d(8px,34px,0);-webkit-transform-origin:left top;transform-origin:left top}.label-wp[floating],.label-wp[stacked]{margin-left:0;margin-bottom:0}.input-has-focus .label-wp[floating],.input-has-focus .label-wp[stacked],.item-input-has-focus .label-wp[floating],.item-input-has-focus .label-wp[stacked]{color:#673ab7}.input-has-focus .label-wp[floating],.input-has-value .label-wp[floating],.item-input-has-focus .label-wp[floating],.item-input-has-value .label-wp[floating]{-webkit-transform:translate3d(0,0,0) scale(.8);transform:translate3d(0,0,0) scale(.8)}.item-wp.item-label-floating [item-end],.item-wp.item-label-floating [item-right],.item-wp.item-label-stacked [item-end],.item-wp.item-label-stacked [item-right]{margin-top:13px;margin-bottom:13px}.item-datetime .label-wp-primary,.item-input .label-wp-primary,.item-select .label-wp-primary,.label-wp-primary{color:#673ab7}.item-datetime .label-wp-secondary,.item-input .label-wp-secondary,.item-select .label-wp-secondary,.label-wp-secondary{color:#32db64}.item-datetime .label-wp-danger,.item-input .label-wp-danger,.item-select .label-wp-danger,.label-wp-danger{color:#f53d3d}.item-datetime .label-wp-light,.item-input .label-wp-light,.item-select .label-wp-light,.label-wp-light{color:#f4f4f4}.item-datetime .label-wp-dark,.item-input .label-wp-dark,.item-select .label-wp-dark,.label-wp-dark{color:#222}.item-datetime .label-wp-optblue,.item-input .label-wp-optblue,.item-select .label-wp-optblue,.label-wp-optblue{color:#e00201}ion-list-header{margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:4rem}ion-list{margin:0;padding:0;display:block;list-style-type:none}ion-list[inset]{overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.list-ios{margin:-1px 0 32px}.list-ios>.item-block:first-child{border-top:.55px solid #c8c7cc}.list-ios>.item-block:last-child,.list-ios>.item-wrapper:last-child .item-block{border-bottom:.55px solid #c8c7cc}.list-ios>.item-block:last-child .item-inner,.list-ios>.item-wrapper:last-child .item-block .item-inner{border-bottom:0}.list-ios .item-block .item-inner{border-bottom:.55px solid #c8c7cc}.list-ios .item[no-lines],.list-ios .item[no-lines] .item-inner{border-width:0}.list-ios ion-item-options{border-bottom:.55px solid #c8c7cc}.list-ios ion-item-options .button{margin:0;border-radius:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;min-height:100%;border:0;-webkit-box-sizing:border-box;box-sizing:border-box}.list-ios ion-item-options .button::before{margin:0 auto}.list-ios:not([inset])+.list-ios:not([inset]) ion-list-header{margin-top:-10px;padding-top:0}.list-ios[inset]{margin:16px;border-radius:4px}.list-ios[inset] ion-list-header{background-color:#fff}.list-ios[inset] .item{border-bottom:1px solid #c8c7cc}.list-ios[inset] .item-inner{border-bottom:0}.list-ios[inset]>.item-wrapper:first-child .item,.list-ios[inset]>.item:first-child{border-top:0}.list-ios[inset]>.item-wrapper:last-child .item,.list-ios[inset]>.item:last-child{border-bottom:0}.list-ios[inset]+ion-list[inset]{margin-top:0}.list-ios[no-lines] .item,.list-ios[no-lines] .item .item-inner,.list-ios[no-lines] ion-item-options,.list-ios[no-lines] ion-list-header{border-width:0}.list-header-ios{padding-left:16px;padding-left:16px;position:relative;border-bottom:.55px solid #c8c7cc;font-size:1.2rem;font-weight:500;letter-spacing:.1rem;text-transform:uppercase;color:#333;background:0 0}@media screen and (orientation:landscape){.list-header-ios{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}.list-header-ios-primary{color:#fff;background-color:#673ab7}.list-header-ios-secondary{color:#fff;background-color:#32db64}.list-header-ios-danger{color:#fff;background-color:#f53d3d}.list-header-ios-light{color:#000;background-color:#f4f4f4}.list-header-ios-dark{color:#fff;background-color:#222}.list-header-ios-optblue{color:#fff;background-color:#e00201}.list-md{margin:-1px 0 16px}.list-md .item-block .item-inner{border-bottom:1px solid #dedede}.list-md>.item-block:last-child .item-inner,.list-md>.item-block:last-child ion-label,.list-md>.item-wrapper:last-child .item-inner,.list-md>.item-wrapper:last-child ion-label{border-bottom:0}.list-md>ion-input:last-child::after{left:0}.list-md ion-item-options{border-bottom:1px solid #dedede}.list-md ion-item-options .button{margin:0;border-radius:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;border:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box}.list-md ion-item-options .button::before{margin:0 auto}.list-md .item[no-lines],.list-md .item[no-lines] .item-inner{border-width:0}.list-md+ion-list ion-list-header{margin-top:-16px}.list-md[inset]{margin:16px;border-radius:2px}.list-md[inset] .item:first-child{border-top-left-radius:2px;border-top-right-radius:2px;border-top-width:0}.list-md[inset] .item:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px;border-bottom-width:0}.list-md[inset] .item-input{padding-left:0;padding-right:0}.list-md[inset]+ion-list[inset]{margin-top:0}.list-md[inset] ion-list-header{background-color:#fff}.list-md[no-lines] .item .item-inner,.list-md[no-lines] .item-block,.list-md[no-lines] ion-item-options{border-width:0}.list-header-md{padding-left:16px;margin-bottom:13px;min-height:4.5rem;border-top:1px solid #dedede;font-size:1.4rem;color:#757575}.list-header-md-primary{color:#fff;background-color:#673ab7}.list-header-md-secondary{color:#fff;background-color:#32db64}.list-header-md-danger{color:#fff;background-color:#f53d3d}.list-header-md-light{color:#000;background-color:#f4f4f4}.list-header-md-dark{color:#fff;background-color:#222}.list-header-md-optblue{color:#fff;background-color:#e00201}.list-md .item-input:last-child{border-bottom:1px solid #dedede}.list-wp{margin:0 0 16px}.list-wp .item-block .item-inner{border-bottom:1px solid transparent}.list-wp>.item-block:first-child,.list-wp>.item-wrapper:first-child .item-block{border-top:1px solid transparent}.list-wp>.item-block:last-child,.list-wp>.item-wrapper:last-child .item-block{border-bottom:1px solid transparent}.list-wp>.item-block:last-child .item-inner,.list-wp>.item-block:last-child ion-label,.list-wp>.item-wrapper:last-child .item-inner,.list-wp>.item-wrapper:last-child ion-label{border-bottom:0}.list-wp>ion-input:last-child::after{left:0}.list-wp ion-item-options .button{margin:1px 0;border-radius:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:calc(100% - 2px);border:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box}.list-wp ion-item-options .button::before{margin:0 auto}.list-wp .item[no-lines],.list-wp .item[no-lines] .item-inner{border-width:0}.list-wp+ion-list ion-list-header{margin-top:-16px;padding-top:0}.list-wp[inset]{margin:16px;border-radius:2px}.list-wp[inset] .item:first-child{border-top-left-radius:2px;border-top-right-radius:2px;border-top-width:0}.list-wp[inset] .item:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px;border-bottom-width:0}.list-wp[inset] .item-input{padding-left:0;padding-right:0}.list-wp[inset]+ion-list[inset]{margin-top:0}.list-wp[inset] ion-list-header{background-color:#fff}.list-wp[no-lines] .item,.list-wp[no-lines] .item .item-inner{border-width:0}.list-header-wp{padding-left:16px;border-bottom:1px solid transparent;font-size:2rem;color:#000}.list-header-wp-primary{color:#fff;background-color:#673ab7}.list-header-wp-secondary{color:#fff;background-color:#32db64}.list-header-wp-danger{color:#fff;background-color:#f53d3d}.list-header-wp-light{color:#000;background-color:#f4f4f4}.list-header-wp-dark{color:#fff;background-color:#222}.list-header-wp-optblue{color:#fff;background-color:#e00201}ion-loading{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;contain:strict}.loading-wrapper{z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;opacity:0}.loading-ios .loading-wrapper{border-radius:8px;max-width:270px;max-height:90%;color:#000;background:#f8f8f8;padding:24px 34px}.loading-ios .loading-content{font-weight:700}.loading-ios .loading-spinner+.loading-content{margin-left:16px}.loading-ios .spinner-ios line,.loading-ios .spinner-ios-small line{stroke:#69717d}.loading-ios .spinner-bubbles circle{fill:#69717d}.loading-ios .spinner-circles circle{fill:#69717d}.loading-ios .spinner-crescent circle{stroke:#69717d}.loading-ios .spinner-dots circle{fill:#69717d}.loading-md .loading-wrapper{border-radius:2px;max-width:280px;max-height:90%;color:rgba(0,0,0,.5);background:#fafafa;-webkit-box-shadow:0 16px 20px rgba(0,0,0,.4);box-shadow:0 16px 20px rgba(0,0,0,.4);padding:24px}.loading-md .loading-spinner+.loading-content{margin-left:16px}.loading-md .spinner-ios line,.loading-md .spinner-ios-small line{stroke:#673ab7}.loading-md .spinner-bubbles circle{fill:#673ab7}.loading-md .spinner-circles circle{fill:#673ab7}.loading-md .spinner-crescent circle{stroke:#673ab7}.loading-md .spinner-dots circle{fill:#673ab7}.loading-wp .loading-wrapper{border-radius:2px;max-width:280px;max-height:90%;color:#fff;background:#000;padding:20px}.loading-wp .loading-spinner+.loading-content{margin-left:16px}.loading-wp .spinner-ios line,.loading-wp .spinner-ios-small line{stroke:#fff}.loading-wp .spinner-bubbles circle{fill:#fff}.loading-wp .spinner-circles circle{fill:#fff}.loading-wp .spinner-crescent circle{stroke:#fff}.loading-wp .spinner-dots circle{fill:#fff}ion-menu{left:0;right:0;top:0;bottom:0;position:absolute;display:none;contain:strict}ion-menu.show-menu{display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px,0,0);transform:translate3d(-9999px,0,0);position:absolute;display:block;width:304px;height:100%;contain:strict}.menu-inner>ion-content,.menu-inner>ion-footer,.menu-inner>ion-header{position:absolute}ion-menu[side=left]>.menu-inner{right:auto;left:0}ion-menu[side=right]>.menu-inner{right:0;left:auto}ion-menu[side=end]>.menu-inner{left:auto;right:0}ion-menu ion-backdrop{z-index:-1;display:none;opacity:.01}.menu-content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.menu-content-open{cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation}.menu-content-open .toolbar,.menu-content-open ion-content,.menu-content-open ion-pane{pointer-events:none}@media (max-width:340px){.menu-inner{width:264px}}ion-menu[type=reveal]{z-index:0}ion-menu[type=reveal].show-menu .menu-inner{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}ion-menu[type=overlay]{z-index:80}ion-menu[type=overlay] .show-backdrop{display:block}.ios .menu-inner{background:#fff}.ios .menu-content-reveal{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.ios .menu-content-push{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.ios ion-menu[type=overlay] .menu-inner{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.md .menu-inner{background:#fff}.md .menu-content-reveal{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.md .menu-content-push{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.md ion-menu[type=overlay] .menu-inner{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.wp .menu-inner{background:#f2f2f2}ion-modal{left:0;top:0;position:absolute;display:block;width:100%;height:100%;contain:strict}@media not all and (min-width:768px) and (min-height:600px){ion-modal ion-backdrop{visibility:hidden}}.modal-wrapper{z-index:10;height:100%;contain:strict}@media only screen and (min-width:768px) and (min-height:600px){.modal-wrapper{left:calc(50% - (600px/2));top:calc(50% - (500px/2));position:absolute;width:600px;height:500px}}@media only screen and (min-width:768px) and (min-height:768px){.modal-wrapper{left:calc(50% - (600px/2));top:calc(50% - (600px/2));position:absolute;width:600px;height:600px}}.ios .modal-wrapper{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}@media only screen and (min-width:768px) and (min-height:600px){.ios .modal-wrapper{border-radius:10px;overflow:hidden}}.md .modal-wrapper{-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0);opacity:.01}@media only screen and (min-width:768px) and (min-height:600px){.md .modal-wrapper{border-radius:2px;overflow:hidden;-webkit-box-shadow:0 28px 48px rgba(0,0,0,.4);box-shadow:0 28px 48px rgba(0,0,0,.4)}}.wp .modal-wrapper{-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0);opacity:.01}.note-ios{color:#aeacb4}.note-ios-primary{color:#673ab7}.note-ios-secondary{color:#32db64}.note-ios-danger{color:#f53d3d}.note-ios-light{color:#f4f4f4}.note-ios-dark{color:#222}.note-ios-optblue{color:#e00201}.note-md{color:#c5c5c5}.note-md-primary{color:#673ab7}.note-md-secondary{color:#32db64}.note-md-danger{color:#f53d3d}.note-md-light{color:#f4f4f4}.note-md-dark{color:#222}.note-md-optblue{color:#e00201}.note-wp{color:rgba(0,0,0,.5)}.note-wp-primary{color:#673ab7}.note-wp-secondary{color:#32db64}.note-wp-danger{color:#f53d3d}.note-wp-light{color:#f4f4f4}.note-wp-dark{color:#222}.note-wp-optblue{color:#e00201}ion-picker-cmp{left:0;top:0;position:absolute;z-index:1000;display:block;width:100%;height:100%;contain:strict}.picker-toolbar{z-index:1;width:100%;contain:strict}.picker-wrapper{left:0;right:0;bottom:0;margin:auto;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);position:absolute;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;max-width:500px;contain:strict}.picker-columns{margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom);position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;contain:strict}.picker-col{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;max-width:100%}.picker-prefix{text-align:right;text-align:end;position:relative;-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2;min-width:45%;max-width:50%;white-space:nowrap}.picker-suffix{text-align:left;text-align:start;position:relative;-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2;min-width:45%;max-width:50%;white-space:nowrap}.picker-opt{left:0;top:0;text-align:center;position:absolute;display:block;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap;will-change:transform;contain:strict}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.picker-above-highlight,.picker-below-highlight{display:none;pointer-events:none}.picker-ios .picker-wrapper{height:260px;border-top:1px solid #c8c7cc;background:#fff}.picker-ios .picker-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:44px;border-bottom:.55px solid #c8c7cc;background:#fff}.picker-ios .picker-toolbar-button{text-align:right;text-align:end;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.picker-ios .picker-toolbar-button:last-child .picker-button{font-weight:600}.picker-ios .picker-toolbar-cancel{text-align:left;text-align:start;font-weight:400}.picker-ios .picker-button,.picker-ios .picker-button.activated{margin:0;height:44px;color:#673ab7;background:0 0}.picker-columns{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-ios .picker-col{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;padding:0 4px}.picker-ios .picker-opts,.picker-ios .picker-prefix,.picker-ios .picker-suffix{top:77px;font-size:20px;line-height:42px;color:#000;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;pointer-events:none}.picker-ios .picker-opt{margin:0;-webkit-transform-origin:center center;transform-origin:center center;height:4.6rem;font-size:20px;line-height:42px;color:#000;background:0 0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto;padding:0}.picker-ios .picker-above-highlight{left:0;top:0;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:10;display:block;width:100%;height:81px;border-bottom:1px solid #c8c7cc;background:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to bottom,#fff 20%,rgba(255,255,255,.7) 100%)}.picker-ios .picker-below-highlight{left:0;top:115px;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:11;display:block;width:100%;height:119px;border-top:1px solid #c8c7cc;background:-webkit-gradient(linear,left bottom,left top,color-stop(30%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to top,#fff 30%,rgba(255,255,255,.7) 100%)}.picker-md .picker-wrapper{height:260px;border-top:.55px solid #dedede;background:#fff}.picker-md .picker-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;height:44px;background:#fff}.picker-md .picker-button,.picker-md .picker-button.activated{margin:0;height:44px;color:#673ab7;background:0 0;-webkit-box-shadow:none;box-shadow:none}.picker-md .picker-columns{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-md .picker-col{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;padding:0 8px}.picker-md .picker-opts,.picker-md .picker-prefix,.picker-md .picker-suffix{top:77px;font-size:22px;line-height:42px;color:#000;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;pointer-events:none}.picker-md .picker-opt{margin:0;height:4.3rem;font-size:22px;line-height:42px;color:#000;background:0 0;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto;padding:0}.picker-md .picker-opt.picker-opt-selected,.picker-md .picker-prefix,.picker-md .picker-suffix{color:#673ab7}.picker-md .picker-above-highlight{left:0;top:0;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:10;width:100%;height:81px;border-bottom:1px solid #dedede;background:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to bottom,#fff 20%,rgba(255,255,255,.7) 100%)}.picker-md .picker-below-highlight{left:0;top:115px;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:11;width:100%;height:119px;border-top:1px solid #dedede;background:-webkit-gradient(linear,left bottom,left top,color-stop(30%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to top,#fff 30%,rgba(255,255,255,.7) 100%)}.picker-wp .picker-wrapper{height:260px;border-top:.55px solid transparent;background:#fff}.picker-wp .picker-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;height:44px;border-width:.55px;background:#fff}.picker-wp .picker-toolbar-button{text-align:right;text-align:end;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.picker-wp .picker-toolbar-cancel{text-align:left;text-align:start;font-weight:400}.picker-wp .picker-button,.picker-wp .picker-button.activated{margin:0;height:44px;color:#673ab7;background:0 0;-webkit-box-shadow:none;box-shadow:none}.picker-wp .picker-columns{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-wp .picker-col{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;padding:0 4px}.picker-wp .picker-opts,.picker-wp .picker-prefix,.picker-wp .picker-suffix{top:77px;font-size:22px;line-height:42px;color:#000;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;pointer-events:none}.picker-wp .picker-opt{margin:0;height:4.2rem;font-size:22px;line-height:42px;color:#000;background:0 0;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto;padding:0}.picker-wp .picker-opt-selected,.picker-wp .picker-prefix,.picker-wp .picker-suffix{color:#673ab7}.picker-wp .picker-above-highlight{left:0;top:0;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:10;width:100%;height:81px;border-bottom:1px solid transparent;background:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to bottom,#fff 20%,rgba(255,255,255,.7) 100%)}.picker-wp .picker-below-highlight{left:0;top:115px;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:11;width:100%;height:119px;border-top:1px solid transparent;background:-webkit-gradient(linear,left bottom,left top,color-stop(30%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to top,#fff 30%,rgba(255,255,255,.7) 100%)}ion-popover{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.popover-wrapper{z-index:10;opacity:0}.popover-content{position:absolute;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.popover-content .scroll-content,.popover-content ion-content{contain:none}.popover-content .scroll-content{position:relative}.popover-ios .popover-content{border-radius:10px;width:200px;min-width:0;min-height:0;max-height:90%;color:#000;background:#fff}.popover-ios .popover-arrow{position:absolute;display:block;overflow:hidden;width:20px;height:10px}.popover-ios .popover-arrow::after{left:3px;top:3px;border-radius:3px;position:absolute;z-index:10;width:14px;height:14px;background-color:#fff;content:"";-webkit-transform:rotate(45deg);transform:rotate(45deg)}.popover-ios.popover-bottom .popover-arrow{top:auto;bottom:-10px}.popover-ios.popover-bottom .popover-arrow::after{top:-6px}.popover-ios .item-ios{padding-left:16px}.popover-ios .item-ios[detail-push] .item-inner,.popover-ios a.item-ios:not([detail-none]) .item-inner,.popover-ios button.item-ios:not([detail-none]) .item-inner{background-position:right 14px center}.popover-md .popover-content{border-radius:2px;-webkit-transform-origin:left top;transform-origin:left top;width:250px;min-width:0;min-height:0;max-height:90%;color:#000;background:#fff;-webkit-box-shadow:0 3px 12px 2px rgba(0,0,0,.3);box-shadow:0 3px 12px 2px rgba(0,0,0,.3)}.popover-md .popover-viewport{opacity:0;-webkit-transition-delay:.1s;transition-delay:.1s}.popover-wp .popover-content{border-radius:0;-webkit-transform-origin:left top;transform-origin:left top;width:200px;min-width:0;min-height:0;max-height:90%;border:2px solid #ccc;color:#000;background:#fff}.popover-wp .popover-viewport{opacity:0;-webkit-transition-delay:.1s;transition-delay:.1s}.radio-ios{position:relative;display:inline-block}.radio-ios .radio-icon{position:relative;display:block;width:16px;height:21px}.radio-ios .radio-checked .radio-inner{left:7px;top:4px;position:absolute;width:5px;height:12px;border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#673ab7;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.item-ios.item-radio-disabled ion-label,.radio-ios.radio-disabled{opacity:.3;pointer-events:none}.item-ios .radio-ios{position:static;display:block;margin:8px 11px 8px 8px}.item-ios .radio-ios[item-left],.item-ios .radio-ios[item-start]{margin:8px 21px 8px 3px}.item-radio.item-ios ion-label{margin-left:0}.item-radio-checked.item-ios ion-label{color:#673ab7}.item-radio-ios-primary.item-radio-checked ion-label{color:#673ab7}.radio-ios-primary .radio-checked{color:#673ab7}.radio-ios-primary .radio-checked .radio-inner{border-color:#673ab7}.item-radio-ios-secondary.item-radio-checked ion-label{color:#32db64}.radio-ios-secondary .radio-checked{color:#32db64}.radio-ios-secondary .radio-checked .radio-inner{border-color:#32db64}.item-radio-ios-danger.item-radio-checked ion-label{color:#f53d3d}.radio-ios-danger .radio-checked{color:#f53d3d}.radio-ios-danger .radio-checked .radio-inner{border-color:#f53d3d}.item-radio-ios-light.item-radio-checked ion-label{color:#f4f4f4}.radio-ios-light .radio-checked{color:#f4f4f4}.radio-ios-light .radio-checked .radio-inner{border-color:#f4f4f4}.item-radio-ios-dark.item-radio-checked ion-label{color:#222}.radio-ios-dark .radio-checked{color:#222}.radio-ios-dark .radio-checked .radio-inner{border-color:#222}.item-radio-ios-optblue.item-radio-checked ion-label{color:#e00201}.radio-ios-optblue .radio-checked{color:#e00201}.radio-ios-optblue .radio-checked .radio-inner{border-color:#e00201}.radio-md{position:relative;display:inline-block}.radio-md .radio-icon{left:0;top:0;margin:0;border-radius:50%;position:relative;display:block;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#787878}.radio-md .radio-inner{left:2px;top:2px;border-radius:50%;position:absolute;width:8px;height:8px;background-color:#673ab7;-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0);-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1);transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1);transition:transform 280ms cubic-bezier(.4,0,.2,1);transition:transform 280ms cubic-bezier(.4,0,.2,1),-webkit-transform 280ms cubic-bezier(.4,0,.2,1)}.radio-md .radio-checked{border-color:#673ab7}.radio-md .radio-checked .radio-inner{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.item-md.item-radio-disabled ion-label,.radio-md.radio-disabled{opacity:.3;pointer-events:none}.item-md .radio-md{position:static;display:block;margin:9px 10px 9px 0}.item-md .radio-md[item-left],.item-md .radio-md[item-start]{margin:11px 36px 10px 4px}.item-radio.item-md ion-label{margin-left:0}.item-radio-checked.item-md ion-label{color:#673ab7}.item-radio-md-primary.item-radio-checked ion-label{color:#673ab7}.radio-md-primary .radio-checked{border-color:#673ab7}.radio-md-primary .radio-inner{background-color:#673ab7}.item-radio-md-secondary.item-radio-checked ion-label{color:#32db64}.radio-md-secondary .radio-checked{border-color:#32db64}.radio-md-secondary .radio-inner{background-color:#32db64}.item-radio-md-danger.item-radio-checked ion-label{color:#f53d3d}.radio-md-danger .radio-checked{border-color:#f53d3d}.radio-md-danger .radio-inner{background-color:#f53d3d}.item-radio-md-light.item-radio-checked ion-label{color:#f4f4f4}.radio-md-light .radio-checked{border-color:#f4f4f4}.radio-md-light .radio-inner{background-color:#f4f4f4}.item-radio-md-dark.item-radio-checked ion-label{color:#222}.radio-md-dark .radio-checked{border-color:#222}.radio-md-dark .radio-inner{background-color:#222}.item-radio-md-optblue.item-radio-checked ion-label{color:#e00201}.radio-md-optblue .radio-checked{border-color:#e00201}.radio-md-optblue .radio-inner{background-color:#e00201}.radio-wp{position:relative;display:inline-block}.radio-wp .radio-icon{left:0;top:0;margin:0;border-radius:50%;position:relative;display:block;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#333}.radio-wp .radio-inner{left:2px;top:2px;border-radius:50%;position:absolute;display:none;width:8px;height:8px;background-color:#333}.radio-wp .radio-checked{border-color:#673ab7}.radio-wp .radio-checked .radio-inner{display:block}.item-wp.item-radio-disabled ion-label,.radio-wp.radio-disabled{opacity:.3;pointer-events:none}.item-wp .radio-wp{position:static;display:block;-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1;margin:9px 20px 9px 4px}.item-wp .radio-wp[item-end],.item-wp .radio-wp[item-right]{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;margin:11px 10px 10px 0}.item-radio.item-wp ion-label{margin-left:0}.radio-wp-primary .radio-checked{border-color:#673ab7}.radio-wp-secondary .radio-checked{border-color:#32db64}.radio-wp-danger .radio-checked{border-color:#f53d3d}.radio-wp-light .radio-checked{border-color:#f4f4f4}.radio-wp-dark .radio-checked{border-color:#222}.radio-wp-optblue .radio-checked{border-color:#e00201}.item-range .item-inner{overflow:visible;width:100%}.item-range .input-wrapper{overflow:visible;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.item-range ion-range{width:100%}.item-range ion-range ion-label{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}ion-range{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}ion-range ion-label{-webkit-box-flex:initial;-webkit-flex:initial;-ms-flex:initial;flex:initial}ion-range ion-icon{min-height:2.4rem;font-size:2.4rem;line-height:1}.range-slider{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;cursor:pointer}.range-ios{padding:8px 16px}.range-ios [range-left]{margin:0 20px 0 0}.range-ios [range-right]{margin:0 0 0 20px}.range-ios.range-has-pin{padding-top:20px}.range-ios .range-slider{height:42px}.range-ios .range-bar{left:0;top:21px;border-radius:1px;position:absolute;width:100%;height:1px;background:#bdbdbd;pointer-events:none}.range-ios.range-pressed .range-bar-active{will-change:left,right}.range-ios.range-pressed .range-knob-handle{will-change:left}.range-ios .range-bar-active{bottom:0;width:auto;background:#673ab7}.range-ios .range-knob-handle{left:0;top:21px;margin-left:-21px;margin-top:-21px;text-align:center;position:absolute;width:42px;height:42px}.range-ios .range-knob{left:7px;top:7px;border-radius:50%;position:absolute;width:28px;height:28px;background:#fff;-webkit-box-shadow:0 3px 1px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.13),0 0 0 1px rgba(0,0,0,.02);box-shadow:0 3px 1px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.13),0 0 0 1px rgba(0,0,0,.02);pointer-events:none}.range-ios .range-tick{margin-left:-.5px;border-radius:0;position:absolute;top:17.5px;width:1px;height:8px;background:#bdbdbd;pointer-events:none}.range-ios .range-tick-active{background:#673ab7}.range-ios .range-pin{text-align:center;border-radius:50px;-webkit-transform:translate3d(0,28px,0) scale(.01);transform:translate3d(0,28px,0) scale(.01);position:relative;top:-20px;display:inline-block;min-width:28px;font-size:12px;color:#000;background:0 0;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease,-webkit-transform 120ms ease;padding:8px}.range-ios .range-knob-pressed .range-pin{-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.range-ios.range-disabled{opacity:.5}.range-ios-primary .range-bar-active,.range-ios-primary .range-tick-active{background:#673ab7}.range-ios-secondary .range-bar-active,.range-ios-secondary .range-tick-active{background:#32db64}.range-ios-danger .range-bar-active,.range-ios-danger .range-tick-active{background:#f53d3d}.range-ios-light .range-bar-active,.range-ios-light .range-tick-active{background:#f4f4f4}.range-ios-dark .range-bar-active,.range-ios-dark .range-tick-active{background:#222}.range-ios-optblue .range-bar-active,.range-ios-optblue .range-tick-active{background:#e00201}.range-md{padding:8px}.range-md [range-left]{margin:0 12px 0 0}.range-md [range-right]{margin:0 0 0 12px}.range-md.range-has-pin{padding-top:28px}.range-md .range-slider{height:42px}.range-md .range-bar{left:0;top:21px;position:absolute;width:100%;height:2px;background:#bdbdbd;pointer-events:none}.range-md.range-pressed .range-bar-active{will-change:left,right}.range-md.range-pressed .range-knob-handle{will-change:left}.range-md .range-bar-active{bottom:0;width:auto;background:#673ab7}.range-md .range-knob-handle{left:0;top:21px;margin-left:-21px;margin-top:-21px;text-align:center;position:absolute;width:42px;height:42px}.range-md .range-knob{left:12px;top:13px;border-radius:50%;position:absolute;z-index:2;width:18px;height:18px;background:#673ab7;-webkit-transform:scale(.67);transform:scale(.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color,border,-webkit-transform;transition-property:background-color,border,-webkit-transform;transition-property:transform,background-color,border;transition-property:transform,background-color,border,-webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;pointer-events:none}.range-md .range-tick{margin-left:-1px;border-radius:50%;position:absolute;top:21px;z-index:1;width:2px;height:2px;background:#000;pointer-events:none}.range-md .range-tick-active{background:#000}.range-md .range-pin{padding:8px 0;text-align:center;border-radius:50%;-webkit-transform:translate3d(0,28px,0) scale(.01);transform:translate3d(0,28px,0) scale(.01);position:relative;top:-20px;display:inline-block;min-width:28px;height:28px;font-size:12px;color:#fff;background:#673ab7;-webkit-transition:background-color 120ms ease,-webkit-transform 120ms ease;transition:background-color 120ms ease,-webkit-transform 120ms ease;transition:transform 120ms ease,background-color 120ms ease;transition:transform 120ms ease,background-color 120ms ease,-webkit-transform 120ms ease}.range-md .range-pin::before{left:50%;top:3px;border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:0;margin-left:-13px;position:absolute;z-index:-1;width:26px;height:26px;background:#673ab7;content:"";-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background-color 120ms ease;transition:background-color 120ms ease}.range-md .range-knob-pressed .range-pin{-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.range-md:not(.range-has-pin) .range-knob-pressed .range-knob{-webkit-transform:scale(1);transform:scale(1)}.range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md .range-knob-min.range-knob-min .range-pin,.range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md.range-disabled .range-bar-active{background-color:#bdbdbd}.range-md.range-disabled .range-knob{outline:5px solid #fff;background-color:#bdbdbd;-webkit-transform:scale(.55);transform:scale(.55)}.range-md-primary .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-primary .range-md .range-knob-min.range-knob-min .range-pin,.range-md-primary .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-primary .range-bar-active,.range-md-primary .range-knob,.range-md-primary .range-pin,.range-md-primary .range-pin::before{background:#673ab7}.range-md-secondary .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-secondary .range-md .range-knob-min.range-knob-min .range-pin,.range-md-secondary .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-secondary .range-bar-active,.range-md-secondary .range-knob,.range-md-secondary .range-pin,.range-md-secondary .range-pin::before{background:#32db64}.range-md-danger .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-danger .range-md .range-knob-min.range-knob-min .range-pin,.range-md-danger .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-danger .range-bar-active,.range-md-danger .range-knob,.range-md-danger .range-pin,.range-md-danger .range-pin::before{background:#f53d3d}.range-md-light .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-light .range-md .range-knob-min.range-knob-min .range-pin,.range-md-light .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-light .range-bar-active,.range-md-light .range-knob,.range-md-light .range-pin,.range-md-light .range-pin::before{background:#f4f4f4}.range-md-dark .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-dark .range-md .range-knob-min.range-knob-min .range-pin,.range-md-dark .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-dark .range-bar-active,.range-md-dark .range-knob,.range-md-dark .range-pin,.range-md-dark .range-pin::before{background:#222}.range-md-optblue .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-optblue .range-md .range-knob-min.range-knob-min .range-pin,.range-md-optblue .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-optblue .range-bar-active,.range-md-optblue .range-knob,.range-md-optblue .range-pin,.range-md-optblue .range-pin::before{background:#e00201}.range-wp{padding:8px}.range-wp [range-left]{margin:0 12px 0 0}.range-wp [range-right]{margin:0 0 0 12px}.range-wp.range-has-pin{padding-top:28px}.range-wp .range-slider{height:42px}.range-wp .range-bar{left:0;top:21px;position:absolute;width:100%;height:2px;background:#bdbdbd;pointer-events:none}.range-wp.range-pressed .range-bar-active{will-change:left,right}.range-wp.range-pressed .range-knob-handle{will-change:left}.range-wp .range-bar-active{bottom:0;width:auto;background:#673ab7}.range-wp .range-knob-handle{left:0;top:21px;margin-left:-21px;margin-top:-21px;text-align:center;position:absolute;width:42px;height:42px}.range-wp .range-knob{left:17px;top:10px;border-radius:4px;position:absolute;width:8px;height:24px;background:#673ab7;pointer-events:none}.range-wp .range-tick{margin-left:-1px;border-radius:4px;position:absolute;top:19px;width:2px;height:6px;background:#bdbdbd;pointer-events:none}.range-wp .range-tick-active{background:#673ab7}.range-wp .range-pin{text-align:center;border-radius:50px;-webkit-transform:translate3d(0,28px,0) scale(.01);transform:translate3d(0,28px,0) scale(.01);position:relative;top:-24px;display:inline-block;min-width:28px;font-size:12px;color:#fff;background:#673ab7;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease,-webkit-transform 120ms ease;padding:8px}.range-wp .range-knob-pressed .range-pin{-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.range-wp.range-disabled{opacity:.5}.range-wp-primary .range-bar-active,.range-wp-primary .range-knob,.range-wp-primary .range-pin,.range-wp-primary .range-tick-active{background:#673ab7}.range-wp-secondary .range-bar-active,.range-wp-secondary .range-knob,.range-wp-secondary .range-pin,.range-wp-secondary .range-tick-active{background:#32db64}.range-wp-danger .range-bar-active,.range-wp-danger .range-knob,.range-wp-danger .range-pin,.range-wp-danger .range-tick-active{background:#f53d3d}.range-wp-light .range-bar-active,.range-wp-light .range-knob,.range-wp-light .range-pin,.range-wp-light .range-tick-active{background:#f4f4f4}.range-wp-dark .range-bar-active,.range-wp-dark .range-knob,.range-wp-dark .range-pin,.range-wp-dark .range-tick-active{background:#222}.range-wp-optblue .range-bar-active,.range-wp-optblue .range-knob,.range-wp-optblue .range-pin,.range-wp-optblue .range-tick-active{background:#e00201}ion-refresher{left:0;top:0;position:absolute;z-index:0;display:none;width:100%;height:60px}ion-refresher.refresher-active{display:block}.has-refresher>.scroll-content{margin-top:-1px;border-top:1px solid #ddd;-webkit-transition:-webkit-transform 320ms cubic-bezier(.36,.66,.04,1);transition:-webkit-transform 320ms cubic-bezier(.36,.66,.04,1);transition:transform 320ms cubic-bezier(.36,.66,.04,1);transition:transform 320ms cubic-bezier(.36,.66,.04,1),-webkit-transform 320ms cubic-bezier(.36,.66,.04,1)}ion-refresher-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{text-align:center;-webkit-transform-origin:center;transform-origin:center;font-size:30px;color:#000;-webkit-transition:.2s;transition:.2s}.refresher-pulling-text,.refresher-refreshing-text{text-align:center;font-size:16px;color:#000}.refresher-refreshing .spinner-crescent circle,.refresher-refreshing .spinner-ios line,.refresher-refreshing .spinner-ios-small line{stroke:#000}.refresher-refreshing .spinner-bubbles circle,.refresher-refreshing .spinner-circles circle,.refresher-refreshing .spinner-dots circle{fill:#000}ion-refresher-content[state=pulling] .refresher-pulling{display:block}ion-refresher-content[state=ready] .refresher-pulling{display:block}ion-refresher-content[state=ready] .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}ion-refresher-content[state=refreshing] .refresher-refreshing{display:block}ion-refresher-content[state=cancelling] .refresher-pulling{display:block}ion-refresher-content[state=cancelling] .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}ion-refresher-content[state=completing] .refresher-refreshing{display:block}ion-refresher-content[state=completing] .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}ion-scroll{position:relative;display:block}ion-scroll.scroll-x .scroll-content{overflow-x:auto}ion-scroll.scroll-y .scroll-content{overflow-y:auto}ion-scroll[center] .scroll-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}ion-scroll .scroll-content{left:0;right:0;top:0;bottom:0;position:absolute;overflow-y:hidden;overflow-x:hidden;-webkit-overflow-scrolling:touch;will-change:scroll-position}ion-searchbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%}.searchbar-icon{pointer-events:none}.searchbar-input-container{position:relative;display:block;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input{-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;border:0;font-family:inherit}.searchbar-clear-icon{margin:0;padding:0;display:none;min-height:0}.searchbar-has-value.searchbar-has-focus .searchbar-clear-icon{display:block}.searchbar-ios{padding:0 8px;min-height:44px;border-top:.55px solid transparent;border-bottom:.55px solid rgba(0,0,0,.05);background:rgba(0,0,0,.2)}.searchbar-ios .searchbar-search-icon{left:9px;top:9px;background-image:url("data:image/svg+xml;charset=utf-8,");margin-left:calc(50% - 60px);position:absolute;width:14px;height:14px;background-repeat:no-repeat;background-size:13px}.searchbar-ios .searchbar-input{padding:0 28px;border-radius:5px;height:3rem;font-size:1.4rem;font-weight:400;color:#000;background-color:#fff}.searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(0,0,0,.5)}.searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(0,0,0,.5)}.searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(0,0,0,.5)}.searchbar-ios .searchbar-clear-icon{right:0;top:0;background-image:url("data:image/svg+xml;charset=utf-8,");background-position:center;position:absolute;width:30px;height:100%;background-repeat:no-repeat;background-size:18px}.searchbar-ios .searchbar-ios-cancel{padding:0 0 0 8px;margin-left:0;display:none;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;height:30px;cursor:pointer}.searchbar-ios.searchbar-left-aligned .searchbar-search-icon{margin-left:0}.searchbar-ios.searchbar-left-aligned .searchbar-input{padding-left:30px}.searchbar-ios.searchbar-show-cancel.searchbar-has-focus .searchbar-ios-cancel{display:block}.toolbar .searchbar-ios{border-bottom-width:0;background:0 0}.toolbar .searchbar-ios .searchbar-input{background:rgba(0,0,0,.08)}.toolbar .searchbar-ios .searchbar-ios-cancel{padding:0}.toolbar .searchbar-ios.searchbar-has-focus .searchbar-ios-cancel{padding-left:8px}.searchbar-ios .searchbar-md-cancel{display:none}.searchbar-ios-primary .searchbar-ios-cancel{color:#673ab7}.searchbar-ios-primary .searchbar-ios-cancel:hover:not(.disable-hover){color:#734abd}.toolbar-ios-primary .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-primary .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-primary .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-primary .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-primary .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-primary .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-primary .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios-secondary .searchbar-ios-cancel{color:#32db64}.searchbar-ios-secondary .searchbar-ios-cancel:hover:not(.disable-hover){color:#2ec95c}.toolbar-ios-secondary .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-secondary .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-secondary .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-secondary .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-secondary .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-secondary .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-secondary .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios-danger .searchbar-ios-cancel{color:#f53d3d}.searchbar-ios-danger .searchbar-ios-cancel:hover:not(.disable-hover){color:#e13838}.toolbar-ios-danger .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-danger .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-danger .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-danger .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-danger .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-danger .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-danger .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios-light .searchbar-ios-cancel{color:#f4f4f4}.searchbar-ios-light .searchbar-ios-cancel:hover:not(.disable-hover){color:#e0e0e0}.toolbar-ios-light .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-light .searchbar-ios .searchbar-input{color:#000;background:rgba(0,0,0,.08)}.toolbar-ios-light .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(0,0,0,.5)}.toolbar-ios-light .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(0,0,0,.5)}.toolbar-ios-light .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(0,0,0,.5)}.toolbar-ios-light .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-light .searchbar-ios .searchbar-ios-cancel{color:#673ab7}.searchbar-ios-dark .searchbar-ios-cancel{color:#222}.searchbar-ios-dark .searchbar-ios-cancel:hover:not(.disable-hover){color:#343434}.toolbar-ios-dark .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-dark .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-dark .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-dark .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-dark .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-dark .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-dark .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios-optblue .searchbar-ios-cancel{color:#e00201}.searchbar-ios-optblue .searchbar-ios-cancel:hover:not(.disable-hover){color:#e21615}.toolbar-ios-optblue .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-optblue .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-optblue .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-optblue .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-optblue .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-optblue .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-optblue .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios.searchbar-animated.searchbar-show-cancel .searchbar-ios-cancel{display:block}.searchbar-ios.searchbar-animated .searchbar-input,.searchbar-ios.searchbar-animated .searchbar-search-icon{-webkit-transition:all .3s ease;transition:all .3s ease}.searchbar-animated.searchbar-has-focus .searchbar-ios-cancel{opacity:1;pointer-events:auto}.searchbar-animated .searchbar-ios-cancel{margin-right:-100%;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:0;-webkit-transition:all .3s ease;transition:all .3s ease;pointer-events:none}.searchbar-md{background:inherit;padding:8px}.searchbar-md .searchbar-search-icon{left:16px;top:11px;background-image:url("data:image/svg+xml;charset=utf-8,");width:21px;height:21px}.searchbar-md .searchbar-md-cancel{left:10px;top:0;margin:0;display:none;width:21px;height:100%}.searchbar-md .searchbar-md-cancel,.searchbar-md .searchbar-search-icon{position:absolute;background-repeat:no-repeat;background-size:20px}.searchbar-md .searchbar-md-cancel.activated,.searchbar-md .searchbar-search-icon.activated{background-color:transparent}.searchbar-md .searchbar-input{padding:6px 55px;border-radius:2px;background-position:left 8px center;height:auto;font-size:1.6rem;font-weight:400;line-height:3rem;color:#141414;background-color:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.searchbar-md .searchbar-input::-moz-placeholder{color:#aeaeae}.searchbar-md .searchbar-input:-ms-input-placeholder{color:#aeaeae}.searchbar-md .searchbar-input::-webkit-input-placeholder{text-indent:0;color:#aeaeae}.searchbar-md .searchbar-clear-icon{right:13px;top:0;background-image:url("data:image/svg+xml;charset=utf-8,");padding:0;background-position:center;position:absolute;width:22px;height:100%;background-repeat:no-repeat;background-size:22px}.searchbar-md .searchbar-clear-icon.activated{background-color:transparent}.searchbar-md.searchbar-has-focus.searchbar-show-cancel .searchbar-search-icon{display:none}.searchbar-md.searchbar-has-focus.searchbar-show-cancel .searchbar-md-cancel{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.toolbar .searchbar-md{padding:3px}.toolbar .searchbar-md .searchbar-md-cancel{left:14px}.searchbar-md .searchbar-ios-cancel{display:none}.searchbar-wp{background:0 0;padding:8px}.searchbar-wp .searchbar-input-container{border:2px solid rgba(0,0,0,.5)}.searchbar-wp .searchbar-search-icon{right:8px;top:5px;background-image:url("data:image/svg+xml;charset=utf-8,");position:absolute;width:21px;height:21px;background-repeat:no-repeat;background-size:20px}.searchbar-wp .searchbar-search-icon.activated{background-color:transparent}.searchbar-wp .searchbar-input{padding:0 8px;border-radius:0;background-position:left 8px center;height:auto;font-size:1.4rem;font-weight:400;line-height:3rem;color:#141414;background-color:#fff}.searchbar-wp .searchbar-input::-moz-placeholder{color:#858585}.searchbar-wp .searchbar-input:-ms-input-placeholder{color:#858585}.searchbar-wp .searchbar-input::-webkit-input-placeholder{text-indent:0;color:#858585}.searchbar-wp .searchbar-clear-icon{right:8px;top:0;background-image:url("data:image/svg+xml;charset=utf-8,");padding:0;background-position:center;position:absolute;width:22px;height:100%;background-repeat:no-repeat;background-size:22px}.searchbar-wp .searchbar-clear-icon.activated{background-color:transparent}.searchbar-wp.searchbar-has-focus .searchbar-input-container{border-color:#673ab7}.searchbar-wp.searchbar-has-value .searchbar-search-icon{display:none}.searchbar-wp .searchbar-ios-cancel{display:none}.searchbar-wp .searchbar-md-cancel{display:none}.toolbar .searchbar-wp{padding:2px}.searchbar-wp-primary.searchbar-has-focus .searchbar-input-container{border-color:#673ab7}.searchbar-wp-secondary.searchbar-has-focus .searchbar-input-container{border-color:#32db64}.searchbar-wp-danger.searchbar-has-focus .searchbar-input-container{border-color:#f53d3d}.searchbar-wp-light.searchbar-has-focus .searchbar-input-container{border-color:#f4f4f4}.searchbar-wp-dark.searchbar-has-focus .searchbar-input-container{border-color:#222}.searchbar-wp-optblue.searchbar-has-focus .searchbar-input-container{border-color:#e00201}ion-segment{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%}.segment-button{margin-left:0;margin-right:0;text-align:center;position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.segment-ios .segment-button{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:0;height:3.2rem;border-width:1px;border-style:solid;border-color:#673ab7;font-size:1.3rem;line-height:3rem;color:#673ab7;background-color:transparent}.segment-ios .segment-button ion-icon{font-size:2.6rem;line-height:2.8rem}.segment-ios .segment-button.segment-activated{color:#fff;background-color:#673ab7;opacity:1;-webkit-transition:.1s all linear;transition:.1s all linear}.segment-ios .segment-button:hover:not(.segment-activated){background-color:rgba(103,58,183,.1);-webkit-transition:.1s all linear;transition:.1s all linear}.segment-ios .segment-button:active:not(.segment-activated){background-color:rgba(103,58,183,.16);-webkit-transition:.1s all linear;transition:.1s all linear}.segment-ios .segment-button:first-of-type{border-top-left-radius:4px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;margin-right:0}.segment-ios .segment-button:not(:first-of-type){border-left-width:0}.segment-ios .segment-button:last-of-type{border-top-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0;margin-left:0;border-left-width:0}[dir=rtl] .segment-ios .segment-button:first-of-type{border-left-width:0}[dir=rtl] .segment-ios .segment-button:last-of-type{border-left-width:1px}.segment-ios.segment-disabled{opacity:.4;pointer-events:none}.segment-ios .segment-button-disabled{color:rgba(103,58,183,.3);pointer-events:none}.toolbar-ios .segment-ios{left:0;right:0;top:0;bottom:0;position:absolute}.toolbar-ios .segment-button{max-width:100px;height:2.6rem;font-size:1.2rem;line-height:2.5rem}.toolbar-ios .segment-button ion-icon{font-size:2.2rem;line-height:2.4rem}.segment-ios-primary .segment-button{border-color:#673ab7;color:#673ab7}.segment-ios-primary .segment-button:hover:not(.segment-activated){background-color:rgba(103,58,183,.1)}.segment-ios-primary .segment-button:active:not(.segment-activated){background-color:rgba(103,58,183,.16)}.segment-ios-primary .segment-button.segment-activated{color:#fff;background-color:#673ab7}.segment-ios-primary .segment-button-disabled{color:rgba(103,58,183,.3)}.toolbar-ios-primary .segment-ios .segment-button.segment-activated{color:#673ab7}.segment-ios-secondary .segment-button{border-color:#32db64;color:#32db64}.segment-ios-secondary .segment-button:hover:not(.segment-activated){background-color:rgba(50,219,100,.1)}.segment-ios-secondary .segment-button:active:not(.segment-activated){background-color:rgba(50,219,100,.16)}.segment-ios-secondary .segment-button.segment-activated{color:#fff;background-color:#32db64}.segment-ios-secondary .segment-button-disabled{color:rgba(50,219,100,.3)}.toolbar-ios-secondary .segment-ios .segment-button.segment-activated{color:#32db64}.segment-ios-danger .segment-button{border-color:#f53d3d;color:#f53d3d}.segment-ios-danger .segment-button:hover:not(.segment-activated){background-color:rgba(245,61,61,.1)}.segment-ios-danger .segment-button:active:not(.segment-activated){background-color:rgba(245,61,61,.16)}.segment-ios-danger .segment-button.segment-activated{color:#fff;background-color:#f53d3d}.segment-ios-danger .segment-button-disabled{color:rgba(245,61,61,.3)}.toolbar-ios-danger .segment-ios .segment-button.segment-activated{color:#f53d3d}.segment-ios-light .segment-button{border-color:#f4f4f4;color:#f4f4f4}.segment-ios-light .segment-button:hover:not(.segment-activated){background-color:rgba(244,244,244,.1)}.segment-ios-light .segment-button:active:not(.segment-activated){background-color:rgba(244,244,244,.16)}.segment-ios-light .segment-button.segment-activated{color:#000;background-color:#f4f4f4}.segment-ios-light .segment-button-disabled{color:rgba(244,244,244,.3)}.toolbar-ios-light .segment-ios .segment-button.segment-activated{color:#f4f4f4}.segment-ios-dark .segment-button{border-color:#222;color:#222}.segment-ios-dark .segment-button:hover:not(.segment-activated){background-color:rgba(34,34,34,.1)}.segment-ios-dark .segment-button:active:not(.segment-activated){background-color:rgba(34,34,34,.16)}.segment-ios-dark .segment-button.segment-activated{color:#fff;background-color:#222}.segment-ios-dark .segment-button-disabled{color:rgba(34,34,34,.3)}.toolbar-ios-dark .segment-ios .segment-button.segment-activated{color:#222}.segment-ios-optblue .segment-button{border-color:#e00201;color:#e00201}.segment-ios-optblue .segment-button:hover:not(.segment-activated){background-color:rgba(224,2,1,.1)}.segment-ios-optblue .segment-button:active:not(.segment-activated){background-color:rgba(224,2,1,.16)}.segment-ios-optblue .segment-button.segment-activated{color:#fff;background-color:#e00201}.segment-ios-optblue .segment-button-disabled{color:rgba(224,2,1,.3)}.toolbar-ios-optblue .segment-ios .segment-button.segment-activated{color:#e00201}.segment-md .segment-button{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:0;height:4.2rem;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,.1);font-size:1.2rem;font-weight:500;line-height:4rem;text-transform:uppercase;color:#673ab7;background-color:transparent;opacity:.7;-webkit-transition:.1s all linear;transition:.1s all linear;padding:0 6px}.segment-md .segment-button ion-icon{font-size:2.6rem;line-height:4rem}.segment-md .segment-button.activated,.segment-md .segment-button.segment-activated{border-color:#673ab7;opacity:1}.segment-md .segment-button-disabled,.segment-md.segment-disabled{opacity:.3;pointer-events:none}.toolbar .segment-md{margin:0 auto}.toolbar .segment-md .segment-button.activated,.toolbar .segment-md .segment-button.segment-activated{opacity:1}.segment-md-primary .segment-button{color:#673ab7}.segment-md-primary .segment-button.activated,.segment-md-primary .segment-button.segment-activated{border-color:#673ab7;color:#673ab7;opacity:1}.segment-md-secondary .segment-button{color:#32db64}.segment-md-secondary .segment-button.activated,.segment-md-secondary .segment-button.segment-activated{border-color:#32db64;color:#32db64;opacity:1}.segment-md-danger .segment-button{color:#f53d3d}.segment-md-danger .segment-button.activated,.segment-md-danger .segment-button.segment-activated{border-color:#f53d3d;color:#f53d3d;opacity:1}.segment-md-light .segment-button{color:#f4f4f4}.segment-md-light .segment-button.activated,.segment-md-light .segment-button.segment-activated{border-color:#f4f4f4;color:#f4f4f4;opacity:1}.segment-md-dark .segment-button{color:#222}.segment-md-dark .segment-button.activated,.segment-md-dark .segment-button.segment-activated{border-color:#222;color:#222;opacity:1}.segment-md-optblue .segment-button{color:#e00201}.segment-md-optblue .segment-button.activated,.segment-md-optblue .segment-button.segment-activated{border-color:#e00201;color:#e00201;opacity:1}.segment-wp{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.segment-wp .segment-button{height:4rem;font-size:1.3rem;font-weight:700;line-height:4rem;text-transform:uppercase;color:#000;background-color:transparent;opacity:.5;padding:0 6px}.segment-wp .segment-button.segment-activated{opacity:1}.segment-wp .segment-button ion-icon{font-size:2.6rem;line-height:4rem}.segment-wp .segment-button-disabled,.segment-wp.segment-disabled{opacity:.3;pointer-events:none}.toolbar .segment-wp{margin:0 auto}.segment-wp-primary .segment-button{color:#673ab7}.segment-wp-primary .segment-button.activated,.segment-wp-primary .segment-button.segment-activated{border-color:#673ab7;color:#673ab7;opacity:1}.segment-wp-secondary .segment-button{color:#32db64}.segment-wp-secondary .segment-button.activated,.segment-wp-secondary .segment-button.segment-activated{border-color:#32db64;color:#32db64;opacity:1}.segment-wp-danger .segment-button{color:#f53d3d}.segment-wp-danger .segment-button.activated,.segment-wp-danger .segment-button.segment-activated{border-color:#f53d3d;color:#f53d3d;opacity:1}.segment-wp-light .segment-button{color:#f4f4f4}.segment-wp-light .segment-button.activated,.segment-wp-light .segment-button.segment-activated{border-color:#f4f4f4;color:#f4f4f4;opacity:1}.segment-wp-dark .segment-button{color:#222}.segment-wp-dark .segment-button.activated,.segment-wp-dark .segment-button.segment-activated{border-color:#222;color:#222;opacity:1}.segment-wp-optblue .segment-button{color:#e00201}.segment-wp-optblue .segment-button.activated,.segment-wp-optblue .segment-button.segment-activated{border-color:#e00201;color:#e00201;opacity:1}ion-select{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;max-width:45%}.select-text{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap}.item-multiple-inputs ion-select{position:relative}.item-select-disabled ion-label,.select-disabled{opacity:.4;pointer-events:none}.select-popover ion-list{margin:-1px 0}.select-ios{padding:11px 8px 11px 16px}.select-ios .select-placeholder{color:#999}.select-ios .select-icon{position:relative;width:12px;height:18px}.select-ios .select-icon .select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:#999;pointer-events:none}.select-md{padding:13px 8px 13px 16px}.select-md .select-placeholder{color:#999}.select-md .item-select ion-label{margin-left:0}.select-md .select-icon{position:relative;width:12px;height:19px}.select-md .select-icon .select-icon-inner{left:5px;top:50%;margin-top:-3px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:#999;pointer-events:none}.select-wp{margin:13px 8px;padding:0 8px;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;max-width:100%;border:2px solid rgba(0,0,0,.5);line-height:3rem}.select-wp .select-placeholder{color:rgba(0,0,0,.5)}.item-wp.item-select ion-label{margin-left:0}.select-wp .select-icon{position:relative;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;width:18px;height:18px}.select-wp .select-icon .select-icon-inner{left:5px;top:3px;position:absolute;display:block;width:9px;height:9px;border-top:2px solid rgba(0,0,0,.5);border-right:2px solid rgba(0,0,0,.5);-webkit-transform:rotate(135deg);transform:rotate(135deg);pointer-events:none}.select-wp .select-text{min-height:3rem}.hidden-show-when{display:none!important}.hidden-hide-when{display:none!important}.swiper-container{margin-left:auto;margin-right:auto;padding:0;position:relative;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;width:100%;height:100%}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{padding:0;position:relative;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{margin:0 auto;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-slide{text-align:center;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;font-size:18px;-webkit-box-sizing:border-box;box-sizing:border-box}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{left:0;top:0;position:absolute;z-index:-1000;opacity:0;pointer-events:none}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{top:50%;margin-top:-22px;background-position:center;position:absolute;z-index:10;width:27px;height:44px;background-repeat:no-repeat;background-size:27px 44px;cursor:pointer}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{left:auto;right:10px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);position:absolute;z-index:10;-webkit-transition:.3s;transition:.3s;pointer-events:none}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{left:0;bottom:10px;width:100%}.swiper-pagination-bullet{border-radius:100%;display:inline-block;width:8px;height:8px;background:#000;opacity:.2;pointer-events:auto}button.swiper-pagination-bullet{margin:0;padding:0;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;border:0;-webkit-box-shadow:none;box-shadow:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{background:#007aff;opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{position:absolute;background:rgba(0,0,0,.25)}.swiper-pagination-progress .swiper-pagination-progressbar{left:0;top:0;-webkit-transform-origin:left top;transform-origin:left top;position:absolute;width:100%;height:100%;background:#007aff;-webkit-transform:scale(0);transform:scale(0)}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{left:0;top:0;width:100%;height:4px}.swiper-container-vertical>.swiper-pagination-progress{left:0;top:0;width:4px;height:100%}.swiper-pagination-progress.swiper-pagination-white{background:rgba(255,255,255,.5)}.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar{background:#fff}.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{left:0;top:0;position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(to left,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(to right,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(to top,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-webkit-perspective:1200px;perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:none}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{-webkit-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%;visibility:hidden}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{visibility:visible;pointer-events:auto}.swiper-container-cube .swiper-cube-shadow{left:0;bottom:0;position:absolute;z-index:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px)}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{-webkit-transition-property:opacity;transition-property:opacity;pointer-events:none}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;background:rgba(0,0,0,.1);-ms-touch-action:none;touch-action:none}.swiper-container-horizontal>.swiper-scrollbar{left:1%;bottom:3px;position:absolute;z-index:50;width:98%;height:5px}.swiper-container-vertical>.swiper-scrollbar{right:3px;top:1%;position:absolute;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{left:0;top:0;border-radius:10px;position:relative;width:100%;height:100%;background:rgba(0,0,0,.5)}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{left:50%;top:50%;margin-left:-21px;margin-top:-21px;-webkit-transform-origin:50%;transform-origin:50%;position:absolute;z-index:10;width:42px;height:42px;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader::after{background-position:50%;display:block;width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:100%;content:""}.swiper-lazy-preloader-white::after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}ion-slides{display:block;width:100%;height:100%}.slide-zoom{text-align:center;display:block;width:100%}.swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}ion-spinner{position:relative;display:inline-block;width:28px;height:28px}ion-spinner svg{left:0;top:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}ion-spinner.spinner-paused svg{-webkit-animation-play-state:paused;animation-play-state:paused}.spinner-ios line,.spinner-ios-small line{stroke-width:4px;stroke-linecap:round}.spinner-ios svg,.spinner-ios-small svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}.spinner-bubbles svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite}.spinner-circles svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}.spinner-crescent circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px}.spinner-crescent svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}.spinner-dots circle{stroke-width:0}.spinner-dots svg{-webkit-transform-origin:center;transform-origin:center;-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1,1);transform:scale(1,1)}100%{-webkit-transform:scale(0,0);transform:scale(0,0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1,1);transform:scale(1,1)}100%{-webkit-transform:scale(0,0);transform:scale(0,0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{opacity:.9;-webkit-transform:scale(1,1);transform:scale(1,1)}50%{opacity:.3;-webkit-transform:scale(.4,.4);transform:scale(.4,.4)}100%{opacity:.9;-webkit-transform:scale(1,1);transform:scale(1,1)}}@keyframes spinner-dots{0%{opacity:.9;-webkit-transform:scale(1,1);transform:scale(1,1)}50%{opacity:.3;-webkit-transform:scale(.4,.4);transform:scale(.4,.4)}100%{opacity:.9;-webkit-transform:scale(1,1);transform:scale(1,1)}}.spinner-ios-ios line,.spinner-ios-ios-small line{stroke:#69717d}.spinner-ios-bubbles circle{fill:#000}.spinner-ios-circles circle{fill:#69717d}.spinner-ios-crescent circle{stroke:#000}.spinner-ios-dots circle{fill:#444}.spinner-ios-primary.spinner-crescent circle,.spinner-ios-primary.spinner-ios line,.spinner-ios-primary.spinner-ios-small line{stroke:#673ab7}.spinner-ios-primary.spinner-bubbles circle,.spinner-ios-primary.spinner-circles circle,.spinner-ios-primary.spinner-dots circle{fill:#673ab7}.spinner-ios-secondary.spinner-crescent circle,.spinner-ios-secondary.spinner-ios line,.spinner-ios-secondary.spinner-ios-small line{stroke:#32db64}.spinner-ios-secondary.spinner-bubbles circle,.spinner-ios-secondary.spinner-circles circle,.spinner-ios-secondary.spinner-dots circle{fill:#32db64}.spinner-ios-danger.spinner-crescent circle,.spinner-ios-danger.spinner-ios line,.spinner-ios-danger.spinner-ios-small line{stroke:#f53d3d}.spinner-ios-danger.spinner-bubbles circle,.spinner-ios-danger.spinner-circles circle,.spinner-ios-danger.spinner-dots circle{fill:#f53d3d}.spinner-ios-light.spinner-crescent circle,.spinner-ios-light.spinner-ios line,.spinner-ios-light.spinner-ios-small line{stroke:#f4f4f4}.spinner-ios-light.spinner-bubbles circle,.spinner-ios-light.spinner-circles circle,.spinner-ios-light.spinner-dots circle{fill:#f4f4f4}.spinner-ios-dark.spinner-crescent circle,.spinner-ios-dark.spinner-ios line,.spinner-ios-dark.spinner-ios-small line{stroke:#222}.spinner-ios-dark.spinner-bubbles circle,.spinner-ios-dark.spinner-circles circle,.spinner-ios-dark.spinner-dots circle{fill:#222}.spinner-ios-optblue.spinner-crescent circle,.spinner-ios-optblue.spinner-ios line,.spinner-ios-optblue.spinner-ios-small line{stroke:#e00201}.spinner-ios-optblue.spinner-bubbles circle,.spinner-ios-optblue.spinner-circles circle,.spinner-ios-optblue.spinner-dots circle{fill:#e00201}.spinner-md-ios line,.spinner-md-ios-small line{stroke:#69717d}.spinner-md-bubbles circle{fill:#000}.spinner-md-circles circle{fill:#69717d}.spinner-md-crescent circle{stroke:#000}.spinner-md-dots circle{fill:#444}.spinner-md-primary.spinner-crescent circle,.spinner-md-primary.spinner-ios line,.spinner-md-primary.spinner-ios-small line{stroke:#673ab7}.spinner-md-primary.spinner-bubbles circle,.spinner-md-primary.spinner-circles circle,.spinner-md-primary.spinner-dots circle{fill:#673ab7}.spinner-md-secondary.spinner-crescent circle,.spinner-md-secondary.spinner-ios line,.spinner-md-secondary.spinner-ios-small line{stroke:#32db64}.spinner-md-secondary.spinner-bubbles circle,.spinner-md-secondary.spinner-circles circle,.spinner-md-secondary.spinner-dots circle{fill:#32db64}.spinner-md-danger.spinner-crescent circle,.spinner-md-danger.spinner-ios line,.spinner-md-danger.spinner-ios-small line{stroke:#f53d3d}.spinner-md-danger.spinner-bubbles circle,.spinner-md-danger.spinner-circles circle,.spinner-md-danger.spinner-dots circle{fill:#f53d3d}.spinner-md-light.spinner-crescent circle,.spinner-md-light.spinner-ios line,.spinner-md-light.spinner-ios-small line{stroke:#f4f4f4}.spinner-md-light.spinner-bubbles circle,.spinner-md-light.spinner-circles circle,.spinner-md-light.spinner-dots circle{fill:#f4f4f4}.spinner-md-dark.spinner-crescent circle,.spinner-md-dark.spinner-ios line,.spinner-md-dark.spinner-ios-small line{stroke:#222}.spinner-md-dark.spinner-bubbles circle,.spinner-md-dark.spinner-circles circle,.spinner-md-dark.spinner-dots circle{fill:#222}.spinner-md-optblue.spinner-crescent circle,.spinner-md-optblue.spinner-ios line,.spinner-md-optblue.spinner-ios-small line{stroke:#e00201}.spinner-md-optblue.spinner-bubbles circle,.spinner-md-optblue.spinner-circles circle,.spinner-md-optblue.spinner-dots circle{fill:#e00201}.spinner-wp-ios line,.spinner-wp-ios-small line{stroke:#69717d}.spinner-wp-bubbles circle{fill:#000}.spinner-wp-circles circle{fill:#69717d}.spinner-wp-crescent circle{stroke:#000}.spinner-wp-dots circle{fill:#444}.spinner-wp-primary.spinner-crescent circle,.spinner-wp-primary.spinner-ios line,.spinner-wp-primary.spinner-ios-small line{stroke:#673ab7}.spinner-wp-primary.spinner-bubbles circle,.spinner-wp-primary.spinner-circles circle,.spinner-wp-primary.spinner-dots circle{fill:#673ab7}.spinner-wp-secondary.spinner-crescent circle,.spinner-wp-secondary.spinner-ios line,.spinner-wp-secondary.spinner-ios-small line{stroke:#32db64}.spinner-wp-secondary.spinner-bubbles circle,.spinner-wp-secondary.spinner-circles circle,.spinner-wp-secondary.spinner-dots circle{fill:#32db64}.spinner-wp-danger.spinner-crescent circle,.spinner-wp-danger.spinner-ios line,.spinner-wp-danger.spinner-ios-small line{stroke:#f53d3d}.spinner-wp-danger.spinner-bubbles circle,.spinner-wp-danger.spinner-circles circle,.spinner-wp-danger.spinner-dots circle{fill:#f53d3d}.spinner-wp-light.spinner-crescent circle,.spinner-wp-light.spinner-ios line,.spinner-wp-light.spinner-ios-small line{stroke:#f4f4f4}.spinner-wp-light.spinner-bubbles circle,.spinner-wp-light.spinner-circles circle,.spinner-wp-light.spinner-dots circle{fill:#f4f4f4}.spinner-wp-dark.spinner-crescent circle,.spinner-wp-dark.spinner-ios line,.spinner-wp-dark.spinner-ios-small line{stroke:#222}.spinner-wp-dark.spinner-bubbles circle,.spinner-wp-dark.spinner-circles circle,.spinner-wp-dark.spinner-dots circle{fill:#222}.spinner-wp-optblue.spinner-crescent circle,.spinner-wp-optblue.spinner-ios line,.spinner-wp-optblue.spinner-ios-small line{stroke:#e00201}.spinner-wp-optblue.spinner-bubbles circle,.spinner-wp-optblue.spinner-circles circle,.spinner-wp-optblue.spinner-dots circle{fill:#e00201}.split-pane{left:0;right:0;top:0;bottom:0;position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}.split-pane-side:not(ion-menu){display:none}.split-pane-visible>.split-pane-main,.split-pane-visible>.split-pane-side{left:0;right:0;top:0;bottom:0;position:relative;z-index:0;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-shadow:none!important;box-shadow:none!important}.split-pane-visible>.split-pane-side{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-main,.split-pane-visible>ion-menu.menu-enabled,.split-pane-visible>ion-nav.split-pane-side,.split-pane-visible>ion-tabs.split-pane-side{display:block}.split-pane-visible>ion-split-pane.split-pane-main,.split-pane-visible>ion-split-pane.split-pane-side{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.split-pane-visible>ion-menu.menu-enabled>.menu-inner{left:0;right:0;width:auto;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transform:none!important;transform:none!important}.split-pane-visible>ion-menu.menu-enabled>.ion-backdrop{display:hidden!important}.split-pane-visible>.split-pane-side[side=start]{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-side[side=end]{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.split-pane-visible>.split-pane-side[side=left]{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-side[side=right]{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.split-pane-ios.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:.55px solid #c8c7cc;border-left:0}.split-pane-ios.split-pane-visible>.split-pane-side[side=right]{border-right:0;border-left:.55px solid #c8c7cc}.split-pane-md.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:1px solid #dedede;border-left:0}.split-pane-md.split-pane-visible>.split-pane-side[side=right]{border-right:0;border-left:1px solid #dedede}.split-pane-wp.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:1px solid transparent;border-left:0}.split-pane-wp.split-pane-visible>.split-pane-side[side=right]{border-right:0;border-left:1px solid transparent}.tabbar{left:0;bottom:0;position:absolute;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;opacity:0}.tabbar-hidden .tabbar{display:none}.tabbar.show-tabbar{opacity:1}[tabsPlacement=top]>.tabbar{top:0;bottom:auto}.tab-button{margin:0;text-align:center;border-radius:0;position:relative;z-index:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border:0;text-decoration:none;background:0 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tab-disabled{pointer-events:none}.tab-disabled ion-badge,.tab-disabled ion-icon,.tab-disabled span{opacity:.4}.tab-button-text{margin-top:3px;margin-bottom:2px}.tab-button-icon,.tab-button-text{display:none;overflow:hidden;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;min-width:26px;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.has-icon .tab-button-icon,.has-title .tab-button-text{display:block}.has-title-only .tab-button-text{white-space:normal}[tabsLayout=icon-bottom] .tab-button .tab-button-icon{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}[tabsLayout=icon-end] .tab-button,[tabsLayout=icon-left] .tab-button,[tabsLayout=icon-right] .tab-button,[tabsLayout=icon-start] .tab-button{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[tabsLayout=icon-left] .tab-button .tab-button-icon,[tabsLayout=icon-start] .tab-button .tab-button-icon{padding-right:8px;text-align:right;text-align:end}[tabsLayout=icon-end] .tab-button .tab-button-icon,[tabsLayout=icon-right] .tab-button .tab-button-icon{padding-left:8px;text-align:left;text-align:start;-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.tab-hidden,.tab-highlight,[tabsLayout=icon-hide] .tab-button-icon,[tabsLayout=title-hide] .tab-button-text{display:none}.tab-badge{right:4%;top:6%;right:calc(50% - 50px);padding:1px 6px;position:absolute;height:auto;font-size:12px;line-height:16px}.has-icon .tab-badge{right:calc(50% - 30px)}[tabsLayout=icon-bottom] .tab-badge,[tabsLayout=icon-end] .tab-badge,[tabsLayout=icon-left] .tab-badge,[tabsLayout=icon-right] .tab-badge,[tabsLayout=icon-start] .tab-badge{right:calc(50% - 50px)}.tabs-ios .tabbar{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-top:.55px solid rgba(0,0,0,.3);background:#f8f8f8}.tabs-ios[tabsPlacement=top] .tabbar{border-top:0;border-bottom:.55px solid rgba(0,0,0,.3)}.tabs-ios .tab-button{max-width:240px;min-height:49px;font-size:10px;font-weight:500;color:#8c8c8c;padding:0 2px}.tabs-ios .tab-button:hover:not(.disable-hover),.tabs-ios .tab-button[aria-selected=true]{color:#673ab7}.tabs-ios .tab-button[aria-selected=true] .tab-button-icon{color:#673ab7}.tabs-ios .tab-button-text{margin-top:0;margin-bottom:1px;min-height:11px}.tabs-ios .has-title-only .tab-button-text{font-size:12px}.tabs-ios .tab-button-icon{margin-top:4px;margin-bottom:1px;min-width:35px;height:30px;font-size:30px;color:#8c8c8c}.tabs-ios .tab-button-icon::before{vertical-align:top}.tabs-ios[tabsLayout=icon-end] .tab-button .tab-button-text,.tabs-ios[tabsLayout=icon-left] .tab-button .tab-button-text,.tabs-ios[tabsLayout=icon-right] .tab-button .tab-button-text,.tabs-ios[tabsLayout=icon-start] .tab-button .tab-button-text{font-size:1.4rem;line-height:1.1}.tabs-ios[tabsLayout=icon-end] .tab-button ion-icon,.tabs-ios[tabsLayout=icon-left] .tab-button ion-icon,.tabs-ios[tabsLayout=icon-right] .tab-button ion-icon,.tabs-ios[tabsLayout=icon-start] .tab-button ion-icon{min-width:24px;height:26px;font-size:24px}.tabs-ios .tab-button.has-title-only,.tabs-ios[tabsLayout=icon-hide] .tab-button{min-height:41px}.tabs-ios .tab-button.has-title-only .tab-button-text,.tabs-ios[tabsLayout=icon-hide] .tab-button .tab-button-text{margin:2px 0;font-size:1.4rem;line-height:1.1}.tabs-ios .tab-button.icon-only,.tabs-ios[tabsLayout=title-hide] .tab-button{min-height:41px}.tabs-ios-primary .tabbar{border-color:#512e90;background-color:#673ab7}.tabs-ios-primary .tab-button,.tabs-ios-primary .tab-button-icon,.tabs-ios-primary .tab-button:hover:not(.disable-hover),.tabs-ios-primary .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-primary .tab-button[aria-selected=true],.tabs-ios-primary .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-ios-secondary .tabbar{border-color:#21b94e;background-color:#32db64}.tabs-ios-secondary .tab-button,.tabs-ios-secondary .tab-button-icon,.tabs-ios-secondary .tab-button:hover:not(.disable-hover),.tabs-ios-secondary .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-secondary .tab-button[aria-selected=true],.tabs-ios-secondary .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-ios-danger .tabbar{border-color:#f30d0d;background-color:#f53d3d}.tabs-ios-danger .tab-button,.tabs-ios-danger .tab-button-icon,.tabs-ios-danger .tab-button:hover:not(.disable-hover),.tabs-ios-danger .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-danger .tab-button[aria-selected=true],.tabs-ios-danger .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-ios-light .tabbar{border-color:#dbdbdb;background-color:#f4f4f4}.tabs-ios-light .tab-button,.tabs-ios-light .tab-button-icon,.tabs-ios-light .tab-button:hover:not(.disable-hover),.tabs-ios-light .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(0,0,0,.7)}.tabs-ios-light .tab-button[aria-selected=true],.tabs-ios-light .tab-button[aria-selected=true] .tab-button-icon{color:#000}.tabs-ios-dark .tabbar{border-color:#090909;background-color:#222}.tabs-ios-dark .tab-button,.tabs-ios-dark .tab-button-icon,.tabs-ios-dark .tab-button:hover:not(.disable-hover),.tabs-ios-dark .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-dark .tab-button[aria-selected=true],.tabs-ios-dark .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-ios-optblue .tabbar{border-color:#ad0201;background-color:#e00201}.tabs-ios-optblue .tab-button,.tabs-ios-optblue .tab-button-icon,.tabs-ios-optblue .tab-button:hover:not(.disable-hover),.tabs-ios-optblue .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-optblue .tab-button[aria-selected=true],.tabs-ios-optblue .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md .tabbar{background:#f8f8f8}.tabs-md .tab-button{min-height:5.6rem;font-weight:400;color:rgba(60,60,60,.7);padding:0}.tabs-md .tab-button[aria-selected=true]{color:#673ab7;padding:0}.tabs-md .tab-button-text{font-size:1.2rem;text-transform:none;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;margin:0;-webkit-transform-origin:50% 80%;transform-origin:50% 80%}.tabs-md .tab-button[aria-selected=true] .tab-button-text{-webkit-transform:scale3d(1.16667,1.16667,1);transform:scale3d(1.16667,1.16667,1);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.tabs-md[tabsLayout=icon-top] .has-icon .tab-button-text{margin-top:4px;margin-bottom:0}.tabs-md[tabsLayout=icon-bottom] .tab-button .tab-button-text{margin-top:0}.tabs-md .tab-button-icon{margin-top:1px;min-width:2.4rem;font-size:2.4rem;color:rgba(60,60,60,.7);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.tabs-md .tab-button[aria-selected=true] .tab-button-icon{color:#673ab7;-webkit-transform:translate3d(0,-2px,0);transform:translate3d(0,-2px,0)}.tabs-md[tabsLayout=icon-end] .tab-button[aria-selected=true] .tab-button-icon,.tabs-md[tabsLayout=icon-right] .tab-button[aria-selected=true] .tab-button-icon{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}.tabs-md[tabsLayout=icon-bottom] .tab-button[aria-selected=true] .tab-button-icon{-webkit-transform:translate3d(0,2px,0);transform:translate3d(0,2px,0)}.tabs-md[tabsLayout=icon-left] .tab-button[aria-selected=true] .tab-button-icon,.tabs-md[tabsLayout=icon-start] .tab-button[aria-selected=true] .tab-button-icon{-webkit-transform:translate3d(-2px,0,0);transform:translate3d(-2px,0,0)}.tabs-md .tab-button.has-title-only,.tabs-md .tab-button.icon-only,.tabs-md[tabsLayout=icon-hide] .tab-button,.tabs-md[tabsLayout=title-hide] .tab-button{padding:0 10px}.tabs-md[tabsHighlight=true] .tab-highlight{left:0;bottom:0;-webkit-transform-origin:0 0;transform-origin:0 0;position:absolute;display:block;width:1px;height:2px;background:#673ab7;-webkit-transform:translateZ(0);transform:translateZ(0)}.tabs-md[tabsHighlight=true] .tab-highlight.animate{-webkit-transition-duration:.3s;transition-duration:.3s}.tabs-md[tabsHighlight=true][tabsPlacement=bottom]>.tabbar>.tab-highlight{top:0}.tabs-md-primary .tabbar{background-color:#673ab7}.tabs-md-primary .tab-button,.tabs-md-primary .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-primary .tab-button:hover:not(.disable-hover),.tabs-md-primary .tab-button[aria-selected=true],.tabs-md-primary .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-primary[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-md-secondary .tabbar{background-color:#32db64}.tabs-md-secondary .tab-button,.tabs-md-secondary .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-secondary .tab-button:hover:not(.disable-hover),.tabs-md-secondary .tab-button[aria-selected=true],.tabs-md-secondary .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-secondary[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-md-danger .tabbar{background-color:#f53d3d}.tabs-md-danger .tab-button,.tabs-md-danger .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-danger .tab-button:hover:not(.disable-hover),.tabs-md-danger .tab-button[aria-selected=true],.tabs-md-danger .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-danger[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-md-light .tabbar{background-color:#f4f4f4}.tabs-md-light .tab-button,.tabs-md-light .tab-button-icon{color:rgba(0,0,0,.7)}.tabs-md-light .tab-button:hover:not(.disable-hover),.tabs-md-light .tab-button[aria-selected=true],.tabs-md-light .tab-button[aria-selected=true] .tab-button-icon{color:#000}.tabs-md-light[tabsHighlight=true] .tab-highlight{background:#000}.tabs-md-dark .tabbar{background-color:#222}.tabs-md-dark .tab-button,.tabs-md-dark .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-dark .tab-button:hover:not(.disable-hover),.tabs-md-dark .tab-button[aria-selected=true],.tabs-md-dark .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-dark[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-md-optblue .tabbar{background-color:#e00201}.tabs-md-optblue .tab-button,.tabs-md-optblue .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-optblue .tab-button:hover:not(.disable-hover),.tabs-md-optblue .tab-button[aria-selected=true],.tabs-md-optblue .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-optblue[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-wp .tabbar{background:#f8f8f8}.tabs-wp .tab-button{border-radius:0;min-height:4.8rem;border-bottom:2px solid transparent;font-size:1.2rem;font-weight:400;color:rgba(140,140,140,.7);-webkit-box-shadow:none;box-shadow:none;padding:12px 10px 5px}.tabs-wp .tab-button[aria-selected=true]{border-bottom-color:#673ab7;color:#673ab7}.tabs-wp .tab-button.activated{background:rgba(0,0,0,.1)}.tabs-wp[tabsPlacement=bottom] .tab-button{border-top:2px solid transparent;border-bottom-width:0}.tabs-wp[tabsPlacement=bottom] .tab-button[aria-selected=true]{border-top-color:#673ab7}.tabs-wp .tab-button-text{margin-top:5px;margin-bottom:5px}.tabs-wp .tab-button-icon{min-width:2.4rem;font-size:2.4rem;color:rgba(140,140,140,.7)}.tabs-wp .tab-button[aria-selected=true] .tab-button-icon{color:#673ab7}.tabs-wp[tabsLayout=icon-bottom] .tab-button{padding-top:8px;padding-bottom:8px}.tabs-wp[tabsLayout=icon-end] .tab-button,.tabs-wp[tabsLayout=icon-left] .tab-button,.tabs-wp[tabsLayout=icon-right] .tab-button,.tabs-wp[tabsLayout=icon-start] .tab-button{padding-bottom:10px}.tabs-wp[tabsLayout=icon-end] .tab-button ion-icon,.tabs-wp[tabsLayout=icon-left] .tab-button ion-icon,.tabs-wp[tabsLayout=icon-right] .tab-button ion-icon,.tabs-wp[tabsLayout=icon-start] .tab-button ion-icon{min-width:24px}.tabs-wp .tab-button.has-title-only,.tabs-wp .tab-button.icon-only,.tabs-wp[tabsLayout=icon-hide] .tab-button,.tabs-wp[tabsLayout=title-hide] .tab-button{padding:6px 10px}.tabs-wp-primary .tabbar{background-color:#673ab7}.tabs-wp-primary .tab-button,.tabs-wp-primary .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-primary .tab-button:hover:not(.disable-hover),.tabs-wp-primary .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-primary .tab-button[aria-selected=true],.tabs-wp-primary .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}.tabs-wp-secondary .tabbar{background-color:#32db64}.tabs-wp-secondary .tab-button,.tabs-wp-secondary .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-secondary .tab-button:hover:not(.disable-hover),.tabs-wp-secondary .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-secondary .tab-button[aria-selected=true],.tabs-wp-secondary .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}.tabs-wp-danger .tabbar{background-color:#f53d3d}.tabs-wp-danger .tab-button,.tabs-wp-danger .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-danger .tab-button:hover:not(.disable-hover),.tabs-wp-danger .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-danger .tab-button[aria-selected=true],.tabs-wp-danger .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}.tabs-wp-light .tabbar{background-color:#f4f4f4}.tabs-wp-light .tab-button,.tabs-wp-light .tab-button-icon{color:rgba(0,0,0,.7)}.tabs-wp-light .tab-button:hover:not(.disable-hover),.tabs-wp-light .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-light .tab-button[aria-selected=true],.tabs-wp-light .tab-button[aria-selected=true] .tab-button-icon{border-color:#000;color:#000}.tabs-wp-dark .tabbar{background-color:#222}.tabs-wp-dark .tab-button,.tabs-wp-dark .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-dark .tab-button:hover:not(.disable-hover),.tabs-wp-dark .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-dark .tab-button[aria-selected=true],.tabs-wp-dark .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}.tabs-wp-optblue .tabbar{background-color:#e00201}.tabs-wp-optblue .tab-button,.tabs-wp-optblue .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-optblue .tab-button:hover:not(.disable-hover),.tabs-wp-optblue .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-optblue .tab-button[aria-selected=true],.tabs-wp-optblue .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}ion-toast{left:0;top:0;position:absolute;z-index:1000;display:block;width:100%;height:100%;pointer-events:none;contain:strict}.toast-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;pointer-events:auto;contain:content}.toast-button{padding:19px 16px 17px;font-size:1.5rem}.toast-message{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.toast-ios .toast-wrapper{left:10px;right:10px;margin:auto;border-radius:.65rem;position:absolute;z-index:10;display:block;max-width:700px;background:rgba(0,0,0,.9)}.toast-ios .toast-wrapper.toast-top{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);margin:constant(safe-area-inset-top) auto auto;margin:env(safe-area-inset-top) auto auto;top:0}.toast-ios .toast-wrapper.toast-bottom{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);margin:auto auto constant(safe-area-inset-bottom);margin:auto auto env(safe-area-inset-bottom);bottom:0}.toast-ios .toast-wrapper.toast-middle{opacity:.01}.toast-ios .toast-message{font-size:1.4rem;color:#fff;padding:1.5rem}.toast-md .toast-wrapper{left:0;right:0;margin:auto;position:absolute;z-index:10;display:block;width:100%;max-width:700px;background:#333}.toast-md .toast-wrapper.toast-top{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);top:0}.toast-md .toast-wrapper.toast-bottom{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);bottom:0}.toast-md .toast-wrapper.toast-middle{opacity:.01}.toast-md .toast-message{font-size:1.5rem;color:#fff;padding:19px 16px 17px}.toast-wp .toast-wrapper{left:0;right:0;margin:auto;border-radius:0;position:absolute;z-index:10;display:block;max-width:700px;background:#000}.toast-wp .toast-wrapper.toast-top{top:0;opacity:.01}.toast-wp .toast-wrapper.toast-bottom{bottom:0;opacity:.01}.toast-wp .toast-wrapper.toast-middle{opacity:.01}.toast-message{font-size:1.4rem;color:#fff;padding:1.5rem}.toast-button{color:#fff}.toggle-ios{position:relative;width:51px;height:32px;-webkit-box-sizing:content-box;box-sizing:content-box;contain:strict}.toggle-ios .toggle-icon{border-radius:16px;position:relative;display:block;width:100%;height:100%;background-color:#e6e6e6;-webkit-transition:background-color .3s;transition:background-color .3s;pointer-events:none}.toggle-ios .toggle-icon::before{left:2px;right:2px;top:2px;bottom:2px;border-radius:16px;position:absolute;background-color:#fff;content:"";-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.toggle-ios .toggle-inner{left:2px;top:2px;border-radius:14px;position:absolute;width:28px;height:28px;background-color:#fff;-webkit-box-shadow:0 3px 12px rgba(0,0,0,.16),0 3px 1px rgba(0,0,0,.1);box-shadow:0 3px 12px rgba(0,0,0,.16),0 3px 1px rgba(0,0,0,.1);-webkit-transition:width 120ms ease-in-out 80ms,left 110ms ease-in-out 80ms,right 110ms ease-in-out 80ms,-webkit-transform .3s;transition:width 120ms ease-in-out 80ms,left 110ms ease-in-out 80ms,right 110ms ease-in-out 80ms,-webkit-transform .3s;transition:transform .3s,width 120ms ease-in-out 80ms,left 110ms ease-in-out 80ms,right 110ms ease-in-out 80ms;transition:transform .3s,width 120ms ease-in-out 80ms,left 110ms ease-in-out 80ms,right 110ms ease-in-out 80ms,-webkit-transform .3s;will-change:transform;contain:strict}.toggle-ios.toggle-checked .toggle-icon{background-color:#673ab7}.toggle-ios.toggle-activated .toggle-icon::before,.toggle-ios.toggle-checked .toggle-icon::before{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.toggle-ios.toggle-checked .toggle-inner{-webkit-transform:translate3d(19px,0,0);transform:translate3d(19px,0,0)}.toggle-ios.toggle-activated.toggle-checked .toggle-inner::before{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.toggle-ios.toggle-activated .toggle-inner{width:34px}.toggle-ios.toggle-activated.toggle-checked .toggle-inner{left:-4px}.item-ios.item-toggle-disabled ion-label,.toggle-ios.toggle-disabled{opacity:.3;pointer-events:none}.item-ios .toggle-ios{margin:0;padding:6px 8px 5px 16px}.item-ios .toggle-ios[item-left],.item-ios .toggle-ios[item-start]{padding:6px 16px 5px 0}.toggle-ios-primary.toggle-checked .toggle-icon{background-color:#673ab7}.toggle-ios-secondary.toggle-checked .toggle-icon{background-color:#32db64}.toggle-ios-danger.toggle-checked .toggle-icon{background-color:#f53d3d}.toggle-ios-light.toggle-checked .toggle-icon{background-color:#f4f4f4}.toggle-ios-dark.toggle-checked .toggle-icon{background-color:#222}.toggle-ios-optblue.toggle-checked .toggle-icon{background-color:#e00201}.toggle-md{position:relative;width:36px;height:14px;-webkit-box-sizing:content-box;box-sizing:content-box;contain:strict;padding:12px}.toggle-md .toggle-icon{border-radius:14px;position:relative;display:block;width:100%;height:100%;background-color:#dedede;-webkit-transition:background-color .3s;transition:background-color .3s;pointer-events:none}.toggle-md .toggle-inner{left:0;top:-3px;border-radius:50%;position:absolute;width:20px;height:20px;background-color:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,-webkit-transform;transition-property:transform,background-color;transition-property:transform,background-color,-webkit-transform;will-change:transform,background-color;contain:strict}.toggle-md.toggle-checked .toggle-icon{background-color:#ae94dd}.toggle-md.toggle-checked .toggle-inner{-webkit-transform:translate3d(16px,0,0);transform:translate3d(16px,0,0);background-color:#673ab7}.item-md.item-toggle-disabled ion-label,.toggle-md.toggle-disabled{opacity:.3;pointer-events:none}.toggle-md.toggle-disabled ion-radio{opacity:.3}.item-md .toggle-md{cursor:pointer;margin:0;padding:12px 8px 12px 16px}.item-md .toggle-md[item-left],.item-md .toggle-md[item-start]{padding:12px 18px 12px 2px}.item-md.item-toggle ion-label{margin-left:0}.toggle-md-primary.toggle-checked .toggle-icon{background-color:#ae94dd}.toggle-md-primary.toggle-checked .toggle-inner{background-color:#673ab7}.toggle-md-secondary.toggle-checked .toggle-icon{background-color:#9eeeb6}.toggle-md-secondary.toggle-checked .toggle-inner{background-color:#32db64}.toggle-md-danger.toggle-checked .toggle-icon{background-color:#fbb6b6}.toggle-md-danger.toggle-checked .toggle-inner{background-color:#f53d3d}.toggle-md-light.toggle-checked .toggle-icon{background-color:#fff}.toggle-md-light.toggle-checked .toggle-inner{background-color:#f4f4f4}.toggle-md-dark.toggle-checked .toggle-icon{background-color:#626262}.toggle-md-dark.toggle-checked .toggle-inner{background-color:#222}.toggle-md-optblue.toggle-checked .toggle-icon{background-color:#fe6362}.toggle-md-optblue.toggle-checked .toggle-inner{background-color:#e00201}.toggle-wp{position:relative;width:40px;height:18px;-webkit-box-sizing:content-box;box-sizing:content-box;contain:strict}.toggle-wp .toggle-icon{border-radius:18px;position:relative;display:block;width:100%;height:100%;border:2px solid #323232;background-color:transparent;pointer-events:none;contain:strict}.toggle-wp .toggle-inner{left:2px;top:2px;border-radius:50%;position:absolute;width:10px;height:10px;background-color:#323232;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,-webkit-transform;transition-property:transform,background-color;transition-property:transform,background-color,-webkit-transform;will-change:transform,background-color}.toggle-wp.toggle-checked .toggle-icon{border-color:#673ab7;background-color:#673ab7}.toggle-wp.toggle-checked .toggle-inner{-webkit-transform:translate3d(22px,0,0);transform:translate3d(22px,0,0);background-color:#fff}.item-wp.item-toggle-disabled ion-label,.toggle-wp.toggle-disabled{opacity:.3;pointer-events:none}.toggle-wp.toggle-disabled ion-radio{opacity:.3}.item-wp .toggle-wp{margin:0;cursor:pointer;padding:12px 8px 12px 16px}.item-wp .toggle-wp[item-left],.item-wp .toggle-wp[item-start]{padding:12px 18px 12px 2px}.item-wp.item-toggle ion-label{margin-left:0}.toggle-wp-primary.toggle-checked .toggle-icon{border-color:#673ab7;background-color:#673ab7}.toggle-wp-primary.toggle-checked .toggle-inner{background-color:#fff}.toggle-wp-secondary.toggle-checked .toggle-icon{border-color:#32db64;background-color:#32db64}.toggle-wp-secondary.toggle-checked .toggle-inner{background-color:#fff}.toggle-wp-danger.toggle-checked .toggle-icon{border-color:#f53d3d;background-color:#f53d3d}.toggle-wp-danger.toggle-checked .toggle-inner{background-color:#fff}.toggle-wp-light.toggle-checked .toggle-icon{border-color:#f4f4f4;background-color:#f4f4f4}.toggle-wp-light.toggle-checked .toggle-inner{background-color:#000}.toggle-wp-dark.toggle-checked .toggle-icon{border-color:#222;background-color:#222}.toggle-wp-dark.toggle-checked .toggle-inner{background-color:#fff}.toggle-wp-optblue.toggle-checked .toggle-icon{border-color:#e00201;background-color:#e00201}.toggle-wp-optblue.toggle-checked .toggle-inner{background-color:#fff}ion-toolbar{position:relative;z-index:10}.toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;contain:content}.toolbar-background{left:0;top:0;position:absolute;z-index:-1;width:100%;height:100%;border:0;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none;contain:strict}ion-title{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0)}.toolbar-title{display:block;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap}ion-buttons{margin:0 .2rem;display:block;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none}ion-buttons a,ion-buttons button,ion-buttons div,ion-buttons input,ion-buttons textarea{pointer-events:auto}.toolbar[transparent] .toolbar-background{border-color:transparent;background:0 0}.bar-button-menutoggle,ion-buttons{z-index:99;-webkit-transform:translateZ(0);transform:translateZ(0)}ion-navbar.toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:translateZ(0);transform:translateZ(0)}.bar-button{margin:0;padding:0;text-align:center;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:inline-block;line-height:1;text-overflow:ellipsis;text-transform:none;white-space:nowrap;cursor:pointer;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bar-button::after{left:-2px;right:-2px;top:-7px;bottom:-6px;position:absolute;content:""}.bar-button-menutoggle{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.back-button{display:none}.back-button.show-back-button{display:inline-block}.back-button-text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.toolbar-ios{padding:4px;padding-left:4px;padding-right:4px;min-height:44px}@media screen and (orientation:landscape){.toolbar-ios{padding-left:calc(constant(safe-area-inset-left) + 4px);padding-right:calc(constant(safe-area-inset-right) + 4px);padding-left:calc(env(safe-area-inset-left) + 4px);padding-right:calc(env(safe-area-inset-right) + 4px)}}.toolbar-background-ios{background:#f8f8f8}.footer-ios .toolbar-background-ios,.header-ios .toolbar-background-ios{border-style:solid;border-color:rgba(0,0,0,.3)}.header-ios .toolbar-ios:last-child .toolbar-background-ios{border-width:0 0 .55px}.footer-ios .toolbar-ios:first-child .toolbar-background-ios{border-width:.55px 0 0}.header-ios[no-border] .toolbar-ios:last-child .toolbar-background-ios{border-bottom-width:0}.footer-ios[no-border] .toolbar-ios:first-child .toolbar-background-ios{border-top-width:0}.toolbar-content-ios{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4;min-width:0}.toolbar-title-ios{text-align:center;font-size:1.7rem;font-weight:600;color:#000;pointer-events:auto}.toolbar-ios ion-title{left:0;top:0;padding:0 90px 1px;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none}.bar-buttons-ios{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3;-webkit-transform:translateZ(0);transform:translateZ(0)}.bar-buttons-ios[left]{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bar-buttons-ios[end]{text-align:right;text-align:end;-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bar-buttons-ios[right]{text-align:right;-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bar-button-ios{padding:0 4px;border-radius:4px;height:32px;border:0;font-size:1.7rem}.bar-button-outline-ios{border-width:1px;border-style:solid;border-color:#673ab7;color:#673ab7;background-color:transparent}.bar-button-outline-ios:hover:not(.disable-hover){opacity:.4}.bar-button-outline-ios.activated{color:#fff;background-color:#673ab7}.bar-button-solid-ios{color:#fff;background-color:#673ab7}.bar-button-solid-ios:hover:not(.disable-hover){color:#fff;opacity:.4}.bar-button-solid-ios.activated{color:#fff;background-color:#734abd;opacity:.4}.bar-button-ios.bar-button-icon-start ion-icon{padding-right:.3em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-ios.bar-button-icon-end ion-icon{padding-left:.4em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-ios[icon-only]{padding:0;min-width:.9em}.bar-button-ios[icon-only] ion-icon{padding:0 .1em;font-size:1.8em;line-height:.67;pointer-events:none}.back-button-ios{margin:0;z-index:99;overflow:visible;-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;min-height:3.2rem;line-height:1;-webkit-transform:translateZ(0);transform:translateZ(0)}.back-button-icon-ios{margin:-1px 0 0;display:inherit;min-width:18px;font-size:3.4rem}.back-button-text-ios{letter-spacing:-.01em}.bar-button-menutoggle-ios{margin:0 6px;padding:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;min-width:36px}.bar-button-menutoggle-ios ion-icon{padding:0 6px;font-size:2.8rem}.bar-button-menutoggle-ios[end],.bar-button-menutoggle-ios[right]{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bar-button-clear-ios-default,.bar-button-default-ios,.bar-button-default.bar-button-ios-default{color:#673ab7;background-color:transparent}.bar-button-clear-ios-default:hover:not(.disable-hover),.bar-button-default-ios:hover:not(.disable-hover),.bar-button-default.bar-button-ios-default:hover:not(.disable-hover){color:#673ab7}.bar-button-clear-ios-default.activated,.bar-button-default-ios.activated,.bar-button-default.bar-button-ios-default.activated{opacity:.4}.bar-button-clear-ios,.bar-button-clear-ios-clear,.bar-button-default.bar-button-ios-clear{color:#673ab7;background-color:transparent}.bar-button-clear-ios-clear:hover:not(.disable-hover),.bar-button-clear-ios:hover:not(.disable-hover),.bar-button-default.bar-button-ios-clear:hover:not(.disable-hover){color:#673ab7}.bar-button-clear-ios-clear.activated,.bar-button-clear-ios.activated,.bar-button-default.bar-button-ios-clear.activated{opacity:.4}.toolbar-ios-primary .toolbar-background-ios{background:#673ab7}.toolbar-ios-primary .bar-button-clear-ios,.toolbar-ios-primary .bar-button-default-ios,.toolbar-ios-primary .toolbar-title-ios{color:#fff}.toolbar-ios-primary .bar-button-clear-ios-primary,.toolbar-ios-primary .bar-button-default.bar-button-ios-primary,.toolbar-ios-primary .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-primary .bar-button-clear-ios-primary.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-primary .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-primary .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-primary .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-primary .bar-button-clear-ios-secondary,.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary,.toolbar-ios-primary .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-primary .bar-button-clear-ios-secondary.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-primary .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-primary .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-primary .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-primary .bar-button-clear-ios-danger,.toolbar-ios-primary .bar-button-danger-ios,.toolbar-ios-primary .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-primary .bar-button-clear-ios-danger.activated,.toolbar-ios-primary .bar-button-danger-ios.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-primary .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-primary .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-primary .bar-button-clear-ios-light,.toolbar-ios-primary .bar-button-default.bar-button-ios-light,.toolbar-ios-primary .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-primary .bar-button-clear-ios-light.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-primary .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-primary .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-primary .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-primary .bar-button-clear-ios-dark,.toolbar-ios-primary .bar-button-dark-ios,.toolbar-ios-primary .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-primary .bar-button-clear-ios-dark.activated,.toolbar-ios-primary .bar-button-dark-ios.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-primary .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-primary .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-primary .bar-button-clear-ios-optblue,.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue,.toolbar-ios-primary .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-primary .bar-button-clear-ios-optblue.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-primary .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-primary .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-primary .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-primary,.bar-button-default.bar-button-ios-primary,.bar-button-primary-ios{color:#673ab7;background-color:transparent}.bar-button-clear-ios-primary:hover:not(.disable-hover),.bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.bar-button-clear-ios-primary.activated,.bar-button-default.bar-button-ios-primary.activated,.bar-button-primary-ios.activated{opacity:.4}.bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-secondary .toolbar-background-ios{background:#32db64}.toolbar-ios-secondary .bar-button-clear-ios,.toolbar-ios-secondary .bar-button-default-ios,.toolbar-ios-secondary .toolbar-title-ios{color:#fff}.toolbar-ios-secondary .bar-button-clear-ios-primary,.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary,.toolbar-ios-secondary .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-secondary .bar-button-clear-ios-primary.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-secondary .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-secondary .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-secondary .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-secondary .bar-button-clear-ios-secondary,.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary,.toolbar-ios-secondary .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-secondary .bar-button-clear-ios-secondary.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-secondary .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-secondary .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-secondary .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-secondary .bar-button-clear-ios-danger,.toolbar-ios-secondary .bar-button-danger-ios,.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-secondary .bar-button-clear-ios-danger.activated,.toolbar-ios-secondary .bar-button-danger-ios.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-secondary .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-secondary .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-secondary .bar-button-clear-ios-light,.toolbar-ios-secondary .bar-button-default.bar-button-ios-light,.toolbar-ios-secondary .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-secondary .bar-button-clear-ios-light.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-secondary .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-secondary .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-secondary .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-secondary .bar-button-clear-ios-dark,.toolbar-ios-secondary .bar-button-dark-ios,.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-secondary .bar-button-clear-ios-dark.activated,.toolbar-ios-secondary .bar-button-dark-ios.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-secondary .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-secondary .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-secondary .bar-button-clear-ios-optblue,.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue,.toolbar-ios-secondary .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-secondary .bar-button-clear-ios-optblue.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-secondary .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-secondary .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-secondary .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-secondary,.bar-button-default.bar-button-ios-secondary,.bar-button-secondary-ios{color:#32db64;background-color:transparent}.bar-button-clear-ios-secondary:hover:not(.disable-hover),.bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.bar-button-clear-ios-secondary.activated,.bar-button-default.bar-button-ios-secondary.activated,.bar-button-secondary-ios.activated{opacity:.4}.bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-danger .toolbar-background-ios{background:#f53d3d}.toolbar-ios-danger .bar-button-clear-ios,.toolbar-ios-danger .bar-button-default-ios,.toolbar-ios-danger .toolbar-title-ios{color:#fff}.toolbar-ios-danger .bar-button-clear-ios-primary,.toolbar-ios-danger .bar-button-default.bar-button-ios-primary,.toolbar-ios-danger .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-danger .bar-button-clear-ios-primary.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-danger .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-danger .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-danger .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-danger .bar-button-clear-ios-secondary,.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary,.toolbar-ios-danger .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-danger .bar-button-clear-ios-secondary.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-danger .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-danger .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-danger .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-danger .bar-button-clear-ios-danger,.toolbar-ios-danger .bar-button-danger-ios,.toolbar-ios-danger .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-danger .bar-button-clear-ios-danger.activated,.toolbar-ios-danger .bar-button-danger-ios.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-danger .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-danger .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-danger .bar-button-clear-ios-light,.toolbar-ios-danger .bar-button-default.bar-button-ios-light,.toolbar-ios-danger .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-danger .bar-button-clear-ios-light.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-danger .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-danger .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-danger .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-danger .bar-button-clear-ios-dark,.toolbar-ios-danger .bar-button-dark-ios,.toolbar-ios-danger .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-danger .bar-button-clear-ios-dark.activated,.toolbar-ios-danger .bar-button-dark-ios.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-danger .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-danger .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-danger .bar-button-clear-ios-optblue,.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue,.toolbar-ios-danger .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-danger .bar-button-clear-ios-optblue.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-danger .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-danger .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-danger .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-danger,.bar-button-danger-ios,.bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.bar-button-clear-ios-danger:hover:not(.disable-hover),.bar-button-danger-ios:hover:not(.disable-hover),.bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.bar-button-clear-ios-danger.activated,.bar-button-danger-ios.activated,.bar-button-default.bar-button-ios-danger.activated{opacity:.4}.bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-light .toolbar-background-ios{background:#f4f4f4}.toolbar-ios-light .bar-button-clear-ios,.toolbar-ios-light .bar-button-default-ios,.toolbar-ios-light .toolbar-title-ios{color:#000}.toolbar-ios-light .bar-button-clear-ios-primary,.toolbar-ios-light .bar-button-default.bar-button-ios-primary,.toolbar-ios-light .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-light .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-light .bar-button-clear-ios-primary.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-light .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-light .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-light .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-light .bar-button-clear-ios-secondary,.toolbar-ios-light .bar-button-default.bar-button-ios-secondary,.toolbar-ios-light .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-light .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-light .bar-button-clear-ios-secondary.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-light .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-light .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-light .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-light .bar-button-clear-ios-danger,.toolbar-ios-light .bar-button-danger-ios,.toolbar-ios-light .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-light .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-light .bar-button-clear-ios-danger.activated,.toolbar-ios-light .bar-button-danger-ios.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-light .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-light .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-light .bar-button-clear-ios-light,.toolbar-ios-light .bar-button-default.bar-button-ios-light,.toolbar-ios-light .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-light .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-light .bar-button-clear-ios-light.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-light .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-light .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-light .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-light .bar-button-clear-ios-dark,.toolbar-ios-light .bar-button-dark-ios,.toolbar-ios-light .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-light .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-light .bar-button-clear-ios-dark.activated,.toolbar-ios-light .bar-button-dark-ios.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-light .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-light .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-light .bar-button-clear-ios-optblue,.toolbar-ios-light .bar-button-default.bar-button-ios-optblue,.toolbar-ios-light .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-light .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-light .bar-button-clear-ios-optblue.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-light .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-light .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-light .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-light,.bar-button-default.bar-button-ios-light,.bar-button-light-ios{color:#f4f4f4;background-color:transparent}.bar-button-clear-ios-light:hover:not(.disable-hover),.bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.bar-button-clear-ios-light.activated,.bar-button-default.bar-button-ios-light.activated,.bar-button-light-ios.activated{opacity:.4}.bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-dark .toolbar-background-ios{background:#222}.toolbar-ios-dark .bar-button-clear-ios,.toolbar-ios-dark .bar-button-default-ios,.toolbar-ios-dark .toolbar-title-ios{color:#fff}.toolbar-ios-dark .bar-button-clear-ios-primary,.toolbar-ios-dark .bar-button-default.bar-button-ios-primary,.toolbar-ios-dark .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-dark .bar-button-clear-ios-primary.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-dark .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-dark .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-dark .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-dark .bar-button-clear-ios-secondary,.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary,.toolbar-ios-dark .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-dark .bar-button-clear-ios-secondary.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-dark .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-dark .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-dark .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-dark .bar-button-clear-ios-danger,.toolbar-ios-dark .bar-button-danger-ios,.toolbar-ios-dark .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-dark .bar-button-clear-ios-danger.activated,.toolbar-ios-dark .bar-button-danger-ios.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-dark .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-dark .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-dark .bar-button-clear-ios-light,.toolbar-ios-dark .bar-button-default.bar-button-ios-light,.toolbar-ios-dark .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-dark .bar-button-clear-ios-light.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-dark .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-dark .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-dark .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-dark .bar-button-clear-ios-dark,.toolbar-ios-dark .bar-button-dark-ios,.toolbar-ios-dark .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-dark .bar-button-clear-ios-dark.activated,.toolbar-ios-dark .bar-button-dark-ios.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-dark .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-dark .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-dark .bar-button-clear-ios-optblue,.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue,.toolbar-ios-dark .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-dark .bar-button-clear-ios-optblue.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-dark .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-dark .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-dark .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-dark,.bar-button-dark-ios,.bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.bar-button-clear-ios-dark:hover:not(.disable-hover),.bar-button-dark-ios:hover:not(.disable-hover),.bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.bar-button-clear-ios-dark.activated,.bar-button-dark-ios.activated,.bar-button-default.bar-button-ios-dark.activated{opacity:.4}.bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.bar-button-solid-ios-dark{color:#fff;background-color:#222}.bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-optblue .toolbar-background-ios{background:#e00201}.toolbar-ios-optblue .bar-button-clear-ios,.toolbar-ios-optblue .bar-button-default-ios,.toolbar-ios-optblue .toolbar-title-ios{color:#fff}.toolbar-ios-optblue .bar-button-clear-ios-primary,.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary,.toolbar-ios-optblue .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-optblue .bar-button-clear-ios-primary.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-optblue .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-optblue .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-optblue .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-optblue .bar-button-clear-ios-secondary,.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary,.toolbar-ios-optblue .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-optblue .bar-button-clear-ios-secondary.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-optblue .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-optblue .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-optblue .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-optblue .bar-button-clear-ios-danger,.toolbar-ios-optblue .bar-button-danger-ios,.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-optblue .bar-button-clear-ios-danger.activated,.toolbar-ios-optblue .bar-button-danger-ios.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-optblue .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-optblue .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-optblue .bar-button-clear-ios-light,.toolbar-ios-optblue .bar-button-default.bar-button-ios-light,.toolbar-ios-optblue .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-optblue .bar-button-clear-ios-light.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-optblue .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-optblue .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-optblue .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-optblue .bar-button-clear-ios-dark,.toolbar-ios-optblue .bar-button-dark-ios,.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-optblue .bar-button-clear-ios-dark.activated,.toolbar-ios-optblue .bar-button-dark-ios.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-optblue .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-optblue .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-optblue .bar-button-clear-ios-optblue,.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue,.toolbar-ios-optblue .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-optblue .bar-button-clear-ios-optblue.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-optblue .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-optblue .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-optblue .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-optblue,.bar-button-default.bar-button-ios-optblue,.bar-button-optblue-ios{color:#e00201;background-color:transparent}.bar-button-clear-ios-optblue:hover:not(.disable-hover),.bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.bar-button-clear-ios-optblue.activated,.bar-button-default.bar-button-ios-optblue.activated,.bar-button-optblue-ios.activated{opacity:.4}.bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-strong-ios{font-weight:600}.toolbar-md{padding:4px;min-height:56px}.toolbar-background-md{border-color:#b2b2b2;background:#f8f8f8}.footer-md::before,.header-md::after,.tabs-md[tabsPlacement=bottom]>.tabbar::before,.tabs-md[tabsPlacement=top]>.tabbar::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:""}.footer-md::before,.tabs-md[tabsPlacement=bottom]>.tabbar::before{top:-2px;bottom:auto;background-position:left 0 top 0;height:2px}.footer-md[no-border]::before,.header-md[no-border]::after,.tabs-md[tabsPlacement=bottom][no-border]>.tabbar::before,.tabs-md[tabsPlacement=top][no-border]>.tabbar::after{display:none}.toolbar-content-md{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3;min-width:0;max-width:100%}.toolbar-title-md{padding:0 12px;font-size:2rem;font-weight:500;color:#424242}.bar-buttons-md{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4;-webkit-transform:translateZ(0);transform:translateZ(0)}.bar-buttons-md[left]{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bar-button-md:first-child{margin-left:0}.bar-buttons-md[end]{text-align:right;text-align:end;-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bar-buttons-md[right]{text-align:right;-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bar-button-md{margin:0 .2rem;padding:0 5px;border-radius:2px;height:32px;border:0;font-size:1.4rem;font-weight:500;text-transform:uppercase}.bar-button-outline-md,.bar-button-solid-md{overflow:hidden}.bar-button-outline-md{border-width:1px;border-style:solid;border-color:#424242;color:#424242;background-color:transparent}.bar-button-outline-md:hover:not(.disable-hover){opacity:.4}.bar-button-outline-md.activated{background-color:transparent}.bar-button-outline-md .button-effect{background-color:#424242}.bar-button-solid-md{color:#fff;background-color:#424242}.bar-button-solid-md:hover:not(.disable-hover){color:#fff}.bar-button-solid-md.activated{color:#fff;background-color:#515151}.bar-button-md.bar-button-icon-start ion-icon{padding-right:.3em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-md.bar-button-icon-end ion-icon{padding-left:.4em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-md[icon-only]{padding:0}.bar-button-md[icon-only] ion-icon{padding:0 .1em;min-width:28px;font-size:1.8em;line-height:.67;pointer-events:none}.back-button-md{margin:0 6px;min-width:44px;-webkit-box-shadow:none;box-shadow:none}.back-button-icon-md{margin:0;padding:0 6px;text-align:left;text-align:start;font-size:2.4rem;font-weight:400}.bar-button-menutoggle-md{margin:0 6px;padding:0 2px;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;min-width:44px}.bar-button-menutoggle-md ion-icon{padding:0 6px;font-size:2.4rem}.bar-button-menutoggle-md[end],.bar-button-menutoggle-md[right]{margin:0 2px;-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7;min-width:28px}.bar-button-clear-md-default,.bar-button-default-md,.bar-button-md-default{color:#424242;background-color:transparent}.bar-button-clear-md-default:hover:not(.disable-hover),.bar-button-default-md:hover:not(.disable-hover),.bar-button-md-default:hover:not(.disable-hover){color:#424242}.bar-button-clear-md,.bar-button-clear-md-clear,.bar-button-md-clear{color:#424242;background-color:transparent}.bar-button-clear-md-clear:hover:not(.disable-hover),.bar-button-clear-md:hover:not(.disable-hover),.bar-button-md-clear:hover:not(.disable-hover){color:#424242}.toolbar-md-primary .toolbar-background-md{background:#673ab7}.toolbar-md-primary .bar-button-clear-md,.toolbar-md-primary .bar-button-default-md,.toolbar-md-primary .bar-button-outline-md,.toolbar-md-primary .toolbar-title-md{color:#fff}.toolbar-md-primary .bar-button-clear-md .button-effect,.toolbar-md-primary .bar-button-default-md .button-effect,.toolbar-md-primary .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-primary .bar-button-outline-md{border-color:#fff}.toolbar-md-primary .bar-button-clear-md-primary,.toolbar-md-primary .bar-button-md-primary,.toolbar-md-primary .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-primary .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-primary .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-primary .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-primary .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-primary .bar-button-clear-md-secondary,.toolbar-md-primary .bar-button-md-secondary,.toolbar-md-primary .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-primary .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-primary .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-primary .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-primary .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-primary .bar-button-clear-md-danger,.toolbar-md-primary .bar-button-danger-md,.toolbar-md-primary .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-primary .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-primary .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-primary .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-primary .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-primary .bar-button-clear-md-light,.toolbar-md-primary .bar-button-light-md,.toolbar-md-primary .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-primary .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-primary .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-primary .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-primary .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-primary .bar-button-clear-md-dark,.toolbar-md-primary .bar-button-dark-md,.toolbar-md-primary .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-primary .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-primary .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-primary .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-primary .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-primary .bar-button-clear-md-optblue,.toolbar-md-primary .bar-button-md-optblue,.toolbar-md-primary .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-primary .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-primary .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-primary .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-primary .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-primary,.bar-button-md-primary,.bar-button-primary-md{color:#673ab7;background-color:transparent}.bar-button-clear-md-primary:hover:not(.disable-hover),.bar-button-md-primary:hover:not(.disable-hover),.bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.bar-button-outline-md-primary.activated{background-color:transparent}.bar-button-outline-md-primary .button-effect{background-color:#734abd}.bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-secondary .toolbar-background-md{background:#32db64}.toolbar-md-secondary .bar-button-clear-md,.toolbar-md-secondary .bar-button-default-md,.toolbar-md-secondary .bar-button-outline-md,.toolbar-md-secondary .toolbar-title-md{color:#fff}.toolbar-md-secondary .bar-button-clear-md .button-effect,.toolbar-md-secondary .bar-button-default-md .button-effect,.toolbar-md-secondary .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-secondary .bar-button-outline-md{border-color:#fff}.toolbar-md-secondary .bar-button-clear-md-primary,.toolbar-md-secondary .bar-button-md-primary,.toolbar-md-secondary .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-secondary .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-secondary .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-secondary .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-secondary .bar-button-clear-md-secondary,.toolbar-md-secondary .bar-button-md-secondary,.toolbar-md-secondary .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-secondary .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-secondary .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-secondary .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-secondary .bar-button-clear-md-danger,.toolbar-md-secondary .bar-button-danger-md,.toolbar-md-secondary .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-secondary .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-secondary .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-secondary .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-secondary .bar-button-clear-md-light,.toolbar-md-secondary .bar-button-light-md,.toolbar-md-secondary .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-secondary .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-secondary .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-secondary .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-secondary .bar-button-clear-md-dark,.toolbar-md-secondary .bar-button-dark-md,.toolbar-md-secondary .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-secondary .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-secondary .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-secondary .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-secondary .bar-button-clear-md-optblue,.toolbar-md-secondary .bar-button-md-optblue,.toolbar-md-secondary .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-secondary .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-secondary .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-secondary .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-secondary,.bar-button-md-secondary,.bar-button-secondary-md{color:#32db64;background-color:transparent}.bar-button-clear-md-secondary:hover:not(.disable-hover),.bar-button-md-secondary:hover:not(.disable-hover),.bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.bar-button-outline-md-secondary.activated{background-color:transparent}.bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-danger .toolbar-background-md{background:#f53d3d}.toolbar-md-danger .bar-button-clear-md,.toolbar-md-danger .bar-button-default-md,.toolbar-md-danger .bar-button-outline-md,.toolbar-md-danger .toolbar-title-md{color:#fff}.toolbar-md-danger .bar-button-clear-md .button-effect,.toolbar-md-danger .bar-button-default-md .button-effect,.toolbar-md-danger .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-danger .bar-button-outline-md{border-color:#fff}.toolbar-md-danger .bar-button-clear-md-primary,.toolbar-md-danger .bar-button-md-primary,.toolbar-md-danger .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-danger .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-danger .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-danger .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-danger .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-danger .bar-button-clear-md-secondary,.toolbar-md-danger .bar-button-md-secondary,.toolbar-md-danger .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-danger .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-danger .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-danger .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-danger .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-danger .bar-button-clear-md-danger,.toolbar-md-danger .bar-button-danger-md,.toolbar-md-danger .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-danger .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-danger .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-danger .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-danger .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-danger .bar-button-clear-md-light,.toolbar-md-danger .bar-button-light-md,.toolbar-md-danger .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-danger .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-danger .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-danger .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-danger .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-danger .bar-button-clear-md-dark,.toolbar-md-danger .bar-button-dark-md,.toolbar-md-danger .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-danger .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-danger .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-danger .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-danger .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-danger .bar-button-clear-md-optblue,.toolbar-md-danger .bar-button-md-optblue,.toolbar-md-danger .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-danger .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-danger .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-danger .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-danger .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-danger,.bar-button-danger-md,.bar-button-md-danger{color:#f53d3d;background-color:transparent}.bar-button-clear-md-danger:hover:not(.disable-hover),.bar-button-danger-md:hover:not(.disable-hover),.bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.bar-button-outline-md-danger.activated{background-color:transparent}.bar-button-outline-md-danger .button-effect{background-color:#e13838}.bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-light .toolbar-background-md{background:#f4f4f4}.toolbar-md-light .bar-button-clear-md,.toolbar-md-light .bar-button-default-md,.toolbar-md-light .bar-button-outline-md,.toolbar-md-light .toolbar-title-md{color:#424242}.toolbar-md-light .bar-button-clear-md .button-effect,.toolbar-md-light .bar-button-default-md .button-effect,.toolbar-md-light .bar-button-outline-md .button-effect{background-color:#424242}.toolbar-md-light .bar-button-outline-md{border-color:#424242}.toolbar-md-light .bar-button-clear-md-primary,.toolbar-md-light .bar-button-md-primary,.toolbar-md-light .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-light .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-light .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-light .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-light .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-light .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-light .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-light .bar-button-clear-md-secondary,.toolbar-md-light .bar-button-md-secondary,.toolbar-md-light .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-light .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-light .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-light .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-light .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-light .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-light .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-light .bar-button-clear-md-danger,.toolbar-md-light .bar-button-danger-md,.toolbar-md-light .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-light .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-light .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-light .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-light .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-light .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-light .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-light .bar-button-clear-md-light,.toolbar-md-light .bar-button-light-md,.toolbar-md-light .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-light .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-light .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-light .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-light .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-light .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-light .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-light .bar-button-clear-md-dark,.toolbar-md-light .bar-button-dark-md,.toolbar-md-light .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-light .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-light .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-light .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-light .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-light .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-light .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-light .bar-button-clear-md-optblue,.toolbar-md-light .bar-button-md-optblue,.toolbar-md-light .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-light .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-light .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-light .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-light .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-light .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-light .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-light,.bar-button-light-md,.bar-button-md-light{color:#f4f4f4;background-color:transparent}.bar-button-clear-md-light:hover:not(.disable-hover),.bar-button-light-md:hover:not(.disable-hover),.bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.bar-button-outline-md-light.activated{background-color:transparent}.bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-dark .toolbar-background-md{background:#222}.toolbar-md-dark .bar-button-clear-md,.toolbar-md-dark .bar-button-default-md,.toolbar-md-dark .bar-button-outline-md,.toolbar-md-dark .toolbar-title-md{color:#fff}.toolbar-md-dark .bar-button-clear-md .button-effect,.toolbar-md-dark .bar-button-default-md .button-effect,.toolbar-md-dark .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-dark .bar-button-outline-md{border-color:#fff}.toolbar-md-dark .bar-button-clear-md-primary,.toolbar-md-dark .bar-button-md-primary,.toolbar-md-dark .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-dark .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-dark .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-dark .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-dark .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-dark .bar-button-clear-md-secondary,.toolbar-md-dark .bar-button-md-secondary,.toolbar-md-dark .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-dark .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-dark .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-dark .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-dark .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-dark .bar-button-clear-md-danger,.toolbar-md-dark .bar-button-danger-md,.toolbar-md-dark .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-dark .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-dark .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-dark .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-dark .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-dark .bar-button-clear-md-light,.toolbar-md-dark .bar-button-light-md,.toolbar-md-dark .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-dark .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-dark .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-dark .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-dark .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-dark .bar-button-clear-md-dark,.toolbar-md-dark .bar-button-dark-md,.toolbar-md-dark .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-dark .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-dark .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-dark .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-dark .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-dark .bar-button-clear-md-optblue,.toolbar-md-dark .bar-button-md-optblue,.toolbar-md-dark .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-dark .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-dark .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-dark .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-dark .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-dark,.bar-button-dark-md,.bar-button-md-dark{color:#222;background-color:transparent}.bar-button-clear-md-dark:hover:not(.disable-hover),.bar-button-dark-md:hover:not(.disable-hover),.bar-button-md-dark:hover:not(.disable-hover){color:#222}.bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.bar-button-outline-md-dark.activated{background-color:transparent}.bar-button-outline-md-dark .button-effect{background-color:#343434}.bar-button-solid-md-dark{color:#fff;background-color:#222}.bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-optblue .toolbar-background-md{background:#e00201}.toolbar-md-optblue .bar-button-clear-md,.toolbar-md-optblue .bar-button-default-md,.toolbar-md-optblue .bar-button-outline-md,.toolbar-md-optblue .toolbar-title-md{color:#fff}.toolbar-md-optblue .bar-button-clear-md .button-effect,.toolbar-md-optblue .bar-button-default-md .button-effect,.toolbar-md-optblue .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-optblue .bar-button-outline-md{border-color:#fff}.toolbar-md-optblue .bar-button-clear-md-primary,.toolbar-md-optblue .bar-button-md-primary,.toolbar-md-optblue .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-optblue .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-optblue .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-optblue .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-optblue .bar-button-clear-md-secondary,.toolbar-md-optblue .bar-button-md-secondary,.toolbar-md-optblue .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-optblue .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-optblue .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-optblue .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-optblue .bar-button-clear-md-danger,.toolbar-md-optblue .bar-button-danger-md,.toolbar-md-optblue .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-optblue .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-optblue .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-optblue .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-optblue .bar-button-clear-md-light,.toolbar-md-optblue .bar-button-light-md,.toolbar-md-optblue .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-optblue .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-optblue .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-optblue .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-optblue .bar-button-clear-md-dark,.toolbar-md-optblue .bar-button-dark-md,.toolbar-md-optblue .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-optblue .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-optblue .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-optblue .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-optblue .bar-button-clear-md-optblue,.toolbar-md-optblue .bar-button-md-optblue,.toolbar-md-optblue .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-optblue .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-optblue .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-optblue .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-optblue,.bar-button-md-optblue,.bar-button-optblue-md{color:#e00201;background-color:transparent}.bar-button-clear-md-optblue:hover:not(.disable-hover),.bar-button-md-optblue:hover:not(.disable-hover),.bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.bar-button-outline-md-optblue.activated{background-color:transparent}.bar-button-outline-md-optblue .button-effect{background-color:#e21615}.bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-strong-md{font-weight:700}.toolbar-wp{padding:4px;min-height:46px}.toolbar-background-wp{border-color:#b2b2b2;background:#f8f8f8}.toolbar-content-wp{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3;min-width:0;max-width:100%}.toolbar-title-wp{font-size:1.5rem;font-weight:700;text-transform:uppercase;color:#000;padding:0 6px}.bar-buttons-wp{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4;-webkit-transform:translateZ(0);transform:translateZ(0)}.bar-buttons-wp[left]{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bar-buttons-wp[left] .bar-button:first-child{margin-left:0}.bar-buttons-wp[end]{text-align:right;text-align:end;-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bar-buttons-wp[right]{text-align:right;-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bar-button-wp{margin:0 .2rem;padding:0 5px;border-radius:2px;height:32px;border:0;font-size:1.4rem;font-weight:500;text-transform:uppercase}.bar-button-outline-wp,.bar-button-solid-wp{overflow:hidden}.bar-button-outline-wp{border-width:1px;border-style:solid;border-color:#000;color:#000;background-color:transparent}.bar-button-outline-wp:hover:not(.disable-hover){opacity:.4}.bar-button-outline-wp.activated{color:#fff;background-color:#000}.bar-button-solid-wp{color:#fff;background-color:#000}.bar-button-solid-wp:hover:not(.disable-hover){color:#fff}.bar-button-solid-wp.activated{color:#fff;background-color:#141414}.bar-button-wp.bar-button-icon-start ion-icon{padding-right:.3em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-wp.bar-button-icon-end ion-icon{padding-left:.4em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-wp[icon-only]{padding:0}.bar-button-wp[icon-only] ion-icon{padding:0 .1em;min-width:28px;font-size:1.8em;line-height:.67;pointer-events:none}.back-button-wp{margin:0 6px;min-width:44px;-webkit-box-shadow:none;box-shadow:none}.back-button-icon-wp{text-align:left;text-align:start;margin:0;padding:0 6px;font-size:2.4rem;font-weight:400}.bar-button-menutoggle-wp{margin:0 6px;padding:0 2px;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;min-width:44px}.bar-button-menutoggle-wp ion-icon{padding:0 6px;font-size:2.4rem}.bar-button-menutoggle-wp[end],.bar-button-menutoggle-wp[right]{margin:0 2px;-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7;min-width:28px}.bar-button-clear-wp-default,.bar-button-default-wp,.bar-button-wp-default{color:#000;background-color:transparent}.bar-button-clear-wp-default:hover:not(.disable-hover),.bar-button-default-wp:hover:not(.disable-hover),.bar-button-wp-default:hover:not(.disable-hover){color:#000}.bar-button-clear-wp,.bar-button-clear-wp-clear,.bar-button-wp-clear{color:#000;background-color:transparent}.bar-button-clear-wp-clear:hover:not(.disable-hover),.bar-button-clear-wp:hover:not(.disable-hover),.bar-button-wp-clear:hover:not(.disable-hover){color:#000}.toolbar-wp-primary .toolbar-background-wp{background:#673ab7}.toolbar-wp-primary .bar-button-clear-wp,.toolbar-wp-primary .bar-button-default-wp,.toolbar-wp-primary .bar-button-outline-wp,.toolbar-wp-primary .toolbar-title-wp{color:#fff}.toolbar-wp-primary .bar-button-outline-wp{border-color:#fff}.toolbar-wp-primary .bar-button-clear-wp-primary,.toolbar-wp-primary .bar-button-primary-wp,.toolbar-wp-primary .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-primary .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-primary .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-primary .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-primary .bar-button-clear-wp-secondary,.toolbar-wp-primary .bar-button-secondary-wp,.toolbar-wp-primary .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-primary .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-primary .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-primary .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-primary .bar-button-clear-wp-danger,.toolbar-wp-primary .bar-button-danger-wp,.toolbar-wp-primary .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-primary .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-primary .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-primary .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-primary .bar-button-clear-wp-light,.toolbar-wp-primary .bar-button-light-wp,.toolbar-wp-primary .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-primary .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-primary .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-primary .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-primary .bar-button-clear-wp-dark,.toolbar-wp-primary .bar-button-dark-wp,.toolbar-wp-primary .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-primary .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-primary .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-primary .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-primary .bar-button-clear-wp-optblue,.toolbar-wp-primary .bar-button-optblue-wp,.toolbar-wp-primary .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-primary .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-primary .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-primary .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-primary,.bar-button-primary-wp,.bar-button-wp-primary{color:#673ab7;background-color:transparent}.bar-button-clear-wp-primary:hover:not(.disable-hover),.bar-button-primary-wp:hover:not(.disable-hover),.bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-secondary .toolbar-background-wp{background:#32db64}.toolbar-wp-secondary .bar-button-clear-wp,.toolbar-wp-secondary .bar-button-default-wp,.toolbar-wp-secondary .bar-button-outline-wp,.toolbar-wp-secondary .toolbar-title-wp{color:#fff}.toolbar-wp-secondary .bar-button-outline-wp{border-color:#fff}.toolbar-wp-secondary .bar-button-clear-wp-primary,.toolbar-wp-secondary .bar-button-primary-wp,.toolbar-wp-secondary .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-secondary .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-secondary .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-secondary .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-secondary .bar-button-clear-wp-secondary,.toolbar-wp-secondary .bar-button-secondary-wp,.toolbar-wp-secondary .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-secondary .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-secondary .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-secondary .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-secondary .bar-button-clear-wp-danger,.toolbar-wp-secondary .bar-button-danger-wp,.toolbar-wp-secondary .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-secondary .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-secondary .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-secondary .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-secondary .bar-button-clear-wp-light,.toolbar-wp-secondary .bar-button-light-wp,.toolbar-wp-secondary .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-secondary .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-secondary .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-secondary .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-secondary .bar-button-clear-wp-dark,.toolbar-wp-secondary .bar-button-dark-wp,.toolbar-wp-secondary .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-secondary .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-secondary .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-secondary .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-secondary .bar-button-clear-wp-optblue,.toolbar-wp-secondary .bar-button-optblue-wp,.toolbar-wp-secondary .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-secondary .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-secondary .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-secondary .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-secondary,.bar-button-secondary-wp,.bar-button-wp-secondary{color:#32db64;background-color:transparent}.bar-button-clear-wp-secondary:hover:not(.disable-hover),.bar-button-secondary-wp:hover:not(.disable-hover),.bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-danger .toolbar-background-wp{background:#f53d3d}.toolbar-wp-danger .bar-button-clear-wp,.toolbar-wp-danger .bar-button-default-wp,.toolbar-wp-danger .bar-button-outline-wp,.toolbar-wp-danger .toolbar-title-wp{color:#fff}.toolbar-wp-danger .bar-button-outline-wp{border-color:#fff}.toolbar-wp-danger .bar-button-clear-wp-primary,.toolbar-wp-danger .bar-button-primary-wp,.toolbar-wp-danger .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-danger .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-danger .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-danger .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-danger .bar-button-clear-wp-secondary,.toolbar-wp-danger .bar-button-secondary-wp,.toolbar-wp-danger .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-danger .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-danger .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-danger .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-danger .bar-button-clear-wp-danger,.toolbar-wp-danger .bar-button-danger-wp,.toolbar-wp-danger .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-danger .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-danger .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-danger .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-danger .bar-button-clear-wp-light,.toolbar-wp-danger .bar-button-light-wp,.toolbar-wp-danger .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-danger .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-danger .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-danger .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-danger .bar-button-clear-wp-dark,.toolbar-wp-danger .bar-button-dark-wp,.toolbar-wp-danger .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-danger .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-danger .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-danger .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-danger .bar-button-clear-wp-optblue,.toolbar-wp-danger .bar-button-optblue-wp,.toolbar-wp-danger .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-danger .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-danger .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-danger .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-danger,.bar-button-danger-wp,.bar-button-wp-danger{color:#f53d3d;background-color:transparent}.bar-button-clear-wp-danger:hover:not(.disable-hover),.bar-button-danger-wp:hover:not(.disable-hover),.bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-light .toolbar-background-wp{background:#f4f4f4}.toolbar-wp-light .bar-button-clear-wp,.toolbar-wp-light .bar-button-default-wp,.toolbar-wp-light .bar-button-outline-wp,.toolbar-wp-light .toolbar-title-wp{color:#000}.toolbar-wp-light .bar-button-outline-wp{border-color:#000}.toolbar-wp-light .bar-button-clear-wp-primary,.toolbar-wp-light .bar-button-primary-wp,.toolbar-wp-light .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-light .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-light .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-light .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-light .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-light .bar-button-clear-wp-secondary,.toolbar-wp-light .bar-button-secondary-wp,.toolbar-wp-light .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-light .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-light .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-light .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-light .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-light .bar-button-clear-wp-danger,.toolbar-wp-light .bar-button-danger-wp,.toolbar-wp-light .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-light .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-light .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-light .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-light .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-light .bar-button-clear-wp-light,.toolbar-wp-light .bar-button-light-wp,.toolbar-wp-light .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-light .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-light .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-light .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-light .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-light .bar-button-clear-wp-dark,.toolbar-wp-light .bar-button-dark-wp,.toolbar-wp-light .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-light .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-light .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-light .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-light .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-light .bar-button-clear-wp-optblue,.toolbar-wp-light .bar-button-optblue-wp,.toolbar-wp-light .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-light .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-light .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-light .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-light .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-light,.bar-button-light-wp,.bar-button-wp-light{color:#f4f4f4;background-color:transparent}.bar-button-clear-wp-light:hover:not(.disable-hover),.bar-button-light-wp:hover:not(.disable-hover),.bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-dark .toolbar-background-wp{background:#222}.toolbar-wp-dark .bar-button-clear-wp,.toolbar-wp-dark .bar-button-default-wp,.toolbar-wp-dark .bar-button-outline-wp,.toolbar-wp-dark .toolbar-title-wp{color:#fff}.toolbar-wp-dark .bar-button-outline-wp{border-color:#fff}.toolbar-wp-dark .bar-button-clear-wp-primary,.toolbar-wp-dark .bar-button-primary-wp,.toolbar-wp-dark .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-dark .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-dark .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-dark .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-dark .bar-button-clear-wp-secondary,.toolbar-wp-dark .bar-button-secondary-wp,.toolbar-wp-dark .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-dark .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-dark .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-dark .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-dark .bar-button-clear-wp-danger,.toolbar-wp-dark .bar-button-danger-wp,.toolbar-wp-dark .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-dark .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-dark .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-dark .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-dark .bar-button-clear-wp-light,.toolbar-wp-dark .bar-button-light-wp,.toolbar-wp-dark .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-dark .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-dark .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-dark .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-dark .bar-button-clear-wp-dark,.toolbar-wp-dark .bar-button-dark-wp,.toolbar-wp-dark .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-dark .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-dark .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-dark .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-dark .bar-button-clear-wp-optblue,.toolbar-wp-dark .bar-button-optblue-wp,.toolbar-wp-dark .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-dark .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-dark .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-dark .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-dark,.bar-button-dark-wp,.bar-button-wp-dark{color:#222;background-color:transparent}.bar-button-clear-wp-dark:hover:not(.disable-hover),.bar-button-dark-wp:hover:not(.disable-hover),.bar-button-wp-dark:hover:not(.disable-hover){color:#222}.bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.bar-button-solid-wp-dark{color:#fff;background-color:#222}.bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-optblue .toolbar-background-wp{background:#e00201}.toolbar-wp-optblue .bar-button-clear-wp,.toolbar-wp-optblue .bar-button-default-wp,.toolbar-wp-optblue .bar-button-outline-wp,.toolbar-wp-optblue .toolbar-title-wp{color:#fff}.toolbar-wp-optblue .bar-button-outline-wp{border-color:#fff}.toolbar-wp-optblue .bar-button-clear-wp-primary,.toolbar-wp-optblue .bar-button-primary-wp,.toolbar-wp-optblue .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-optblue .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-optblue .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-optblue .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-optblue .bar-button-clear-wp-secondary,.toolbar-wp-optblue .bar-button-secondary-wp,.toolbar-wp-optblue .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-optblue .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-optblue .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-optblue .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-optblue .bar-button-clear-wp-danger,.toolbar-wp-optblue .bar-button-danger-wp,.toolbar-wp-optblue .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-optblue .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-optblue .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-optblue .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-optblue .bar-button-clear-wp-light,.toolbar-wp-optblue .bar-button-light-wp,.toolbar-wp-optblue .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-optblue .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-optblue .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-optblue .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-optblue .bar-button-clear-wp-dark,.toolbar-wp-optblue .bar-button-dark-wp,.toolbar-wp-optblue .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-optblue .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-optblue .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-optblue .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-optblue .bar-button-clear-wp-optblue,.toolbar-wp-optblue .bar-button-optblue-wp,.toolbar-wp-optblue .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-optblue .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-optblue .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-optblue .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-optblue,.bar-button-optblue-wp,.bar-button-wp-optblue{color:#e00201;background-color:transparent}.bar-button-clear-wp-optblue:hover:not(.disable-hover),.bar-button-optblue-wp:hover:not(.disable-hover),.bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-strong-wp{font-weight:700}.text-ios-primary{color:#673ab7}.text-ios-secondary{color:#32db64}.text-ios-danger{color:#f53d3d}.text-ios-light{color:#f4f4f4}.text-ios-dark{color:#222}.text-ios-optblue{color:#e00201}.text-md-primary{color:#673ab7}.text-md-secondary{color:#32db64}.text-md-danger{color:#f53d3d}.text-md-light{color:#f4f4f4}.text-md-dark{color:#222}.text-md-optblue{color:#e00201}.text-wp-primary{color:#673ab7}.text-wp-secondary{color:#32db64}.text-wp-danger{color:#f53d3d}.text-wp-light{color:#f4f4f4}.text-wp-dark{color:#222}.text-wp-optblue{color:#e00201}.virtual-loading{opacity:0}.virtual-scroll{position:relative;contain:content}.virtual-scroll .virtual-position,.virtual-scroll .virtual-position.item{left:0;top:0;position:absolute;-webkit-transition-duration:0s;transition-duration:0s;contain:content}.virtual-scroll .virtual-last{display:none}.ios ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child,.ios ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child,.ios ion-nav>.ion-page>.toolbar.statusbar-padding:first-child,.ios ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.ios ion-tab>.ion-page>.toolbar.statusbar-padding:first-child,.ios ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.ios ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(44px + 20px);min-height:calc(44px + constant(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top))}.ios ion-menu>.menu-inner>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-nav>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-tab>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.ios ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.ios ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child ion-title,.ios ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child ion-title,.ios ion-nav>.ion-page>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-nav>.ion-page>.toolbar.statusbar-padding:first-child ion-title,.ios ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-title,.ios ion-tab>.ion-page>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-tab>.ion-page>.toolbar.statusbar-padding:first-child ion-title,.ios ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-title,.ios ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child ion-title{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);height:calc(44px + 20px);height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top));min-height:calc(44px + 20px);min-height:calc(44px + constant(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top))}@media only screen and (max-width:767px){.ios .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(44px + 20px);min-height:calc(44px + constant(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top))}.ios .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.ios .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.ios .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-title{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);height:calc(44px + 20px);height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top));min-height:calc(44px + 20px);min-height:calc(44px + constant(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top))}}.ios .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.ios ion-footer .toolbar:last-child{padding-bottom:calc(constant(safe-area-inset-bottom) + 4px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px);min-height:calc(44px + constant(safe-area-inset-bottom));min-height:calc(44px + env(safe-area-inset-bottom))}.md ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child,.md ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child,.md ion-nav>.ion-page>.toolbar.statusbar-padding:first-child,.md ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.md ion-tab>.ion-page>.toolbar.statusbar-padding:first-child,.md ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.md ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(56px + 20px);min-height:calc(56px + constant(safe-area-inset-top));min-height:calc(56px + env(safe-area-inset-top))}.md ion-menu>.menu-inner>ion-content.statusbar-padding:first-child .scroll-content,.md ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.md ion-nav>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.md ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.md ion-tab>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.md ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.md ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.md ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}@media only screen and (max-width:767px){.md .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(56px + 20px);min-height:calc(56px + constant(safe-area-inset-top));min-height:calc(56px + env(safe-area-inset-top))}.md .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.md .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}}.md .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.md ion-footer .toolbar:last-child{padding-bottom:calc(constant(safe-area-inset-bottom) + 4px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px);min-height:calc(56px + constant(safe-area-inset-bottom));min-height:calc(56px + env(safe-area-inset-bottom))}.wp ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child,.wp ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child,.wp ion-nav>.ion-page>.toolbar.statusbar-padding:first-child,.wp ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.wp ion-tab>.ion-page>.toolbar.statusbar-padding:first-child,.wp ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.wp ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(46px + 20px);min-height:calc(46px + constant(safe-area-inset-top));min-height:calc(46px + env(safe-area-inset-top))}.wp ion-menu>.menu-inner>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-nav>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-tab>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.wp ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}@media only screen and (max-width:767px){.wp .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(46px + 20px);min-height:calc(46px + constant(safe-area-inset-top));min-height:calc(46px + env(safe-area-inset-top))}.wp .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.wp .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}}.wp .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.wp ion-footer .toolbar:last-child{padding-bottom:calc(constant(safe-area-inset-bottom) + 4px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px);min-height:calc(46px + constant(safe-area-inset-bottom));min-height:calc(46px + env(safe-area-inset-bottom))}image-viewer.ion-page{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;opacity:1}image-viewer.ion-page ion-navbar.toolbar .toolbar-background{background-color:transparent}image-viewer.ion-page ion-navbar.toolbar.toolbar-ios{padding-top:calc(20px + 4px)}image-viewer.ion-page ion-navbar .bar-button-default{color:#fff}image-viewer.ion-page .backdrop{will-change:opacity}image-viewer.ion-page .image-wrapper{position:relative;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:56px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}image-viewer.ion-page .image{will-change:transform}image-viewer.ion-page img{display:block;max-width:100%;max-height:100%;margin:0 auto}@font-face{font-family:Roboto;src:url(../assets/fonts/Roboto-Light.ttf)}*{font-family:Roboto;font-size:16px}.align-center{text-align:center}.highlight{background-color:#f4f4f4}.center{display:block;margin:0 auto}.vertical-center{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.top-radius{border-radius:10% 10% 0 0}.bottom-radius{border-radius:0 0 10% 10%}.round{border-radius:50%}.transparent-header .back-button,.transparent-header .toolbar-content{color:#fff}.transparent-header .toolbar-background,.transparent-header ion-header,.transparent-header ion-navbar{background:0 0!important;background-color:transparent!important}.transparent-header .header-md::after,.transparent-header .toolbar-background-ios{background-image:none;border-bottom:0}.transparent-header .footer-ios .toolbar-background-ios,.transparent-header .header-ios .toolbar-background-ios{border:0}#menu-right button{padding-left:16px}#menu-right ion-content{background:#00d2ff;background:-webkit-gradient(linear,right top,left top,from(#3a7bd5),to(#00d2ff));background:linear-gradient(to left,#3a7bd5,#00d2ff)}#menu-right .menu-inner{width:10vh}@media screen and (orientation:landscape){#menu-right .menu-inner{width:15vh}}#menu-right .active-menu-item{position:absolute;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #fff}#menu-right .label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}#menu-right .list-ios[no-lines] .item .item-inner,#menu-right .list-ios[no-lines] .item-block,#menu-right .list-ios[no-lines] ion-item-options,#menu-right .list-md[no-lines] .item .item-inner,#menu-right .list-md[no-lines] .item-block,#menu-right .list-md[no-lines] ion-item-options{padding:.3rem 0;background:0 0;color:#fff}#menu-right ion-icon{line-height:1}.icon-badge{top:0;right:0;background:#e00201;color:#fff;font-size:12px;position:absolute;padding:5px 8px;border-radius:15px}#menu-avatar .user-avatar{max-width:125px;height:125px;padding:.5em}#menu-avatar .label,#menu-avatar h3{color:#fff;font-weight:700;font-size:14px}#menu-avatar .item{background:0 0}#menu-avatar ion-content{background:#649173;background:-webkit-gradient(linear,right top,left top,from(#dbd5a4),to(#649173));background:linear-gradient(to left,#dbd5a4,#649173)}#menu-avatar .menu-inner{background:rgba(255,255,255,.3)}#menu-material .scroll-content .name{font-weight:500;margin-top:0;margin-left:0;font-size:24px}#menu-material .scroll-content .e-mail{margin-top:0;margin-bottom:5px}#menu-material .user-avatar{max-width:125px;height:125px;padding:.5em;height:12vh}#menu-material .label,#menu-material h3{color:#111;font-weight:500}#menu-material .menu-inner{-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)!important;box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)!important}#menu-material .menu-header{background-image:url(../assets/img/misc/sidemenubg.jpg);background-size:cover;color:#fff;padding-bottom:15px}#menu-material .item-md{background-color:rgba(255,255,255,.28)!important}#menu-material ion-icon{color:#111}#menu-dark .sidemenuHeader ion-toolbar .toolbar-background{background:#19152c;border:#19152c}#menu-dark .sidemenuHeader ion-toolbar ion-buttons button{color:#fff}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item{background:0 0;color:#fff}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item ion-avatar{background:#fff;color:#8835c3;border-radius:50%;text-align:center}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item ion-avatar h2{margin:0;font-size:25px;line-height:40px;color:#19152c}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item h2{font-size:12px;font-weight:400}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item p{font-size:11px;font-weight:400;color:#fff}#menu-dark .menu{background:#19152c}#menu-dark .menu ion-list button{background:0 0;color:#c9c7d3;font-size:13px}#menu-dark .menu ion-list button .item-inner{border-bottom:1px solid #474456!important}#menu-dark .menu ion-list button .item-inner img{width:30px;height:30px;vertical-align:middle;margin-right:10px;margin-bottom:5px}page-auth .scroll-content{background-color:#eee}page-auth .mat-card{width:80%;margin-left:10%;margin-top:35%;border-radius:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-auth h4{font-weight:400}page-auth button.mat-primary{background-color:#e00201!important}page-auth .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-auth .rounded-circle{border-radius:50%!important}page-auth .img-fluid{max-width:40%;height:auto;margin-top:-70px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2);box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}page-auth ion-icon{font-size:2.2em}page-googleplaytab .SwipedTabs-indicatorSegment{-webkit-transition:.2s all;transition:.2s all;-webkit-transform-origin:top 0 left 0;transform-origin:top 0 left 0;height:1px;position:relative;top:-2px;background-color:#00f!important}page-googleplaytab .SwipedTabs-tabs ion-segment-button{border:none!important;color:#111!important;background-color:#fff!important;padding-left:16px!important;padding-right:20px!important}page-googleplaytab .SwipedTabs-tabs ion-segment-button.SwipedTabs-activeTab{color:#00f!important}page-googleplaytab .SwipedTabs-tabs{width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}page-googleplaytab .toolbar *{margin:0!important}page-googleplaytab .tabsContent .scroll-content{overflow-x:scroll!important}page-googleplaytab .tabsContent{height:50px!important}page-googleplaytab .segment-button{max-width:initial!important;-webkit-box-flex:1!important;-webkit-flex:auto!important;-ms-flex:auto!important;flex:auto!important;width:initial!important}page-googleplaytab .segment-md .segment-button{font-size:2rem}page-googleplaytab .scroll-content{background-color:#eee!important}page-googleplaytab .grid{padding:0}page-googleplaytab h1{margin:2px 0;font-size:2.2rem!important}page-googleplaytab .scroll-content{background-color:#eee!important;padding:0!important}page-googleplaytab .mat-card{-webkit-box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(156,39,176,.6)!important;box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(156,39,176,.6)!important;margin-bottom:3px}page-googleplaytab h2{font-size:2rem;font-weight:400}page-input .example-form{min-width:150px;max-width:500px;width:100%}page-input .example-full-width{width:100%}page-input .cusicon{padding-top:36px;font-size:23px;color:#3272b2}page-input mat-grid-tile{background:#fff!important}page-input .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:15s;animation-duration:15s;-webkit-transition:all .5s cubic-bezier(.36,-.64,.34,1.76);transition:all .5s cubic-bezier(.36,-.64,.34,1.76)}@font-face{src:url(../../assets/fonts/Roboto-Bold.ttf)!important}page-input .box{-webkit-box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(50,114,178,.59)!important;box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(50,114,178,.59)!important}page-input .scroll-content{background-color:#eee!important}page-input .mat-card{padding:7px 16px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-input *{font-size:14px}page-input .mat-card-title{margin-bottom:0}page-input .button-md-primary{background-color:#e00201!important;margin-bottom:0!important;height:50px}page-input .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-input .fab-md-optblue{-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-input ion-footer{position:absolute}page-input .cardinfo{font-size:19px!important;padding-bottom:30px!important}page-login .scroll-content{background-image:url(../assets/img/misc/login.jpg);background-size:cover}page-login .form{margin:22px;font:inherit;color:inherit}page-login .mat-card{margin-top:50%;background-color:rgba(255,255,255,.57);border-radius:10px}page-login .login-session{margin-top:50%}page-login img{height:70px!important}page-login *{font-size:25px!important}page-login button.mat-primary{background-color:#e00201!important}page-login .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-otp .scroll-content{background-color:#eee}page-otp .mat-card{width:80%;margin-left:10%;margin-top:35%;border-radius:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-otp h4{font-weight:400}page-otp button.mat-primary{background-color:#e00201!important}page-otp .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-otp .rounded-circle{border-radius:50%!important;background-image:url(../assets/img/misc/avatar.jpg)}page-otp .img-fluid{max-width:40%;height:auto;margin-top:-70px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2);box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}page-otp ion-icon{font-size:2.2em}page-password .scroll-content{background-color:#eee}page-password .mat-card{width:80%;margin-left:10%;margin-top:35%;border-radius:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-password h4{font-weight:400}page-password button.mat-primary{background-color:#dd4437!important}page-password .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-password .rounded-circle{border-radius:50%!important;background-image:url(../assets/img/misc/avatar.jpg)}page-password .img-fluid{max-width:40%;height:auto;margin-top:-70px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2);box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}page-password ion-icon{font-size:2.2em}page-pd-allocation mat-grid-tile{background:#fff!important}page-pd-allocation .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:15s;animation-duration:15s;-webkit-transition:all .5s cubic-bezier(.36,-.64,.34,1.76);transition:all .5s cubic-bezier(.36,-.64,.34,1.76)}@font-face{src:url(../../assets/fonts/Roboto-Bold.ttf)!important}page-pd-allocation .scroll-content{background-color:#eee!important;padding:0!important}page-pd-allocation *{font-size:14px}page-pd-allocation .mat-card-title{margin-bottom:0}page-pd-allocation .lettericon{background-color:#5f9ea0;padding:10px 15px 10px 15px;border-radius:50%;color:#fff}page-pd-allocation .mat-card-header-text{margin:0}page-pd-allocation .mat-card-subtitle{margin-bottom:0}page-pd-allocation .mat-card-content>:last-child:not(.mat-card-footer){margin-top:0}page-pd-allocation p{margin-top:0!important;margin-left:5%!important}page-pd-allocation h2{margin:1px!important}page-pd-allocation .mat-card{border-radius:10px}page-pd-list mat-grid-tile{background:#fff!important}page-pd-list .grid{padding:0}page-pd-list .scroll-content{padding:0!important}page-pd-list .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:15s;animation-duration:15s;-webkit-transition:all .5s cubic-bezier(.36,-.64,.34,1.76);transition:all .5s cubic-bezier(.36,-.64,.34,1.76)}@font-face{src:url(../../assets/fonts/Roboto-Bold.ttf)!important}page-pd-list .scroll-content{padding:0!important}page-pd-list .mat-card{padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}page-pd-list *{font-size:10px}page-pd-list .mat-card-title{margin-bottom:0}page-pd-list .list-md{margin:0}page-pd-list .lettericon{background-color:#5f9ea0;padding:10px 15px 10px 15px;border-radius:50%;color:#fff}page-pd-list .label-md{margin:0}page-pd-list .item-md h4{font-size:1.7rem}page-pd-list .item-md ion-icon[item-start]+.item-inner{margin-left:0}page-pd-list .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-list .button-md-primary{margin-bottom:0!important;height:50px}page-pd-list ion-fab[middle]{top:17%!important}page-pd-list .fab-md-optblue{-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-list ion-footer{position:absolute}page-pd-question .SwipedTabs-indicatorSegment{-webkit-transition:.2s all;transition:.2s all;-webkit-transform-origin:top 0 left 0;transform-origin:top 0 left 0;height:1px;position:relative;top:-2px;background-color:#00f!important}page-pd-question .SwipedTabs-tabs ion-segment-button{border:none!important;color:#111!important;background-color:#fff!important;padding-left:16px!important;padding-right:20px!important}page-pd-question .SwipedTabs-tabs ion-segment-button.SwipedTabs-activeTab{color:#00f!important}page-pd-question .SwipedTabs-tabs{width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}page-pd-question .toolbar *{margin:0!important}page-pd-question .tabsContent .scroll-content{overflow-x:scroll!important}page-pd-question .tabsContent{height:50px!important}page-pd-question .segment-button{max-width:initial!important;-webkit-box-flex:1!important;-webkit-flex:auto!important;-ms-flex:auto!important;flex:auto!important;width:initial!important}page-pd-question .segment-md .segment-button{font-size:2rem}page-pd-question .scroll-content{background-color:#fff!important}page-pd-question .mat-card1{margin-bottom:5px}page-pd-question ion-scroll{position:inherit!important}page-pd-question .button-md{padding:25px 0 25px 0!important}page-pd-question-category mat-grid-tile{background:#fff!important}page-pd-question-category .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:15s;animation-duration:15s;-webkit-transition:all .5s cubic-bezier(.36,-.64,.34,1.76);transition:all .5s cubic-bezier(.36,-.64,.34,1.76)}@font-face{src:url(../../assets/fonts/Roboto-Bold.ttf)!important}page-pd-question-category .grid{padding:0}page-pd-question-category h1{margin:2px 0;font-size:2.2rem!important}page-pd-question-category .scroll-content{background-color:#eee!important;padding:0!important}page-pd-question-category .mat-card{padding:0!important;-webkit-box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(0,0,0,.2);box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(0,0,0,.2)}page-pd-question-category *{font-size:16px}page-pd-question-category .mat-card-title{margin-bottom:0}page-pd-question-category .list-md{margin:0}page-pd-question-category .lettericon{background-color:#5f9ea0;padding:10px 15px 10px 15px;border-radius:50%;color:#fff}page-pd-question-category .label-md{margin:0}page-pd-question-category .item-md h4{font-size:1.7rem}page-pd-question-category .item-md ion-icon[item-start]+.item-inner{margin-left:0}page-pd-question-category .button-md-primary{margin-bottom:0!important;height:50px}page-pd-question-address .scroll-content{background-color:#eee}page-pd-question-address .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-address .mat-card-content{margin-bottom:0!important}page-pd-question-assessed-daily-sales .input-cover{position:static}page-pd-question-assessed-dash .mat-card{border-radius:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-assessed-dash .htag{font-size:1.5rem;margin-top:0}page-pd-question-assessed-dash .ion-icon-custome{font-size:2.8em;color:#e00201}page-pd-question-assessed-dash .item-ribbon{background-color:#fff;position:relative;-webkit-filter:none;filter:none;opacity:1}page-pd-question-assessed-dash .item-ribbon .ribbon{position:absolute;right:-5px;top:-5px;z-index:2;overflow:hidden;width:75px;height:75px;text-align:right}page-pd-question-assessed-dash .item-ribbon .ribbon span{font-size:1rem;font-weight:700;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;transform:rotate(45deg);-webkit-transform:rotate(45deg);width:100px;display:block;background:#f53d3d;position:absolute;top:19px;right:-21px}page-pd-question-assessed-dash .item-ribbon .ribbon span::before{content:"";position:absolute;left:0;top:100%;z-index:-1;border-left:3px solid #f53d3d;border-right:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #f53d3d}page-pd-question-assessed-dash .item-ribbon .ribbon span::after{content:"";position:absolute;right:0;top:100%;z-index:-1;border-left:3px solid transparent;border-right:3px solid #f53d3d;border-bottom:3px solid transparent;border-top:3px solid #f53d3d}page-pd-question-assessed-dash .ribbon.cruzeiro span{color:#fff;background:#20c127}page-pd-question-assessed-dash .ribbon.cruzeiro span::before{border-left:3px solid #20c127;border-top:3px solid #20c127}page-pd-question-assessed-dash .ribbon.cruzeiro span::after{border-right:3px solid #20c127;border-top:3px solid #20c127}page-pd-question-assessed-dash .ribbon.default span{color:#fff;background:#f53d3d}page-pd-question-assessed-dash .ribbon.default span::before{border-left:3px solid #f53d3d;border-top:3px solid #f53d3d}page-pd-question-assessed-dash .ribbon.default span::after{border-right:3px solid #f53d3d;border-top:3px solid #f53d3d}page-pd-question-assessed-info .scroll-content{background-color:none}page-pd-question-assessed-info ion-scroll.scroll-y .scroll-content{width:100%;height:200px}page-pd-question-assessed-info span{font-size:12px}page-pd-question-assests .scroll-content{padding:16px}page-pd-question-assests .scroll-content{background-color:#eee}page-pd-question-assests .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-assests .mat-card-content{margin-bottom:0!important}page-pd-question-banking .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-banking .mat-card-content{margin-bottom:0!important}page-pd-question-banking .scroll-content{background-color:#eee}page-pd-question-business-group .mat-expansion-panel{margin-bottom:10px!important;background-color:#e14533!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-business-group .mat-expansion-panel-header-title{color:#fff!important}page-pd-question-business-group .mat-card{margin-bottom:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;padding:3px 10px!important}page-pd-question-business-group .item-ribbon{background-color:#fff;position:relative;-webkit-filter:none;filter:none;opacity:1}page-pd-question-business-group .item-ribbon .ribbon{position:absolute;right:-5px;top:-5px;z-index:2;overflow:hidden;width:75px;height:75px;text-align:right}page-pd-question-business-group .item-ribbon .ribbon span{font-size:1rem;font-weight:700;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;transform:rotate(45deg);-webkit-transform:rotate(45deg);width:73px;display:block;background:#f53d3d;position:absolute;top:10px;right:-17px}page-pd-question-business-group .item-ribbon .ribbon span::before{content:"";position:absolute;left:0;top:100%;z-index:-1;border-left:3px solid #f53d3d;border-right:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #f53d3d}page-pd-question-business-group .item-ribbon .ribbon span::after{content:"";position:absolute;right:0;top:100%;z-index:-1;border-left:3px solid transparent;border-right:3px solid #f53d3d;border-bottom:3px solid transparent;border-top:3px solid #f53d3d}page-pd-question-business-group .ribbon.cruzeiro span{color:#fff;background:#387ef5}page-pd-question-business-group .ribbon.cruzeiro span::before{border-left:3px solid #387ef5;border-top:3px solid #387ef5}page-pd-question-business-group .ribbon.cruzeiro span::after{border-right:3px solid #387ef5;border-top:3px solid #387ef5}page-pd-question-business-group .ribbon.atletico span{color:#fff;background:#818181}page-pd-question-business-group .ribbon.atletico span::before{border-left:3px solid #818181;border-top:3px solid #818181}page-pd-question-business-group .ribbon.atletico span::after{border-right:3px solid #818181;border-top:3px solid #818181}page-pd-question-business-group .ribbon.javascript span{color:#000;background:#f7e023}page-pd-question-business-group .ribbon.javascript span::before{border-left:3px solid #f7e023;border-top:3px solid #f7e023}page-pd-question-business-group .ribbon.javascript span::after{border-right:3px solid #f7e023;border-top:3px solid #f7e023}page-pd-question-business-assets mat-form-field{width:100%}page-pd-question-business-assets .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-business-assets .mat-card-content{margin-bottom:0!important}page-pd-question-business-info mat-form-field{width:100%}page-pd-question-business-info mat-card-title{font-weight:700;font-size:18px}page-pd-question-business-info mat-card-header{font-weight:700;font-size:18px}page-pd-question-business-info .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-business-info .mat-card-content{margin-bottom:0!important}page-pd-question-final-remark mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-final-remark mat-form-field{width:100%}page-pd-question-general-info .item-md{padding-left:0!important}page-pd-question-general-info .scroll-content{padding:6px!important;background-color:#eee}page-pd-question-general-info .button-large-md{height:20px!important;padding:0!important}page-pd-question-general-info .mat-card{margin-bottom:10px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-general-info .label-md{margin:10px 0 10px 0!important}page-pd-question-general-info ion-toggle{zoom:.8}page-pd-question-lender-representative mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-loans mat-hint{font-size:12px}page-pd-question-loans .scroll-content{background-color:#eee}page-pd-question-loans .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-loans .mat-card-content{margin-bottom:0!important}page-pd-question-neighbour-hood mat-form-field{width:100%}page-pd-question-neighbour-hood mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-neighbour-hood mat-hint{font-size:11px}page-pd-question-rental-info .button-md{padding:0 2.9em!important} \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/assets/debug/www/build/main.js b/platforms/android/app/build/intermediates/assets/debug/www/build/main.js new file mode 100644 index 00000000..bbad8e52 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/build/main.js @@ -0,0 +1 @@ +webpackJsonp([0],{11:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(30),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.constant=t,console.log("Hello QuestionCategoryProvider Provider"),this.apiurl=t.apiurl()}return e.prototype.getLoadTemplate=function(e){return this.http.get(this.apiurl+"loadFullTemplate?pd_id="+e)},e.prototype.saveQusetion=function(e){return this.http.post(this.apiurl+"savePDQuestions",{records:[e]})},e.prototype.getAnswerTemplate=function(e){return this.http.post(this.apiurl+"getAnswersForPD",e)},e.prototype.getcommondrop=function(e){return this.http.post(this.apiurl+"getListOfMaster",{master_name:e})},e.prototype.saveForm=function(e){return this.http.post(this.apiurl+"savePDFormDetails",{records:e})},e.prototype.retiverForm=function(e){return this.http.post(this.apiurl+"getPDFormDetails",e)},e.prototype.saveassessedForms=function(e,t){return this.http.post(this.apiurl+e,t)},e.prototype.retiverassessedForm=function(e,t){return this.http.post(this.apiurl+e,t)},e.prototype.updatePdApplicant=function(e){return this.http.post(this.apiurl+"updatePDApplicants",{pd_applicant_details:e})},e.prototype.getEndUseForLoan=function(e){return this.http.post(this.apiurl+"getEndUseOfLoan",{records:{pd_id:e}})},e.prototype.getCompaniesListsForBusiness=function(e){return this.http.post(this.apiurl+"getCompaniesListsForBusiness",{records:{pd_id:e}})},e.prototype.getStateWiseCities=function(e){return this.http.post(this.apiurl+"getListOfStatesAndCities",{records:{state_id:e}})},e.prototype.getAllPersonsName=function(e){return this.http.post(this.apiurl+"getAllPersonsName",{pd_id:e})},e.prototype.getStateCityDetails=function(){return this.http.post(this.apiurl+"getListOfStatesCities","")},e.prototype.getAssetsWithLoanFromBusiness=function(e){return this.http.post(this.apiurl+"getAssetsWithLoanFromBusiness",{pd_id:e})},e.prototype.getTypeofActivityForSuppliedInfoForm=function(e){return this.http.post(this.apiurl+"getTypeOfActivetyFromBusinessForm",{records:{pd_id:e}})},e.prototype.savePDImages=function(e){return this.http.post(this.apiurl+"savePDPhotos",{records:e})},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.a])],e)}()},123:function(e,t,n){"use strict";n.d(t,"a",function(){return T});var o=n(0),a=n(5),i=n(11),s=n(69),r=n(356),l=n(9),c=n(7),m=n(85),d=n(73),u=n(358),p=n(359),f=n(360),h=n(361),_=n(362),g=n(363),v=n(364),y=n(365),b=n(199),w=n(366),x=n(367),C=n(368),D=n(200),I=n(369),F=n(370),S=n(378),k=n(379),A=n(382),N=n(383),q=n(384),P=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},L=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},R=(new Date).toJSON().slice(0,19).replace("T"," "),T=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.templateget=n,this.aws=o,this.shared=a,this.toast=i,this.pdstatusprovide=s,this.bgColortempForm=[],this.bgColorqustCat=[],this.questionCateAccess=null,this.questionfinishedList=[],this.overallqustioncountAccess=!0,this.pddetails=this.navParams.get("pdDetails"),console.log("Pd",this.pddetails)}return e.prototype.ionViewCanEnter=function(){this.getcategoryList()},e.prototype.ionViewDidLoad=function(){this.shared.refresh(),console.log("ionViewDidLoad PdQuestionCategoryPage")},e.prototype.getcategoryList=function(){var e=this;this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(function(t){e.questionCate=t,1==e.questionCate.dataStatus&&(e.questionCate=e.questionCate.records,e.random_ng_past(),""!=e.questionCate.question_answers&&""!=e.questionCate.template_forms?(e.questionCateAccess=!0,e.templateAccess=!0,e.questionCate=e.questionCate,e.searchQuestion=e.questionCate.question_answers,e.overallqustioncountAccess=0==e.questionCate.counts.overall_answered_count||0==e.questionCate.counts.overall_question_count||e.questionCate.counts.overall_answered_count!=e.questionCate.counts.overall_question_count):""!=e.questionCate.template_forms?(e.templateAccess=!0,e.questionCate=e.questionCate,e.searchTempForm=e.questionCate.template_forms):(e.questionCateAccess=!1,e.templateAccess=!1,e.questionCate="No Template Available"))})},e.prototype.random_ng_past=function(){for(var e=0,t=this.questionCate.question_answers;e\n \n \n \x3c!-- {{pddetails.applicat_details[0].applicant_name | titlecase}} --\x3e\n {{pddetails.applicant_name | titlecase}}\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n \n \n \n \n\x3c!-- \n \n \n \n \n \n \n

Name

\n

28 Sep 2018 10:00 AM

\n \n \n
\n
testData
\n
testData
\n
\n
\n \n \n \n
test
\n
\n \n
\n \n \n\n \n
\n --\x3e\n \n \n \n \x3c!-- \n \n \n {{pddetails.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{pddetails.applicat_details[0].applicant_name | titlecase}}

\n \x3c!--

28 Sep 2018 10:00 AM

-\n
\n
\n \n \n
{{pddetails.lender_short_name}}, {{pddetails.lender_applicant_id}}
\n
\n \n
{{pddetails.city_name}}
\n
\n
\n \n \n
{{pddetails.pd_status}}
\n
\n \n
\n
{{pddetails.pd_date_of_initiation}}
\n
{{pddetails.scheduled_on}}
\n
\n
\n
\n \n
\n\n
\n
\n
--\x3e\n
\n \n \x3c!--
{{category.answerd_count}}
--\x3e\n \n \n {{category.category_name[0] | slice : 0 :1 | uppercase}}\n \n \n

{{category.category_name}}

\n

{{category.answerd_count}} / {{category.questions_count}} Questions

\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n {{tempForm.form_name[0] | slice : 0 :1 | uppercase}}\n \n \n

{{tempForm.form_name}}

\n \x3c!--

{{category.answerd_count}} / {{category.questions_count}} Questions

--\x3e\n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n
\n \x3c!-- --\x3e\n \n

{{questionCate}}

\n
\n \n \n \n \n \n \n '}),L("design:paramtypes",[a.r,a.s,i.a,c.a,s.a,l.a,m.a])],e)}()},197:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(0),a=n(5),i=n(85),s=n(123),r=n(9),l=n(30),c=n(7),m=n(11),d=n(4),u=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=function(){function e(e,t,n,o,a,i,s,r,l,c){this.navCtrl=e,this.navParams=t,this.pddetails=n,this.toast=o,this.Menu=a,this.commonconstant=i,this.aws=s,this.alertCtrl=r,this.qustCat=l,this.fb=c,this.timerOn=!0,this.otpStatusAccess=!0,this.maxtime=30,this.commonImage=this.commonconstant.commonimage,this.applicatentDetails=this.navParams.get("pdDetails"),this.reasonForm=this.fb.group({reason:[null,d.m.compose([d.m.required])],others_reason:[null]}),this.getDropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad OtpPage")},e.prototype.ionViewDidEnter=function(){this.timer(120)},e.prototype.ionViewWillLeave=function(){clearTimeout(this.timeLimit)},e.prototype.getDropdown=function(){var e=this;this.qustCat.getcommondrop("OTPREJECTION").subscribe(function(t){1==t.dataStatus&&(e.reason_otp=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.checkotp=function(e){var t=this;this.pddetails.checkotp({pd_id:this.applicatentDetails.pd_id,OTP:e}).subscribe(function(e){t.otpStatus=e,1==t.otpStatus.dataStatus?t.navCtrl.setRoot(s.a,{pdDetails:t.applicatentDetails}):t.toast.pdTriggerappmessage("Enter the Correct OTP")})},e.prototype.timer=function(e){var t=this,n=Math.floor(e/60),o=e%60;if(n=n<10?"0"+n:n,o=o<10?"0"+o:o,this.balance_time=n+":"+o,(e-=1)>=0&&this.timerOn)this.timeLimit=setTimeout(function(){t.timer(e)},1e3);else if(this.timerOn){this.users=this.aws.getlocale();var a;this.alertCtrl.create({title:"OTP Expired ",message:"Do you want sure resend OTP",buttons:[{text:"OTP Without Start",handler:function(){t.otpStatusAccess=!1}},{text:"Resend OTP",handler:function(){a={pd_id:t.applicatentDetails.pd_id,pd_status:"STARTED",mobile_no:t.applicatentDetails.applicat_details[0].mobile_no,fk_updatedby:t.users},console.log(a),t.pddetails.updatepdStatus(a).subscribe(function(e){})}}]}).present()}},e.prototype.saveotpreasno=function(){var e=this;if(console.log(this.reasonForm.value),this.reasonForm.valid){this.pddetails.checkotp({pd_id:this.applicatentDetails.pd_id,reason:this.reasonForm.value.reason,other_reason:this.reasonForm.value.others_reason}).subscribe(function(t){e.otpStatus=t,1==e.otpStatus.dataStatus&&e.navCtrl.setRoot(s.a,{pdDetails:e.applicatentDetails})})}else this.toast.pdTriggerappmessage("Enter The All Field")},e=u([Object(o.m)({selector:"page-otp",template:'\x3c!--\n Generated template for the OtpPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \n OTP Page\n Reason Page\n \n \n \n \n\n\n \n \n \n \n \n Circle Image\n \n \n \n \n \n

OTP

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

{{balance_time}}

\n
\n
\n \n
\n
\n \n \n \n \n \x3c!-- \n Circle Image\n --\x3e\n \n \n \n \n

With out OTP Reason

\n
\n
\n \n
\n \x3c!-- {{reason_otp | json}} --\x3e\n \n \n \n \n {{otp.rejection_reason}}\n \n \n {{reason}}\n \n \n \n \n
\n
\n
\n \n \n \n \n \n
\n\n
\n'}),p("design:paramtypes",[a.r,a.s,i.a,r.a,a.o,l.a,c.a,a.a,m.a,d.c])],e)}()},198:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(357),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.camera=t,console.log("Hello CameraProvider Provider")}return e.prototype.getpicture=function(){return this.camera.getPicture({quality:100,destinationType:this.camera.DestinationType.DATA_URL,targetWidth:500,targetHeight:500,correctOrientation:!0}).then(function(e){return"data:image/png;base64,"+e},function(e){console.log("CAMERA ERROR -> "+JSON.stringify(e))})},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.a])],e)}()},199:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.supplierInfoForm=this.fb.group({main_raw_materials:[null],supplier_details:this.fb.array([])}),this.getSupplierForm(),this.getdropList()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionSupplierInfoPage")},e.prototype.getdropList=function(){this.m_paymentModeType=[{id:"1",name:"Immediate Or Advanced Payment"},{id:"2",name:"Credit"},{id:"3",name:"Combination of Both"}],this.m_freqOfPurchase=[{id:"1",name:"Daily"},{id:"2",name:"Weekly"},{id:"3",name:"Monthly"},{id:"4",name:"Every 3 months"},{id:"5",name:"Half yearly"},{id:"6",name:"Yearly"},{id:"7",name:"As and when required"},{id:"8",name:"Others"}]},e.prototype.selectedPM=function(e){this.paymentModeTextBox=e.value},e.prototype.selectedFreqPurchase=function(e){this.freqPurchaseTextBox=e.value},e.prototype.initDetails=function(){return this.fb.group({supplier_name:[null],contact_person:[null],mobile_number:[null],payment_mode:[null],per_of_immediate_advance_payment:[null],credit_period:[null],frequency_of_purchase:[null],freq_purchase_others_text_value:[null]})},e.prototype.addSupplierDetails=function(){this.supplierArray=this.supplierInfoForm.get("supplier_details"),this.supplierArray.push(this.initDetails())},e.prototype.removeLanguage=function(e){this.supplierArray=this.supplierInfoForm.get("supplier_details"),this.supplierArray.removeAt(e)},e.prototype.saveSupplierInfo=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid="338",n.fk_createdby=this.users,n.main_raw_materials=e.main_raw_materials,n.supplier_details=e.supplier_details,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getSupplierForm=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"338"}).subscribe(function(t){if(1==t.dataStatus){e.supplierDetails=t.records;var n=Object.keys(t.records.supplier_details).map(function(e){return t.records.supplier_details[e]});e.supplierArray=e.supplierInfoForm.get("supplier_details"),e.supplierInfoForm.controls.main_raw_materials.setValue(e.supplierDetails.main_raw_materials),0==n.length?e.supplierArray.push(e.initDetails()):n.forEach(function(t){e.supplierArray.push(e.initDetails())}),e.supplierInfoForm.controls.supplier_details.setValue(n)}else e.addSupplierDetails()})},e=c([Object(o.m)({selector:"page-pd-question-supplier-info",template:'\n\n \n \n Supplier Info Category\n\n\n \n\n\n\n\n\n \n

Supplier Details

\n
\n
\n
\n What are the main Raw materials?(MEG Only)\n \n \n You must Include Raw Material Details.\n \n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n
\n
\n \n \n {{ pm.name }}\n \n \n
\n
\n % of immediate / Advance Payment Purchase to Total Purchase?\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n
\n
\n \n \n {{ feq.name }}\n \n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n \n \n \x3c!-- --\x3e\n \n
\n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},200:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(11),s=n(7),r=n(9),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.qustCat=n,this.aws=o,this.toast=a,this.fb=i,this.apiLoadFinish=!1,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.clientForms=this.fb.group({clientArray:this.fb.array([])}),this.getClientDetails(),this.getdropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionClientInfoPage")},e.prototype.createClientItem=function(){return this.fb.group({client_name:[""],contact_person:[""],mobile_number:[""],payment_mode:[""],per_of_immediate_advance_payment:[""],credit_period:[""],frequency_of_purchase:[""],freq_purchase_others_text_value:[""]})},e.prototype.selectedPM=function(e){this.paymentModeTextBox=e.value},e.prototype.selectedFreqPurchase=function(e){this.freqPurchaseTextBox=e.value},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive})},function(e){}),this.qustCat.getcommondrop("PAYMENTMODE").subscribe(function(t){e.m_paymentModeType=t.records.filter(function(e){return 1==e.isactive})},function(e){})},e.prototype.addClientDetails=function(){this.clientDataArray=this.clientForms.get("clientArray"),this.clientDataArray.push(this.createClientItem())},e.prototype.removeClientDetails=function(e){1==this.clientDataArray.length?this.clientForms.controls.clientArray.reset():(this.clientDataArray=this.clientForms.get("clientArray"),this.clientDataArray.removeAt(e))},e.prototype.saveclientDetails=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.client_details=e.clientArray,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getClientDetails=function(){var e=this,t=[];this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(n){if(1==n.dataStatus){var o=n.records;console.log(o),t=Object.keys(n.records.client_details).map(function(e){return o.client_details[e]}),e.clientDataArray=e.clientForms.get("clientArray"),0==t.length?e.clientDataArray.push(e.createClientItem()):(t.forEach(function(t){e.clientDataArray.push(e.createClientItem())}),e.clientForms.controls.clientArray.setValue(t),e.apiLoadFinish=!0)}else e.addClientDetails(),e.apiLoadFinish=!0})},e=c([Object(o.m)({selector:"page-pd-question-client-info",template:'\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 \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n
\n
\n \n \n {{ pm.name }}\n \n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n
\n
\n \n \n {{ feq.name }}\n \n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n\n
\n \x3c!-- \n \n --\x3e\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},242:function(e,t){function n(e){return Promise.resolve().then(function(){throw new Error("Cannot find module '"+e+"'.")})}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=242},285:function(e,t){function n(e){return Promise.resolve().then(function(){throw new Error("Cannot find module '"+e+"'.")})}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=285},30:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var o=n(47),a=n(0),i=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=function(){function e(e){this.http=e,this.commonimage="http://ssa.sineedge.com/sparqapi/logo/avatar.jpg",console.log("Hello ConstantsProvider Provider")}return e.prototype.apiurl=function(){return"http://ssa.sineedge.com/sparqtest/api/"},e.prototype.getcurrentDate=function(){var e=new Date,t=(e.getHours(),e.getMinutes(),e.getSeconds(),e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate());e.getHours(),e.getMinutes();return(t+"T00:00").toString()},e.prototype.convertNumberToWords=function(e){var t=new Array;t[0]="",t[1]="One",t[2]="Two",t[3]="Three",t[4]="Four",t[5]="Five",t[6]="Six",t[7]="Seven",t[8]="Eight",t[9]="Nine",t[10]="Ten",t[11]="Eleven",t[12]="Twelve",t[13]="Thirteen",t[14]="Fourteen",t[15]="Fifteen",t[16]="Sixteen",t[17]="Seventeen",t[18]="Eighteen",t[19]="Nineteen",t[20]="Twenty",t[30]="Thirty",t[40]="Forty",t[50]="Fifty",t[60]="Sixty",t[70]="Seventy",t[80]="Eighty",t[90]="Ninety";var n=(e=e.toString()).split(".")[0].split(",").join(""),o=n.length,a="",i="";if(o<=9){for(var s=new Array(0,0,0,0,0,0,0,0,0),r=new Array,l=0;l=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=function(){function e(e,t,n,o,a,i){this.aws=e,this.dialog=t,this.shared=n,this.navCtrl=o,this.Menu=a,this.toast=i,this.status=!1,this.config={disableClose:!1,width:"",height:"",position:{top:"",bottom:"",left:"",right:""}}}return e.prototype.ngOnInit=function(){},e.prototype.ionViewDidEnter=function(){this.Menu.enable(!1)},e.prototype.ionViewWillLeave=function(){this.Menu.enable(!0)},e.prototype.login=function(){var e=this;if(void 0!==this.email&&void 0!==this.password&&""!=this.email&&""!=this.password&&null!=this.email&&null!=this.password){this.aws.dologin({Username:this.email,Password:this.password}).subscribe(function(t){var n=e.aws.getlocale();e.aws.getuserprofile(n).subscribe(function(t){e.users=t,1==e.users.dataStatus&&("PD Officer"==e.users.records[0].role_name||"PD Executive"==e.users.records[0].role_name?e.navCtrl.setRoot(l.a):(e.toast.pdTriggerappmessage("This App only for PD Officers"),localStorage.clear()))})},function(t){console.log(JSON.stringify(t.message)),"New password is required."==t.message?e.navCtrl.setRoot(c.a,{Username:e.email,Password:e.password}):(console.log(JSON.stringify(t.message)),e.toast.pdTriggerappmessage(JSON.stringify(t.message)))})}else this.toast.pdTriggerappmessage("Enter Email or Password")},e.prototype.forgotopen=function(){this.status=!0},e.prototype.forgotpassword=function(){var e={Username:this.email};console.log(e)},e.prototype.loggedInCheck=function(){return this.shared.isLoggedIn?(alert("if"),!1):(alert("else"),!0)},e=d([Object(o.m)({selector:"page-login",template:'\x3c!--\n Generated template for the LoginPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\x3c!--\n\n \n Login \n \n\n--\x3e\n\n\n\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n'}),u("design:paramtypes",[i.a,s.h,r.a,a.r,a.o,m.a])],e)}()},354:function(e,t,n){"use strict";n.d(t,"a",function(){return x});var o=n(0),a=n(5),i=n(4),s=n(186),r=n(38),l=n(355),c=n(85),m=n(7),d=n(73),u=n(197),p=n(388),f=n(8),h=n(666),_=n(9),g=n(30),v=n(389),y=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},b=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},w=(new Date).toJSON().slice(0,19),x=function(){function e(e,t,n,o,a,i,s,r,l,c,m,d,u){this.navCtrl=e,this.navParams=t,this.fb=n,this.statusBar=o,this.platform=a,this.launchNavigator=i,this.aws=s,this.pdDetails=r,this.geolocation=l,this.alertCtrl=c,this.locationAccuracy=m,this.toast=d,this.constant=u,this.initiatedAccess=!1,this.scheduleAccess=!1,this.pipe=new f.d("en-US"),this.acceptedAccess=!1,this.startedAccess=!1,this.timeOut=15e3,this.maxdate=this.pipe.transform(new Date,"yyyy-MM-ddThh:mm").toString(),this.statusBar.styleDefault(),this.statusBar.overlaysWebView(!1),this.statusBar.backgroundColorByHexString("#db4437");this.pipe.transform(new Date,"dd/MM/yyyy hh:mm a");this.applicatentDetails=this.navParams.get("pdDetails"),this.getFullPD(),"ALLOCATED"==this.applicatentDetails.pd_status&&(this.acceptedAccess=!0),"ACCEPTED"==this.applicatentDetails.pd_status&&(this.scheduleAccess=!0),"SCHEDULED"==this.applicatentDetails.pd_status&&(this.initiatedAccess=!0),"INITIATED"==this.applicatentDetails.pd_status&&(this.startedAccess=!0,this.getenableAccuracy()),this.users=this.aws.getlocale()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad InputPage")},e.prototype.ionViewCanLeave=function(){clearInterval(this.timeInterval)},e.prototype.locationnavicate=function(e){this.launchNavigator.navigate(e)},e.prototype.getFullPD=function(){var e=this;this.pdDetails.getFullPDdetails({pdid:this.applicatentDetails.pd_id}).subscribe(function(t){if(1==t.dataStatus){var n=e.pipe.transform(new Date,"yyyy-MM-dd HH:mm"),o=t.records.pd_master_details[0].scheduled_on_for_validation,a=Date.parse(n)-Date.parse(o),i=Math.floor(a/1e3/60/60);console.log(i),e.enableStartPD=i<=-4}})},e.prototype.pdStatus=function(e,t){var n=this;"BOUNCED"==e?this.pdDetails.updatepdStatus({pd_id:t.pd_id,pd_status:e,fk_updatedby:this.users,updatedon:w}).subscribe(function(e){n.updateStatus=e,1==n.updateStatus.dataStatus&&n.navCtrl.setRoot(d.a)}):"ACCEPTED"==e&&this.pdDetails.updatepdStatus({pd_id:t.pd_id,pd_status:e,fk_updatedby:this.users,updatedon:w}).subscribe(function(e){n.updateStatus=e,1==n.updateStatus.dataStatus?(n.getNewpdupdate(),n.scheduleAccess=!0):n.scheduleAccess=!1})},e.prototype.pdschedule=function(e,t){var n=this;console.log(e);var o=e.slice(0,19).replace("T"," ");console.log(o),this.pdDetails.updatepdStatus({pd_id:t.pd_id,pd_status:"SCHEDULED",scheduled_on:o,fk_updatedby:this.users,updatedon:w}).subscribe(function(e){n.updateSchedule=e,1==n.updateSchedule.dataStatus&&(n.getNewpdupdate(),n.initiatedAccess=!0)})},e.prototype.getenableAccuracy=function(){var e=this;this.locationAccuracy.canRequest().then(function(t){t&&e.locationAccuracy.request(e.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(function(){e.getcurrentLocation()},function(e){return alert("Error requesting location permissions"+JSON.stringify(e))})})},e.prototype.getcurrentLocation=function(){var e=this,t={frequency:3e3,enableHighAccuracy:!0,timeOut:1e3};this.timeInterval=setInterval(function(){e.currentPosPDofficer="",e.geolocation.getCurrentPosition(t).then(function(t){void 0!=t.coords&&(e.currentPosPDofficer=t.coords.latitude+","+t.coords.longitude,console.log(e.currentPosPDofficer),e.pdDetails.saveCurrentLocation({pd_id:e.applicatentDetails.pd_id,link:e.currentPosPDofficer}).subscribe(function(e){}))}).catch(function(t){e.toast.pdTriggerappmessage(t.message)})},this.timeOut)},e.prototype.pdreschedule=function(){this.scheduleAccess=!0,this.initiatedAccess=!1},e.prototype.pdinitiated=function(e){var t=this;this.locationAccuracy.canRequest().then(function(n){n&&t.locationAccuracy.request(t.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(function(){t.geolocation.getCurrentPosition().then(function(n){t.currentPosPDofficer=n.coords.latitude+","+n.coords.longitude,t.pdDetails.updatepdStatus({pd_id:e.pd_id,pd_status:"INITIATED",mobile_no:e.applicat_details[0].mobile_no,officerName:e.pd_allocated_to,firstName:e.applicat_details[0].applicant_name,fk_updatedby:t.users,updatedon:w,link:t.currentPosPDofficer}).subscribe(function(e){t.updateinitiated=e,1==t.updateinitiated.dataStatus?(t.getNewpdupdate(),t.getcurrentLocation(),t.startedAccess=!0):t.startedAccess=!1})}).catch(function(e){console.log("Error getting location",e)})},function(e){return alert("Error requesting location permissions"+JSON.stringify(e))})})},e.prototype.startPdDiscussion=function(e){var t,n=this;this.alertCtrl.create({title:"Starting PD Officer",message:"Do you want sure PD officer Start",buttons:[{text:"No",role:"cancel",handler:function(){}},{text:"YES",handler:function(){n.geolocation.getCurrentPosition().then(function(o){n.currentPosPDofficer=o.coords.latitude+","+o.coords.longitude,t={pd_id:e.pd_id,pd_status:"STARTED",mobile_no:e.applicat_details[0].mobile_no,fk_updatedby:n.users,updatedon:w,link:n.currentPosPDofficer},console.log(t),n.pdDetails.updatepdStatus(t).subscribe(function(t){n.updatestarted=t,1==n.updatestarted.dataStatus&&(clearInterval(n.timeInterval),n.navCtrl.setRoot(u.a,{pdDetails:e}))})})}}]}).present()},e.prototype.getNewpdupdate=function(){var e=this;this.acceptedAccess=!1,this.initiatedAccess=!1,this.scheduleAccess=!1,this.startedAccess=!1,this.pdDetails.getpddetails(this.users).subscribe(function(t){e.appdata=t,1==e.appdata.dataStatus&&(e.applicatentDetails=e.appdata.records.filter(function(t){return t.pd_id==e.applicatentDetails.pd_id})[0],"ALLOCATED"==e.applicatentDetails.pd_status&&(e.acceptedAccess=!0),"ACCEPTED"==e.applicatentDetails.pd_status&&(e.scheduleAccess=!0),"SCHEDULED"==e.applicatentDetails.pd_status&&(e.initiatedAccess=!0,e.getFullPD()),"INITIATED"==e.applicatentDetails.pd_status&&(e.startedAccess=!0))})},e.prototype.camerasetup=function(){this.navCtrl.push(v.a,{pdDetails:this.applicatentDetails})},e=y([Object(o.m)({selector:"page-input",template:'\n \n \n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n   {{applicatentDetails.applicat_details[0].applicant_name | titlecase}}\n \n
\n \n \n {{applicatentDetails.customer_segment_name}}\n \n
\n \n \n \n {{applicatentDetails.addressline1}}
\n {{applicatentDetails.addressline2}}
\n {{applicatentDetails.addressline3}}
\n \n
\n
\n \n \n {{applicatentDetails.applicat_details[0].mobile_no}} \n \n
\n \n \n {{applicatentDetails.product_name}} / {{applicatentDetails.subproduct_name}}\n \n
\n \n \n \n \n Schedule Date\n \n \x3c!-- --\x3e\n \n \n \n \n \n  {{applicatentDetails.scheduled_on}}\n \n \n \n \n \n \x3c!--
\n \n \n \n {{applicat_details.applicant_name}}\n \n
\n \n \n {{applicat_details.email}}\n \n
\n \n \n {{applicat_details.addressline1}}
\n {{applicat_details.addressline2}}
{{applicat_details.addressline3}} - {{applicat_details.pincode}}\n
\n
\n
\n \n \n {{applicat_details.relation}} / {{applicat_details.relation_name}}\n \n \n
\n
\n
--\x3e\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \x3c!-- \n \n \n --\x3e\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n '}),b("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a,m.a,c.a,p.a,a.a,h.a,_.a,g.a])],e)}()},356:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(123),c=n(198),m=n(9),d=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=(new Date).toJSON().slice(0,19).replace("T"," "),f=function(){function e(e,t,n,o,a,i,s,r){this.navCtrl=e,this.navParams=t,this.fb=o,this.qstDetails=a,this.aws=i,this.camera=s,this.toast=r,this.docName=[],this.docArray=[],this.imageArray=[],this.SwipedTabsIndicator=null,this.tabTitleWidthArray=[],this.tabElementWidth_px=50,this.screenWidth_px=0,this.isRight=!1,this.isLeft=!1,this.tabs=[],console.log("Width: "+n.width()),this.screenWidth_px=n.width(),this.questionAnswer=this.fb.group({answerDetails:[null],items:this.fb.array([])}),this.questionanotherData=this.fb.group({questionRemarks:[null]}),this.getpdQuestionDetails(),this.userid=this.aws.getlocale()}return e.prototype.ionViewDidLoad=function(){},e.prototype.ionViewDidEnter=function(){this.SwipedTabsIndicator=document.getElementById("indicator");for(var e in this.tabs)this.tabTitleWidthArray.push(document.getElementById("tabTitle"+e).offsetWidth);this.selectTab(0)},e.prototype.ionViewWillLeave=function(){this.navCtrl.setRoot(l.a,{pdDetails:this.pdinfo})},e.prototype.scrollIndicatiorTab=function(){this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0),this.isLeft&&console.log(this.isLeft),this.isRight&&console.log(this.isRight)},e.prototype.selectTab=function(e){this.SwipedTabsIndicator.style.width=this.tabTitleWidthArray[e]+"px",this.SwipedTabsIndicator.style.webkitTransform="translate3d("+this.calculateDistanceToSpnd(e)+"px,0,0)",this.SwipedTabsSlider.slideTo(e)},e.prototype.calculateDistanceToSpnd=function(e){for(var t=0,n=0;nt&&(this.isLeft=!1,this.isRight=!0),this.SwipedTabsSlider.isEnd()&&(this.isRight=!1),this.SwipedTabsSlider.isBeginning()&&(this.isLeft=!1),this.isRight&&(this.SwipedTabsIndicator.style.webkitTransform="translate3d("+(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())+(e.progress-t)*(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])+"px,0,0)"),this.isLeft&&(this.SwipedTabsIndicator.style.webkitTransform="translate3d("+(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())+(e.progress-t)*(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])+"px,0,0)"),this.isRight||this.isLeft||(this.SwipedTabsIndicator.style.width=this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+"px")},e.prototype.getpdQuestionDetails=function(){this.questionDetails=this.navParams.get("questionDetails"),console.log("157",this.questionDetails),this.pdinfo=this.navParams.get("pdDetails"),console.log(this.pdinfo);for(var e=0,t=this.questionDetails.questions;e\n\n \n \n {{questionDetails.category_name}} Category\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{tab}}\n \n \n \x3c!-- here is our dynamic line "indicator"--\x3e\n
\n
\n
\n\n\n\n\n\n\n \n\n \n \n \n \n \n \n \n \n

{{qustDetails.question}}

\n
\n
\n
\n
\n\n \n \n \n \n \n \n\n {{answerType.answer}}\n\n\n \n \n \x3c!--
--\x3e\n\n \n \n \n\n \n\n \x3c!--
{{img | json}}
--\x3e\n \n\n
\n \n \x3c!-- File Name Required --\x3e\n
\n
\n {{img.pd_document_title}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n\n \n\n \n \n \x3c!-- --\x3e\n \n
\n\n \n \n\n \n \x3c!-- {{control | json}} --\x3e\n \n {{ control.controls.pd_answer.value }}\n \n\n \n\n \n
\n
\n \n
\n
\n
\n
\n\n \n \n \n
\n \n \n \n
\n\n
\n\n
\n
\n \n \n \n \n \n \x3c!-- \n \n \n \n \n \n \n \n \n \n --\x3e\n\n \x3c!--
--\x3e\n\n \x3c!--
--\x3e\n \n \n\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n\n \n \n \x3c!----\x3e\n \n\n \n \n \x3c!----\x3e\n \n\n \n \n'}),u("design:paramtypes",[a.r,a.s,a.u,i.c,r.a,s.a,c.a,m.a])],e)}()},358:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s,r){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.aws=a,this.toast=i,this.alerCtrl=s,this.constant=r,this.placeholderName="Was any business activity seen at the Address Type during PD visit?",this.premisesRentAmtInwords=[],this.locality=[],this.pdlocation=[],this.addressTypes=[],this.addressRemarksAccess=!1,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.address=(this.pdDetails.addressline2=null!=this.pdDetails.addressline3)?this.pdDetails.addressline1+","+this.pdDetails.addressline2+","+this.pdDetails.addressline3:this.pdDetails.addressline1+", - , -",this.getdropdownlist(),this.pdQuestionAddress=this.fb.group({address:[this.address],address_type:[null],address_type_others:[null],locality:[null],locality_others:[null],pd_location:[null],comment_locality:[null],other_comment_locality:[null],address_form_remark:[null],address_ownership:[null],other_ownership:[null],rent_amt:[null],other_premises_bussiness_activity:[null],bussiness_activity_remark:[null],bussiness_activity:[null],bussiness_address_type:[null],bussiness_address_type_others:[null],business_years:[null],business_month:[null],additional_address_units:this.fb.array([])}),this.getaddressForm()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAddressPage")},e.prototype.ionViewWillLeave=function(){},e.prototype.getdropdownlist=function(){var e=this;this.qustCat.getcommondrop("ADDRESSTYPE").subscribe(function(t){1==t.dataStatus&&(e.addressTypes=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("PDLOCATIONAPPROACH").subscribe(function(t){e.pdlocation=t,1==e.pdlocation.dataStatus&&(e.pdlocation=e.pdlocation.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("COMMENTSONLOCALITY").subscribe(function(t){e.cmtlocality=t,1==e.cmtlocality.dataStatus&&(e.cmtlocality=e.cmtlocality.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("LOCALITY").subscribe(function(t){1==t.dataStatus&&(e.locality=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("RESIDENCEOWNERSHIP").subscribe(function(t){1==t.dataStatus&&(e.residence=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("CITY").subscribe(function(t){1==t.dataStatus&&(e.CITY=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createUnits=function(e){return this.fb.group(null==e?{no_of_additional_units:[""],premises_type:[""],premises_type_others:[""],premises_city:[""],premises_remarks:[""]}:{no_of_additional_units:[e.no_of_additional_units],premises_type:[e.premises_type],premises_type_others:[e.premises_type_others],premises_city:[e.premises_city],premises_remarks:[e.premises_remarks]})},e.prototype.addUnits=function(){this.items=this.pdQuestionAddress.get("additional_address_units"),this.items.push(this.createUnits(null))},e.prototype.removeUnits=function(e){this.items.removeAt(e)},e.prototype.ConvertMonthintoYear=function(e){var t=e%12,n=e/12;this.pdQuestionAddress.controls.business_years.setValue(+this.pdQuestionAddress.controls.business_years.value+ +Math.floor(n)),this.pdQuestionAddress.controls.business_month.setValue(Math.floor(t))},e.prototype.keyPress=function(e){var t=String.fromCharCode(e.charCode);8==e.keyCode||/[0-9]/.test(t)||e.preventDefault()},e.prototype.inWords=function(e,t){console.log(e),this.premisesRentAmtInwords[t]=this.constant.convertNumberToWords(e.target.value)},e.prototype.inWordsForRent=function(e){this.rentAmtInwords=this.constant.convertNumberToWords(e.target.value)},e.prototype.selectedAddressType=function(e){this.placeholderName="Was any business activity seen at the "+e+" during PD visit?"},e.prototype.savepdQuestion=function(e){var t=this;console.log(e);var n={};n.address=e.address,null!=e.address_type_others&&(n.address_type_others=e.address_type_others),n.address_type=e.address_type,n.locality=e.locality,n.locality_others=7==e.locality?e.locality_others:null,n.pd_location=e.pd_location,n.comment_locality=e.comment_locality,n.other_comment_locality=e.other_comment_locality,n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.address_form_remark=e.address_form_remark,n.address_ownership=e.address_ownership,n.other_ownership=e.other_ownership,n.rent_amt=e.rent_amt,n.other_premises_bussiness_activity=e.other_premises_bussiness_activity,n.bussiness_activity=e.bussiness_activity,n.bussiness_activity_remark=e.bussiness_activity_remark,n.business_years=e.business_years,n.business_month=e.business_month,console.log("Additional Units",this.pdQuestionAddress.controls.additional_address_units.value),console.log("item",this.items),n.additional_address_units=e.additional_address_units,this.qustCat.saveForm(n).subscribe(function(e){t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!")})},e.prototype.getaddressForm=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(e.getaddressDetails=t,1==e.getaddressDetails.dataStatus){if(e.getaddressDetails=e.getaddressDetails.records,null!=e.getaddressDetails.additional_address_units)Object.keys(t.records.additional_address_units).map(function(e){});e.pdQuestionAddress.get("additional_address_units");e.pdQuestionAddress.controls.address.setValue(e.getaddressDetails.address),e.pdQuestionAddress.controls.pd_location.setValue(e.getaddressDetails.pd_location),e.pdQuestionAddress.controls.address_type.setValue(e.getaddressDetails.address_type);var n=e.addressTypes.filter(function(t){return t.address_type_id==e.getaddressDetails.address_type});e.selectedAddressType(n),null!=e.getaddressDetails.address_type&&(e.pdQuestionAddress.controls.address_type_others.setValue(e.getaddressDetails.address_type_others),e.selectedAddressType(e.getaddressDetails.address_type_others)),e.pdQuestionAddress.controls.comment_locality.setValue(e.getaddressDetails.comment_locality),null!=e.getaddressDetails.comment_locality&&e.pdQuestionAddress.controls.other_comment_locality.setValue(e.getaddressDetails.other_comment_locality),e.pdQuestionAddress.controls.locality.setValue(e.getaddressDetails.locality),null!=e.getaddressDetails.locality&&e.pdQuestionAddress.controls.locality_others.setValue(e.getaddressDetails.locality_others),e.pdQuestionAddress.controls.address_form_remark.setValue(e.getaddressDetails.address_form_remark),e.pdQuestionAddress.controls.address_ownership.setValue(e.getaddressDetails.address_ownership),e.pdQuestionAddress.controls.other_ownership.setValue(e.getaddressDetails.other_ownership),e.pdQuestionAddress.controls.rent_amt.setValue(e.getaddressDetails.rent_amt),null!=e.getaddressDetails.rent_amt&&(e.rentAmtInwords=e.constant.convertNumberToWords(e.getaddressDetails.rent_amt)),e.pdQuestionAddress.controls.other_premises_bussiness_activity.setValue(e.getaddressDetails.other_premises_bussiness_activity),e.pdQuestionAddress.controls.bussiness_activity_remark.setValue(null!=e.getaddressDetails.other_premises_bussiness_activity?e.getaddressDetails.other_premises_bussiness_activity:""),e.pdQuestionAddress.controls.bussiness_activity.setValue(e.getaddressDetails.bussiness_activity),e.pdQuestionAddress.controls.business_years.setValue(e.getaddressDetails.business_years),e.pdQuestionAddress.controls.business_month.setValue(e.getaddressDetails.business_month),console.log(e.getaddressDetails.additional_address_units),console.log("1",e.getaddressDetails.additional_address_units)}})},e=m([Object(o.m)({selector:"page-pd-question-address",template:'\n\n \n \n \x3c!-- {{pageTitle}} --\x3e\n {{FormId.form_name}}\n \n\n\n\n \n
\n \n\n
\n \n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n\n
\n \n \n --\n {{m_addressType.address_type}} \n \n \n
\n\n
\n \n \n \n
\n\n \n
\n \n \n --\n {{m_locality.locality_name}}\n \n\n \n \n
\n\n\n
\n \n \n \n
\n\n
\n \n \n --\n {{data.description}}\n \n \n \n
\n\n
\n \n \n --\n {{data.rating}}\n \n \n \n
\n\n
\n \n \n \n
\n \x3c!--\n\n
\n \n \n --\n {{ownerShip.name}}\n \n \n
\n\n
\n \n \n \n
\n \n
\n \n \n {{"₹"}} {{rentAmtInwords}} Only\n \n
\n--\x3e\n\n\n\n\x3c!--Disabled--\x3e\n\n \x3c!--
\n \n \n \n \n \n \n \n
\n\n
\n \n \n Yes\n No\n \n \n
\n \n
\n \n \n \n
\n\n \n
\n \n \n \n Yes\n No\n \n \n
\n \n
\n \n \n \n
\n
\n \n
Additional Unit #{{i+1}}
\n \n \n \n
\n\n \n \n\n \n \n {{m_addressType.address_type}} \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n \n
\n
\n \n
Neighbour hood Details {{i+1}}
\n \n \n \n \n \n \n
\n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n \n \n Yes\n No\n Dont Know\n \n \n \n
\n
--\x3e\n
\n\n \n \n \n \n \n\n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n\n \x3c!-- Bank multi --\x3e\n\n
'}),d("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a,a.a,c.a])],e)}()},359:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(0),a=n(5),i=n(4),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t,n){this.navCtrl=e,this.navParams=t,this.fb=n,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.empInfo=this.fb.group({nameOfEmp:[null],yearWithEmp:[null],empMet:[null],designationOfEmp:[null],salaryConfirm:[null],actualSalary:[null],attRegisterSeen:[null],salaryRegisterSeen:[null]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionEmpInfoPage")},e=s([Object(o.m)({selector:"page-pd-question-emp-info",template:'\n\n \n \n Employee Salary Category\n\n\n \n\n\n\n\n
\n \n
\n \n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n
\n \n \x3c!-- How many yrs with this emp --\x3e\n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n \n

Emp Met

\n \n YES\n NO\n \n
\n \n\n
\n \n \x3c!-- How many yrs with this emp --\x3e\n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n \n

Salary amt confirmed

\n \n YES\n NO\n \n
\n\n
\n \n \x3c!-- How many yrs with this emp --\x3e\n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n \n

Attendance Register seen

\n \n YES\n NO\n \n
\n\n \n

Salary register seen

\n \n YES\n NO\n \n
\n\n
\n
\n
'}),r("design:paramtypes",[a.r,a.s,i.c])],e)}()},360:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.toast=a,this.aws=i,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.currentLoans=this.fb.group({existing_loan:[null],currentloan_remarks:[null],loan_details:this.fb.array([])}),this.getcurrentLoans()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionCurrentLoansPage")},e.prototype.exitsCheck=function(e){console.log(e),"Yes"==e&&this.addLoanDetails()},e.prototype.createLoanDetail=function(){return this.fb.group({loan_amount:[null],emi:[null],loan_type:[null],lender:[null],original_tenure:[null],current_balance_tenure:[null]})},e.prototype.addLoanDetails=function(){this.currentLoans.controls.loan_details.push(this.createLoanDetail())},e.prototype.deleteLoanDetails=function(e){this.currentLoans.controls.loan_details.removeAt(e)},e.prototype.submitCurrentloan=function(e){var t=this;console.log(e);var n={};n.pdid=this.pdDetails.pd_id,n.formid="336",n.fk_createdby=this.users,n.existing_loan=e.existing_loan,n.loan_details=e.loan_details,n.currentloan_remarks=e.currentloan_remarks,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){console.log("data",e),1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getcurrentLoans=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"336"}).subscribe(function(t){if(1==t.dataStatus){var n=Object.keys(t.records.loan_details).map(function(e){return t.records.loan_details[e]}),o=t.records;e.currentLoans.controls.existing_loan.setValue(o.existing_loan),e.currentLoans.controls.currentloan_remarks.setValue(o.currentloan_remarks);var a=e.currentLoans.controls.loan_details;0==n.length?a.push(e.createLoanDetail()):(n.forEach(function(t){a.push(e.createLoanDetail())}),e.currentLoans.controls.loan_details.setValue(n))}})},e=c([Object(o.m)({selector:"page-pd-question-current-loans",template:'\n\n \n \n CurrentLoans Category\n\n\n \n\n\n\n\n\n
\n \n \n \n Yes\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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,l.a,r.a])],e)}()},361:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,s,r){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.aws=a,this.toast=s,this.constant=r,this.enduse=[],this.mortageAccess=!1,this.ownerNames=[],this.isOtherPurpose=!1,this.endUserList=[],this.mergeCompanyApplicant=[],this.isOtherSource=!1,this.isPLSource=!1,this.sourceList=[],this.FormId=this.navParams.get("FormId"),this.pdDetails=this.navParams.get("pdDetails"),console.log(this.pdDetails),this.applicants=this.pdDetails.applicat_details,this.users=this.aws.getlocale(),this.pdid=this.pdDetails.pd_id,this.getDropdown(),this.loanDetailsForm=this.fb.group({loan_amount:[this.pdDetails.loan_amount],end_use:["",i.m.compose([i.m.required])],end_use_other:[""],is_transfer:["",i.m.compose([i.m.required])],is_topup:[""],balance_transfer_amount:[""],topup_amount:[""],lender:[""],other_bt_lender:[""],own_contribution:["",i.m.compose([i.m.required])],source:[""],personal_loan_source:[""],other_source:[""],emi_level:["",i.m.compose([i.m.required])],property_type:["",i.m.compose([i.m.required])],property_type_others:[""],owner_name:["",i.m.compose([i.m.required])],construction_status:["",i.m.compose([i.m.required])],percentage_of_construction:[""],emv_per_customer:["",i.m.compose([i.m.required])],loandetails_remarks:["",i.m.compose([i.m.required])]}),console.log(75,this.pdDetails.product_abbr),this.mortagetypeAccess="BL"!=this.pdDetails.product_abbr||"PL"!=this.pdDetails.product_abbr||"LL"!=this.pdDetails.product_abbr,console.log(this.mortagetypeAccess),this.getLoanDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionLoansPage")},e.prototype.getDropdown=function(){var e=this;this.qustCat.getcommondrop("STATUSOFCONSTRUCTION").subscribe(function(t){e.m_statusofCunstruction=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getcommondrop("MORTAGEPROPERTIES").subscribe(function(t){if(1==t.dataStatus){var n=e;e.m_mortageTypeProperty=t.records.filter(function(e){return"LAP"!=n.pdDetails.product_abbr&&e.group_name==n.pdDetails.product_abbr&&1==e.isactive?e:"LAP"==n.pdDetails.product_abbr&&e.sub_group_name==n.pdDetails.subproduct_name?e:void 0}),console.log(e.m_mortageTypeProperty)}}),this.qustCat.getcommondrop("SOURCEOFBALANCETRANSFER").subscribe(function(t){e.m_sourceofamount=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getcommondrop("SUBPRODUCTS").subscribe(function(t){if(1==t.dataStatus){var n=e;e.m_endUseofLoad=t.records.filter(function(e){if(n.pdDetails.fk_product_id==e.fk_product_id&&1==e.isactive)return e}),e.endUserChange(e.enduse)}}),this.qustCat.getcommondrop("BTLENDERLIST").subscribe(function(t){e.m_btLenderList=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getEndUseForLoan(this.pdid).subscribe(function(t){e.m_endUseForLoan=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){console.log("Entering company List"),1==t.dataStatus&&(e.existCompanyList=t.records.filter(function(e){return!0===e.is_active&&!0===e.is_company_applicant}),console.log("company List",t.records));var n=[];e.existCompanyList.length>0&&(n=e.existCompanyList.map(function(e){return{id:e.company_order_id.toString(),name:e.company_name,group_id:1}}),e.mergeCompanyApplicant.push({groupName:"COMPANIES",groupValues:n}))});var t=[];this.applicants.length>0&&(t=this.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),this.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:t})),console.log("complete")},e.prototype.selectedBalancesTransferChanges=function(e){"no"==e.value?(this.loanDetailsForm.controls.is_topup.clearValidators(),this.loanDetailsForm.controls.is_topup.updateValueAndValidity()):"yes"==e.value&&(this.loanDetailsForm.controls.is_topup.setValidators([i.m.required]),this.loanDetailsForm.controls.is_topup.updateValueAndValidity())},e.prototype.mortage_type=function(e){console.log(e);var t=this.m_mortageTypeProperty.filter(function(t){return t.mortage_property_id==e})[0];console.log(t);this.mortageAccess="Others (Please Specify)"==t.property_name},e.prototype.compareObjects=function(e,t){return e.id==t.id&&e.group_id==t.group_id},e.prototype.loanCalc=function(){var e,t=this.loanDetailsForm.value.balance_transfer_amount,n=this.loanDetailsForm.value.loan_amount;null!=t&&""!=t&&null!=n&&""!=n&&(e=n-t),this.loanDetailsForm.controls.topup_amount.setValue(e)},e.prototype.endUserChange=function(e){var t=this;console.log("change",e),e.forEach(function(e){var n=t.m_endUseForLoan.filter(function(t){return t.enduse_of_loan_id==e})[0];n=n.enduse_of_loan.substr(0,6).toLowerCase(),t.endUserList.push({end_use:e}),console.log(201,n),t.isOtherPurpose="others"==n}),console.log(this.endUserList)},e.prototype.ownerNameChange=function(e){var t=this;this.ownerNames=[],e.value.forEach(function(e){t.ownerNames.push({owner_name:e})})},e.prototype.sourceChange=function(e){var t=this;this.isOtherSource=e.some(function(e){return 1==e}),this.isPLSource=e.some(function(e){return 3==e}),this.sourceList=[],e.forEach(function(e){t.sourceList.push({source:e})})},e.prototype.inWords=function(e,t){switch(t){case 1:this.loanAmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 2:this.balTxrfAmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 3:this.valAsPerAgmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 4:this.ownContributionInWords=this.constant.convertNumberToWords(e.target.value);break;case 5:this.topUpAmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 6:this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 7:this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value)}},e.prototype.submitLoanDetails=function(){var e=this,t={};t.pdid=this.pdDetails.pd_id,t.formid=this.FormId.form_id,t.fk_createdby=this.users,t.loan_amount=this.loanDetailsForm.controls.loan_amount.value;var n=[];if(this.loanDetailsForm.controls.end_use.value.forEach(function(e){n.push({end_use:e})}),t.end_use_group=n,this.isOtherPurpose&&(t.end_use_other=this.loanDetailsForm.controls.end_use_other.value),t.is_transfer=this.loanDetailsForm.controls.is_transfer.value,t.is_topup=this.loanDetailsForm.controls.is_topup.value,"yes"==this.loanDetailsForm.controls.is_transfer.value)t.balance_transfer_amount=this.loanDetailsForm.controls.balance_transfer_amount.value;else if("no"==this.loanDetailsForm.controls.is_transfer.value){t.own_contribution=this.loanDetailsForm.controls.own_contribution.value;var o=[];""!=this.loanDetailsForm.controls.source.value&&this.loanDetailsForm.controls.source.value.forEach(function(e){o.push({sources:e})}),t.source_group=o}"yes"==this.loanDetailsForm.controls.is_topup.value&&(t.topup_amount=this.loanDetailsForm.controls.topup_amount.value),"yes"!=this.loanDetailsForm.controls.is_topup.value&&"yes"!=this.loanDetailsForm.controls.is_transfer.value||(t.lender=this.loanDetailsForm.controls.lender.value),3==this.loanDetailsForm.controls.lender.value&&(t.other_bt_lender=this.loanDetailsForm.controls.other_bt_lender.value),this.isOtherSource&&(t.other_source=this.loanDetailsForm.controls.other_source.value),this.isPLSource&&(t.personal_loan_source=this.loanDetailsForm.controls.personal_loan_source.value),t.emi_level=this.loanDetailsForm.controls.emi_level.value,t.property_type=this.loanDetailsForm.controls.property_type.value,""!=this.loanDetailsForm.value.property_type_others&&null!=this.loanDetailsForm.value.property_type_others&&(t.property_type_others=this.loanDetailsForm.controls.property_type_others.value);var a=[];this.loanDetailsForm.controls.owner_name.value.forEach(function(e){a.push({owner_name:e})}),t.owner_name_group=a,t.construction_status=this.loanDetailsForm.controls.construction_status.value,t.percentage_of_construction=this.loanDetailsForm.controls.percentage_of_construction.value,t.emv_per_customer=this.loanDetailsForm.controls.emv_per_customer.value,t.loandetails_remarks=this.loanDetailsForm.controls.loandetails_remarks.value,console.log("data",t),this.qustCat.saveForm(t).subscribe(function(t){console.log("data",t),e.navCtrl.pop(),e.toast.pdTriggerappmessage("Record Saved Successfully.!")})},e.prototype.getLoanDetails=function(){var e=this;console.log("Entering LoanDetails GEt");this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(console.log("value",t),1==t.dataStatus){var n=t.records,o=Object.keys(n.end_use_group).map(function(e){return n.end_use_group[e]}),a=Object.keys(n.owner_name_group).map(function(e){return n.owner_name_group[e]});o.forEach(function(t){e.enduse.push(t.end_use),e.endUserList.push({end_use:t.end_use})});var i=[];if(a.forEach(function(t){i.push(t.owner_name),e.ownerNames.push({end_use:t.end_use})}),console.log("ownername",n),e.loanDetailsForm.controls.loan_amount.setValue(n.loan_amount),n.loan_amount&&(e.loanAmtInWords=e.constant.convertNumberToWords(n.loan_amount)),e.loanDetailsForm.controls.end_use.setValue(e.enduse),e.endUserChange(e.enduse),""!=n.end_use_other&&e.loanDetailsForm.controls.end_use_other.setValue(n.end_use_other),e.loanDetailsForm.controls.is_transfer.setValue(n.is_transfer),n.balance_transfer_amount&&(e.loanDetailsForm.controls.balance_transfer_amount.setValue(n.balance_transfer_amount),e.balTxrfAmtInWords=e.constant.convertNumberToWords(n.balance_transfer_amount)),n.topup_amount&&(e.loanDetailsForm.controls.topup_amount.setValue(n.topup_amount),e.topUpAmtInWords=e.constant.convertNumberToWords(n.topup_amount)),e.loanDetailsForm.controls.is_topup.setValue(n.is_topup),n.balance_transfer_amount&&e.loanDetailsForm.controls.balance_transfer_amount.setValue(n.balance_transfer_amount),n.topup_amount&&e.loanDetailsForm.controls.topup_amount.setValue(n.topup_amount),n.lender&&e.loanDetailsForm.controls.lender.setValue(n.lender),e.loanDetailsForm.controls.own_contribution.setValue(n.own_contribution),n.own_contribution&&(e.ownContributionInWords=e.constant.convertNumberToWords(n.own_contribution)),"yes"!=n.is_transfer){var s=[];Object.keys(n.source_group).map(function(e){return n.source_group[e]}).forEach(function(e){s.push(e.sources)}),e.loanDetailsForm.controls.source.setValue(s),e.sourceChange(s),n.other_source&&e.loanDetailsForm.controls.other_source.setValue(n.other_source),n.personal_loan_source&&e.loanDetailsForm.controls.personal_loan_source.setValue(n.personal_loan_source)}n.emi_level&&(e.loanDetailsForm.controls.emi_level.setValue(n.emi_level),e.emiAmtInWords=e.constant.convertNumberToWords(n.emi_level)),e.loanDetailsForm.controls.other_bt_lender.setValue(n.other_bt_lender),e.loanDetailsForm.controls.property_type.setValue(n.property_type),e.propertyType=n.property_type,""!=n.property_type_others&&(e.mortageAccess=!0,e.loanDetailsForm.controls.property_type_others.setValue(n.property_type_others)),e.loanDetailsForm.controls.owner_name.setValue(i),e.loanDetailsForm.controls.construction_status.setValue(n.construction_status),e.loanDetailsForm.controls.emv_per_customer.setValue(n.emv_per_customer),n.emv_per_customer&&(e.emvAmtInWords=e.constant.convertNumberToWords(n.emv_per_customer)),e.loanDetailsForm.controls.loandetails_remarks.setValue(n.loandetails_remarks)}})},e=m([Object(o.m)({selector:"page-pd-question-loans",template:'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n\n\n \n
\n \n \n \n \n {{"₹"}} {{loanAmtInWords}} Only\n \n \n \n {{ enduse.enduse_of_loan }}\n \n \x3c!--\n Puchase of property\n Construction\n Extention\n Improvement\n Working capital\n Purchase of business asset\n to close an existing debt\n Other purpose\n --\x3e\n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n {{"₹"}} {{balTxrfAmtInWords}} Only\n \n \n \n Yes\n No\n \n \n \n \n {{ btLen.lender_name }}\n \n \n \n \n \n \n \n \n {{"₹"}} {{topUpAmtInWords}} Only\n \n \n \n {{"₹"}} {{ownContributionInWords}} Only\n \n \n \n \n {{ sour.name }}\n \n \n \x3c!--\n Borrowed from Relatives & Friends\n Own money\n Loan from another lender\n --\x3e\n \n \n \n \n\n \n \n \n \n \n {{"₹"}} {{emiAmtInWords}} Only\n \n \n \n
\n \n \n

Mortgage\n

\n \n \n \n \n {{ typeprop.property_name }}\n \n \n \n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n {{ status.name }} {{status.id}}\n \n \n \n \n \n \n \n \x3c!--\n Under-construction\n Complete\n Vacant Land\n --\x3e\n \n \n \n {{"₹"}} {{emvAmtInWords}} Only\n \n \x3c!-- \n \n {{"₹"}} {{valAsPerAgmtInWords}} Only\n --\x3e\n \n \n

\n \n
\n
\n \n Remarks\n \n \n
\n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),d("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a,c.a])],e)}()},362:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.cons=s,this.existCompanyList=[],this.mergeCompanyApplicant=[],this.limitCaseFlag=[],this.amtInwords=[],this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,this.FormId=this.navParams.get("FormId"),this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 0==e.applicant_type||1==e.applicant_type}),this.applicants.push({pd_co_applicant_id:"0",applicant_name:"Others"}),console.log(this.pdDetails),this.users=this.aws.getlocale(),this.bankDetails=this.fb.group({bankitems:this.fb.array([]),banking_form_remark:[null]}),this.salaryField="SE"!=this.pdDetails.customer_segment_abbr.substring(0,2),this.getdropdown(),this.retiveBankDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBankingPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("ACCOUNTTYPE").subscribe(function(t){1==t.dataStatus&&(e.accountType=t.records)}),this.qustCat.getcommondrop("BTLENDERLIST").subscribe(function(t){1==t.dataStatus&&(e.m_btLenderList=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){console.log("Entering company List"),1==t.dataStatus&&(e.existCompanyList=t.records.filter(function(e){return!0===e.is_active&&!0===e.is_company_applicant}),console.log("company List",t.records))});var t=[];this.applicants.length>0&&(t=this.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),this.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:t}),console.log(this.mergeCompanyApplicant))},e.prototype.selectedAccTypeChanges=function(e,t){this.limitCaseFlag[t]=2!=e&&1!=e},e.prototype.inWords=function(e,t,n){switch(n){case 1:this.amtInwords[t]=this.cons.convertNumberToWords(e.target.value)}},e.prototype.ConvertMonthintoYear=function(e,t){var n=t%12,o=t/12;e.controls.vintage_year.setValue(+e.controls.vintage_year.value+ +Math.floor(o)),e.controls.vintage_month.setValue(Math.floor(n))},e.prototype.compareObjects=function(e,t){return e.id==t.id&&e.group_id==t.group_id},e.prototype.checkOthers=function(e){return null!=e&&0==e.id},e.prototype.createBankItem=function(e){return this.fb.group({applicant_name:[""],bank_name:[""],account_type:[""],salary:(this.pdDetails.customer_segment_abbr.substring(0,2),[""]),limit:[""],other_bank:[""],other_applicant:[""],vintage_year:[""],vintage_month:[""]})},e.prototype.addBankDetails=function(){this.bankitems=this.bankDetails.get("bankitems"),this.bankitems.push(this.createBankItem(""))},e.prototype.addmoreBankDetils=function(){this.bankitems=this.bankDetails.get("bankitems"),this.bankitems.push(this.createBankItem(""))},e.prototype.removebank=function(e){1==this.bankitems.length?this.bankitems.reset():this.bankitems.removeAt(e)},e.prototype.savepdBank=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.banking_details=e.bankitems,n.banking_form_remark=e.banking_form_remark,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){console.log("data",e),1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.retiveBankDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(1==t.dataStatus){var n=Object.keys(t.records.banking_details).map(function(e){return t.records.banking_details[e]});e.bankDetails.controls.banking_form_remark.setValue(t.records.banking_form_remark),e.bankitems=e.bankDetails.get("bankitems"),0==n.length?(console.log("Data=0"),e.bankitems.push(e.createBankItem(""))):(console.log("Data>0"),n.forEach(function(t,n){e.selectedAccTypeChanges(+t.account_type,n),""!=t.limit&&(e.amtInwords[n]=e.cons.convertNumberToWords(+t.limit)),e.bankitems.push(e.createBankItem(""))}),e.bankDetails.controls.bankitems.setValue(n))}else console.log("Data False"),e.addBankDetails()})},e=m([Object(o.m)({selector:"page-pd-question-banking",template:'\n\n \n \n {{FormId.form_name}}\n \n\n\n \x3c!-- \n \n --\x3e\n
\n
\n
\n\n \n \n
Banking details {{i+1}}
\n \n \x3c!-- \n \n \n \n --\x3e\n \n
\n
\n
\n \n \n \n {{val.name}} \n \n \n \n
\n \n \n \n
\n \n \n {{ btLen.lender_name }}\n \n \n
\n \n \n \n
\n \n\n \n {{bankacc.name}}\n\n \n\n \n \n
\n
\n \n\n \n Yes\n No\n NA\n \n \n \n
\n
\x3c!--*ngIf="bankinfo.get(\'account_type\').value==3 || bankinfo.get(\'account_type\').value==4">--\x3e\n In case of OD / CC account, What is the Limit \n \n {{"₹"}} {{amtInwords[i]}} only\n \n
\n\n \x3c!--

Is this the main business account (Yes / No)

--\x3e\n \x3c!--
--\x3e\n \x3c!-- --\x3e\n \x3c!-- --\x3e\n \x3c!-- Yes --\x3e\n \x3c!-- No --\x3e\n \x3c!-- --\x3e\n \x3c!-- --\x3e\n \x3c!--
--\x3e\n
\n

Approximate vintage of the account (No of years)

\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
'}),d("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a,c.a])],e)}()},363:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.aws=a,this.toast=i,this.filteredStates=["Co-Applicant 1 to x","Accountant","Manager","Relative of the applicant","Friend of the Applicant","DSA","Other"],this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.getFamilyData(),this.familyForm=this.fb.group({person:[null],personOther:[null],members:[null],residence:[null],years:[null],ownership:[null],ownershipOther:[null],rent:[null],family_details_form_remark:[null],earningMembers:this.fb.array([]),nonEarningMembers:this.fb.array([])}),this.getRelation(),this.getoccupation()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionFamilyPage")},e.prototype.getRelation=function(){var e=this;this.qustCat.getcommondrop("RELATIONSHIPS").subscribe(function(t){1==t.dataStatus&&(e.relationData=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.getoccupation=function(){var e=this;this.qustCat.getcommondrop("OCCUPATIONMEMBERS").subscribe(function(t){1==t.dataStatus&&(e.occupationData=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createMembers=function(){return this.fb.group({relation:[null],segment:[null],income:[null],employerName:[null]})},e.prototype.addearningMembers=function(){this.items=this.familyForm.get("earningMembers"),this.items.push(this.createMembers())},e.prototype.deleteEarningMembers=function(e){this.items.removeAt(e)},e.prototype.createNonMembers=function(){return this.fb.group({relationship:[null],occupation:[null],retired:[null]})},e.prototype.addMembers=function(){this.membersitem=this.familyForm.get("nonEarningMembers"),this.membersitem.push(this.createNonMembers())},e.prototype.deleteMembers=function(e){this.membersitem.removeAt(e)},e.prototype.savepdfamily=function(e){var t=this;console.log(e);var n={};n.no_of_years=e.years,n.ownership="Others"==e.ownership?e.ownershipOther:e.ownership,n.residence=e.residence,"Rented"==e.ownership&&(n.what_rent=e.rent),n.person_met="Other"==e.person?e.personOther.value:e.person,n.family_members=e.members,n.earning_members=e.earningMembers,n.non_earning_members=e.nonEarningMembers,n.pdid=this.pdDetails.pd_id,n.formid="335",n.fk_createdby=this.users,n.family_details_form_remark=e.family_details_form_remark,console.log("params",n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getFamilyData=function(){var e=this,t=[],n=[];this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"335"}).subscribe(function(o){if(1==o.dataStatus){n=Object.keys(o.records.non_earning_members).map(function(e){return o.records.non_earning_members[e]}),console.log(n),e.familyForm.controls.family_details_form_remark.setValue(o.records.family_details_form_remark),t=Object.keys(o.records.earning_members).map(function(e){return o.records.earning_members[e]}),console.log(t);var a=o.records;e.familyForm.controls.person.setValue(a.person_met),e.familyForm.controls.personOther.setValue(a.personOther),e.familyForm.controls.members.setValue(a.family_members),e.familyForm.controls.residence.setValue(a.residence),e.familyForm.controls.years.setValue(a.no_of_years),e.familyForm.controls.ownership.setValue(a.ownership),e.familyForm.controls.ownershipOther.setValue(a.ownershipOther),e.familyForm.controls.rent.setValue(a.rent),e.items=e.familyForm.get("earningMembers"),e.membersitem=e.familyForm.get("nonEarningMembers"),0==t.length?e.items.push(e.createMembers()):t.forEach(function(t){e.items.push(e.createMembers())}),e.familyForm.controls.earningMembers.setValue(t),0==n.length?e.membersitem.push(e.createNonMembers()):n.forEach(function(t){e.membersitem.push(e.createNonMembers())}),e.familyForm.controls.nonEarningMembers.setValue(n)}})},e=c([Object(o.m)({selector:"page-pd-question-family",template:'\n\n \n \n Family Category\n \n \n \n \n \n\n\n\n
\n \n \n \n \n {{state}}\n \n \n \n {{person}}\n \n \n \n \n \n \n \n \n \n

Earning Members\n

\n \n

\n
\n \n \n \n \n {{relation.name}}\n \n \n \n \n \n Salaried\n SENP\n SEP\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n

Non Earning Members\n

\n \n

\n
\n \n \n \n \n {{relation.name}}\n \n \n \n \n \n {{occupation.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

Residence\n

\n \n \n \n \n \n \n \n \n \n \n Self Owned\n Family Owned\n Rented\n Others\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n

\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},364:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(30),c=n(9),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.constprovider=s,this.m_any_asset_loan_type=[{value:"yes",viewValue:"Yes"},{value:"no",viewValue:"No"},{value:"nan",viewValue:"NA"}],this.FormList=!1,this.loadDetails=!0,this.appxMarketAmtInwords=[],this.OtherAppxMarketAmtInwords=[],this.emiAmtInwords=[],this.OtherEmiAmtInwords=[],this.PremiumPaidInwords=[],this.OtherPremiumPaidInwords=[],this.SumAssuredInwords=[],this.OtherSumAssuredInwords=[],this.AmtInvestInwords=[],this.AssetValueInwords=[],this.OtherAssetValueInwords=[],this.B_emiAmtInwords=[],this.O_emiAmtInwords=[],this.existCompanyList=[],this.mergeCompanyApplicant=[],this.apiLoadFinish=!1,this.assestInfo="busass",this.FormId=this.navParams.get("FormId"),console.log(this.FormId),this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,this.users=this.aws.getlocale(),this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 0==e.applicant_type||1==e.applicant_type}),this.applicants.push({pd_co_applicant_id:"0",applicant_name:"Others"}),this.AssetsDetailsForm=this.fb.group({assets_details:this.fb.array([]),assets_form_remark:[""]}),this.getAssetDetails(),this.getdropList(),this.loadDetails=!0}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssestsPage")},e.prototype.getdropList=function(){var e=this;this.qustCat.getcommondrop("ASSETTYPE").subscribe(function(t){1==t.dataStatus&&(e.m_assets_type=t.records.filter(function(e){return 1==e.isactive&&4!=e.id}))}),this.qustCat.getcommondrop("PROPERTIES").subscribe(function(t){1==t.dataStatus&&(e.m_propertyType=t.records)}),this.qustCat.getcommondrop("INVESTMENTTYPE").subscribe(function(t){1==t.dataStatus&&(e.m_investmentType=t.records)}),this.qustCat.getcommondrop("INSURANCETYPE").subscribe(function(t){1==t.dataStatus&&(e.m_insuranceType=t.records)}),this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records)}),this.qustCat.getcommondrop("RELATIONSHIPS").subscribe(function(t){1==t.dataStatus&&(e.m_relation=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){console.log("Entering company List"),1==t.dataStatus&&(e.existCompanyList=t.records.filter(function(e){return!0===e.is_active&&!0===e.is_company_applicant}),console.log("company List",t.records));var n=[];e.existCompanyList.length>0&&(n=e.existCompanyList.map(function(e){return{id:e.company_order_id.toString(),name:e.company_name,group_id:1}}),e.mergeCompanyApplicant.push({groupName:"COMPANIES",groupValues:n}),console.log("Company applicant",e.mergeCompanyApplicant))});var t=[];this.applicants.length>0&&(t=this.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),this.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:t}),console.log("Applicants",this.mergeCompanyApplicant))},e.prototype.createAsset=function(){return this.fb.group({assets_mode:[null],details:this.fb.array([]),approximate_market_value:[null],name_of_the_owner:[""],other_owner:[""],purchase_year:[null,i.m.compose([i.m.minLength(4),i.m.maxLength(4)])],vintage_personal:[""],emi:[null],emi_paid:[null],elapsed_tenure:[null],balance_tenure:[null],original_loan_tenure:[null]})},e.prototype.addAsset=function(e){1==e&&(this.assetItem=this.AssetsDetailsForm.get("assets_details"),this.assetItem.push(this.createAsset()))},e.prototype.deleteAsset=function(e,t){1==t&&(this.assetItem=this.AssetsDetailsForm.get("assets_details"),1==this.assetItem.length?this.AssetsDetailsForm.controls.assets_details.reset():this.assetItem.removeAt(e))},e.prototype.compareObjects=function(e,t){return e.id==t.id&&e.group_id==t.group_id},e.prototype.loanCalc=function(e,t){if(1==t){null!=e.value.original_loan_tenure&&""!=e.value.original_loan_tenure&&null!=e.value.balance_tenure&&""!=e.value.balance_tenure&&e.controls.elapsed_tenure.setValue(e.value.original_loan_tenure-e.value.balance_tenure)}},e.prototype.selectedAssetsType=function(e,t,n){console.log(e),console.log(t),console.log(n);var o=t;if(1==n){this.AssetsDetailsForm.controls.assets_details.at(o).get("details").controls.splice(0)}switch(e.value){case"1":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.otherAssetsDescription());break;case"2":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.loadProperty());break;case"3":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.load_Four_Weeler());break;case"4":this.AssetsDetailsForm.controls.assets_details.at(o).get("details");break;case"5":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.loadConsumerDurableDescription());break;case"6":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.loadInsuranceDescription());break;case"7":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.loadInvestDescription());break;case"8":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.otherAssetsDescription())}},e.prototype.loadProperty=function(){return this.fb.group({property_type:[""],other_property_type:[""]})},e.prototype.loadJwellDescription=function(){return this.fb.group({})},e.prototype.loadConsumerDurableDescription=function(){return this.fb.group({consumer_durable_description:[null]})},e.prototype.otherBusinessAssetsDescription=function(){return this.fb.group({any_other_assets:[""],any_other_asset_value:[""],any_other_asset_loan:[""]})},e.prototype.otherAssetsDescription=function(){return this.fb.group({any_other_assets:[""],any_other_asset_value:[""],any_other_asset_loan:[""]})},e.prototype.loadInsuranceDescription=function(){return this.fb.group({insurance_type:[null],premium_paid:[null],frequency_mode:[null],other_frequency_mode:[null],sum_assured:[null],members_coverd:[null]})},e.prototype.loadInvestDescription=function(){return this.fb.group({investments_type:[""],other_investments_type:[""],amount_of_invest:[""],bank_name:[""]})},e.prototype.load_Four_Weeler=function(){return this.fb.group({manufacturer_model_vehicle:[""]})},e.prototype.load_Two_Weeler=function(){return this.fb.group({manufacturer_model_two_weeler:[""]})},e.prototype.loadPropertyWithData=function(e){return this.fb.group({property_type:[e.property_type],other_property_type:[e.other_property_type]})},e.prototype.loadJwellDescriptionWithData=function(e){return this.fb.group({})},e.prototype.loadConsumerDurableDescriptionWithData=function(e){return this.fb.group({consumer_durable_description:[e.consumer_durable_description]})},e.prototype.otherAssetsDescriptionWithData=function(e){return this.fb.group({any_other_assets:[e.any_other_assets],any_other_asset_value:[e.any_other_asset_value],any_other_asset_loan:[e.any_other_asset_loan]})},e.prototype.otherBusinessAssetsDescriptionWithData=function(e){return this.fb.group({any_other_assets:[e.any_other_assets],any_other_asset_value:[e.any_other_asset_value],any_other_asset_loan:[e.any_other_asset_loan]})},e.prototype.loadInsuranceDescriptionWithData=function(e){return this.fb.group({premium_paid:[e.premium_paid],frequency_mode:[e.frequency_mode],other_frequency_mode:[e.other_frequency_mode],sum_assured:[e.sum_assured],members_coverd:[e.members_coverd]})},e.prototype.loadInvestDescriptionWithData=function(e){return this.fb.group({investments_type:[e.investments_type],other_investments_type:[e.other_investments_type],amount_of_invest:[e.amount_of_invest],bank_name:[e.bank_name]})},e.prototype.load_Four_WeelerWithData=function(e){return this.fb.group({manufacturer_model_vehicle:[e.manufacturer_model_vehicle]})},e.prototype.load_Two_WeelerWithData=function(e){return this.fb.group({manufacturer_model_vehicle:[e.manufacturer_model_vehicle]})},e.prototype.saveAssetDetails=function(e){var t=this;console.log(e),Object.keys(e).forEach(function(t){return null==e[t]&&delete e[t]}),e.assets_details.map(function(e){"no"==e.emi&&(e.emi_paid="",e.elapsed_tenure="",e.balance_tenure="",e.original_loan_tenure="")}),e.pdid=this.pdDetails.pd_id,e.formid=this.FormId.form_id,e.fk_createdby=this.users,console.log("final",e),this.qustCat.saveForm(e).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getAssetDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(1==t.dataStatus){var n=Object.keys(t.records.assets_details).map(function(e){return t.records.assets_details[e]});if(e.AssetsDetailsForm.controls.assets_form_remark.setValue(t.records.assets_form_remark),n.length>0)for(var o=0,a=n;o\n \n \n {{FormId.form_name}}\n \n\n\n \n
\n \x3c!-- *ngIf="apiLoadFinish && loadDetails"--\x3e\n
\n
\n
\n \n
Asset Details # {{i+1}}
\n \n
\n
\n \n \n {{ asset.name }}\n \n \n
\n \x3c!--Desction Dynamic details: START--\x3e\n
\n \x3c!--Property--\x3e\n
\n \n
\n
\n
\n \n \n \n \n \n {{"₹"}} {{OtherAssetValueInwords[s]}} Only\n \n \n \n {{data.viewValue}}\n \n \n \x3c!--\n \n --\x3e\n
\n
\n
\n \n
\n \x3c!--Four Wheeler--\x3e\n
\n
\n
\n
\n
\n \n \n {{ prop.name }}\n \n \n \n \n \n
\n
\n
\n
\n
\n \x3c!--Two Wheeler--\x3e\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \x3c!--jwell details --\x3e\n \x3c!--
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
--\x3e\n \x3c!--Consumer Durable--\x3e\n \x3c!--
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
--\x3e\n \x3c!--Insurance--\x3e\n
\n
\n
\n
\n
\n \n
\n \n \n {{"₹"}} {{PremiumPaidInwords[s]}} Only\n \n
\n
\n \n \n {{ freqn.name }}\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n {{"₹"}} {{SumAssuredInwords[s]}} Only\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \x3c!--Investments--\x3e\n
\n
\n
\n
\n
\n
\n \n \n {{ ins_type.name }}\n \n \n \n \n \n
\n
\n \n \n {{"₹"}} {{AmtInvestInwords[s]}} Only\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \x3c!--other assets--\x3e\n \x3c!--
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
--\x3e\n
\n \n \x3c!--Desction Dynamic details : END --\x3e\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 \x3c!--
\n \n \n \n \n \n ksjdf\n \n \n \n \n
--\x3e\n \x3c!--
\n \n \n \n
--\x3e\n \n
\n \n\n Vintage\n \n \x3c!-- Invalid format --\x3e\n\n \n \n
\n \n \n \n \n
\n
\n \n \x3c!-- \n \n Yes\n No\n \n \n --\x3e \n
\n
\n
\n \n

Is there a loan?

\n \n \n YES\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 \n \n Remarks\n \n \n \n \n\n\n\n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n\n \n
\n
'}),d("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,c.a,l.a])],e)}()},365:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.aws=a,this.toast=i,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.otherIncomeForm=this.fb.group({other_income:[null],otherincome_remarks:[null],income_details:this.fb.array([])}),this.getOtherIncome(),this.getFrequency()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionOtherIncomePage")},e.prototype.createDetail=function(){return this.fb.group({source:[null],amount:[null],frequency:[null]})},e.prototype.addIncomeDetails=function(){this.incomeDetails=this.otherIncomeForm.get("income_details"),this.incomeDetails.push(this.createDetail())},e.prototype.deleteIncomeDetails=function(e){this.incomeDetails=this.otherIncomeForm.get("income_details"),this.incomeDetails.removeAt(e)},e.prototype.checkotherDetails=function(e){"Yes"==e&&this.addIncomeDetails()},e.prototype.getFrequency=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.frequencyData=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.submitOtherIncome=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid="337",n.fk_createdby=this.users,n.other_income=e.other_income,n.income_details=e.income_details,n.otherincome_remarks=e.otherincome_remarks,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){console.log("data",e),t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!")},function(e){})},e.prototype.getOtherIncome=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"337"}).subscribe(function(t){if(1==t.dataStatus){var n=Object.keys(t.records.income_details).map(function(e){return t.records.income_details[e]});e.otherIncomeDetails=t.records,console.log(e.otherIncomeDetails),e.otherIncomeForm.controls.other_income.setValue(e.otherIncomeDetails.other_income),e.otherIncomeForm.controls.otherincome_remarks.setValue(e.otherIncomeDetails.otherincome_remarks),e.incomeDetails=e.otherIncomeForm.get("income_details"),0==n.length?e.incomeDetails.push(e.createDetail()):n.forEach(function(t){e.incomeDetails.push(e.createDetail())}),e.otherIncomeForm.controls.income_details.setValue(n)}})},e=c([Object(o.m)({selector:"page-pd-question-other-income",template:'\n\n \n \n Other Income Category\n\n\n \n\n\n\n\n\n
\n \n \n Yes\n No\n \n \n \n \n \n \n
\n
\n

Loan Details{{i+1}}

\n \n \n \n Rental Income\n Interest Income\n Agricultural Income\n Dividend Income and Others\n \n \n \n \n \n \n \n {{frq.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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},366:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this._fb=i,this.qualifications=["Graduate","Under Graduate","Post Graduate","Professional"],this.earningStatus=["Earning Member","House Wife","Student","Retired","Pensioner","Other Non earning member"],this.relationShipList=[],this.mainApplicantQuestions=["Name","Age","Entity","Educational Qualification","Earning Status"],this.coApplicantQuestions=["Name","Age","Entity","Educational Qualification","Earning Status","Relationship"],this.mainApplicantDetails=[],this.coApplicantDetails=[],this.repeat=3,this.loadDataStatus=!1,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),console.log(this.pdDetails)}return e.prototype.ngOnInit=function(){this.loadPDDetails(),this.getRelationMaster(),this.mainApplicantDetails=this.pdDetails.applicat_details.filter(function(e){return 1==e.applicant_type}),this.coApplicantDetails=this.pdDetails.applicat_details.filter(function(e){return 0==e.applicant_type})},e.prototype.loadPDDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"341"}).subscribe(function(t){if(200==t.status)e.loadFormWithIDData(t.records);else{var n=[];if(e.mainApplicantDetails.length>0)for(var o=0;o\n\n \n \n Personal Info Category\n \n \n \n \n \n\n\n\n \n
\n\n \n \x3c!-- start main applicant details --\x3e\n \n
\n \n
\n \n \n Main Applicant\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{education}}\n \n \n \n \n \n \n \n {{earning}}\n \n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \x3c!-- end main applicant details --\x3e\n \n \x3c!-- start co applicant form details --\x3e\n
\n \n \n Co Applicant\n \n
\n
\n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n \n {{education}}\n \n \n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n {{earning}}\n \n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n {{rel.name}}\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 \x3c!-- end co applicant form details --\x3e\n
\n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},367:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(11),s=n(7),r=n(9),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){var s=this;this.navCtrl=e,this.navParams=t,this.qustCat=n,this.aws=o,this.toast=a,this.fb=i,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.stockForm=this.fb.group({stock_remarks:[""],raw_materials:this.fb.array([]),finished_goods:this.fb.array([])}),this.getStockDetails(),this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"1"}).subscribe(function(e){var t=s.stockForm.controls.raw_materials.at(0);console.log(t),s.rawmaterial=1==e.dataStatus?e.records.main_raw_materials:""}),this.getdropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionStockInfoPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("UOM").subscribe(function(t){1==t.dataStatus&&(e.uomData=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createRawmaterial=function(){return this.fb.group({raw_name:[""],stock_observed:[""],raw_quantity:[""],raw_uom:[""],other_uom:[""],raw_value:[""],rawmaterial_value:[""],is_sufficiant_raw:[""]})},e.prototype.createGoods=function(){return this.fb.group({goods_name:[""],goods_quantity:[""],goods_value:[""],finished_goods_value:[""],is_sufficiant_goods:[""]})},e.prototype.addRawMaterials=function(){this.stockForm.controls.raw_materials.push(this.createRawmaterial())},e.prototype.deleteRawMaterials=function(e){var t=this.stockForm.controls.raw_materials;1==t.length?this.stockForm.controls.raw_materials.reset():t.removeAt(e)},e.prototype.addGoods=function(){this.stockForm.controls.finished_goods.push(this.createGoods())},e.prototype.deleteGoods=function(e){var t=this.stockForm.controls.finished_goods;1==t.length?this.stockForm.controls.finished_goods.reset():t.removeAt(e)},e.prototype.submitDetails=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.raw_materials=e.raw_materials,n.stock_remarks=e.stock_remarks,n.finished_goods=e.finished_goods,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!")})},e.prototype.getStockDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){console.log("value",t);var n=e.stockForm.controls.raw_materials,o=e.stockForm.controls.finished_goods;if(1==t.dataStatus){var a=t.records,i=Object.keys(a.raw_materials).map(function(e){return a.raw_materials[e]}),s=Object.keys(a.finished_goods).map(function(e){return a.finished_goods[e]});e.stockForm.controls.stock_remarks.setValue(a.stock_remarks),i.length>0?(i.forEach(function(t){n.push(e.createRawmaterial())}),e.stockForm.controls.raw_materials.setValue(i)):n.push(e.createRawmaterial()),s.length>0?(s.forEach(function(t){o.push(e.createGoods())}),e.stockForm.controls.finished_goods.setValue(s)):o.push(e.createGoods())}else e.addRawMaterials(),e.addGoods()})},e=c([Object(o.m)({selector:"page-pd-question-stock-info",template:'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n\n\n \n
\n \n \n \n \n

Raw Materials

\n
\n
\n
\n \n \n \n \n \n \n Yes\n No\n \n \n
\n \n \n \n \n \n {{uom.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

Finished Goods

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n \n\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},368:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var o=n(0),a=n(5),i=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=function(){function e(e,t){this.navCtrl=e,this.navParams=t}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionFinancialInfoPage")},e=i([Object(o.m)({selector:"page-pd-question-financial-info",template:"\x3c!--\n Generated template for the PdQuestionFinancialInfoPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n pdQuestionFinancialInfo\n \n\n\n\n\n\n\n\n"}),s("design:paramtypes",[a.r,a.s])],e)}()},369:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(9),r=n(11),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.toast=o,this.qustCat=a,this.fb=i,this.FormId=this.navParams.get("FormId"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.rentalForms=this.fb.group({person_met:[null,l.m.compose([l.m.required])],property_own:[null,l.m.compose([l.m.required])],nature_property:[null,l.m.compose([l.m.required])],nature_others:[null],rental_home:this.fb.array([])}),this.getRentalDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionRentalInfoPage")},e.prototype.createrentalHome=function(){return this.fb.group({complete_add:[null,l.m.compose([l.m.required])],area_of_property:[null,l.m.compose([l.m.required])],structure_property:[null,l.m.compose([l.m.required])],total_room:[null,l.m.compose([l.m.required])],is_rent:[null,l.m.compose([l.m.required])],date_agreement:[null,l.m.compose([l.m.required])],date_validity:[null,l.m.compose([l.m.required])],rent_agreement:[null,l.m.compose([l.m.required])],actual_rent:[null,l.m.compose([l.m.required])],photo_areegment:[null,l.m.compose([l.m.required])],property_photographs:[null],bank:[null,l.m.compose([l.m.required])],cash:[null,l.m.compose([l.m.required])],rent_each_floor:[null,l.m.compose([l.m.required])],total_rent:[null,l.m.compose([l.m.required])],related_doc_owner:[null,l.m.compose([l.m.required])],details_tenants:this.fb.array([]),third_party_check:[null,l.m.compose([l.m.required])]})},e.prototype.createTenantsDetails=function(){return this.fb.group({name:[null,l.m.compose([l.m.required])],mobile_no:[null,l.m.compose([l.m.required])],tenants_seen:[null,l.m.compose([l.m.required])],tenants_con_owner:[null,l.m.compose([l.m.required])],rent_paid:[null,l.m.compose([l.m.required])],staying_since:[null,l.m.compose([l.m.required])]})},e.prototype.addrentalHome=function(){this.rentalForms.get("rental_home").push(this.createrentalHome()),this.addTenantsDetails(0)},e.prototype.addTenantsDetails=function(e){var t=this.rentalForms.controls.rental_home.at(e).get("details_tenants");console.log(t),t.push(this.createTenantsDetails())},e.prototype.deleteTenantsDetails=function(e,t){this.rentalForms.controls.rental_home.at(e).get("details_tenants").removeAt(t)},e.prototype.deleterentalHome=function(e){var t=this.rentalForms.controls.rental_home;1==t.length?this.rentalForms.controls.rental_home.reset():t.removeAt(e)},e.prototype.saveRentalDetails=function(e){var t=this,n={};console.log(this.rentalForms.value),n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.person_met=e.person_met,n.property_own=e.property_own,n.nature_property=e.nature_property,"others"==e.nature_property&&(n.nature_others=e.nature_others),n.rental_home=e.rental_home,Object.keys(n.rental_home).forEach(function(t){return null==n.rental_home[t]&&delete e[t]}),console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getRentalDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(console.log(t),1==t.dataStatus){var n,o=t.records,a=Object.keys(t.records.rental_home).map(function(e){return t.records.rental_home[e]}),i=e.rentalForms.controls.rental_home;a.forEach(function(t,o){console.log(o),console.log(i),a[o].details_tenants=Object.keys(t.details_tenants).map(function(e){return t.details_tenants[e]}),i.push(e.createrentalHome()),n=e.rentalForms.controls.rental_home.at(o).get("details_tenants"),a[o].details_tenants.forEach(function(t,o){n.push(e.createTenantsDetails())})}),e.rentalForms.controls.person_met.setValue(o.person_met),e.rentalForms.controls.property_own.setValue(o.property_own),e.rentalForms.controls.nature_property.setValue(o.nature_property),"others"==o.nature_property&&e.rentalForms.controls.nature_others.setValue(o.nature_others),e.rentalForms.controls.rental_home.setValue(a),console.log(e.rentalForms)}else e.addrentalHome()})},e.prototype.createTenantsDetailswithData=function(e,t){return this.fb.group({name:[t.name],mobile_no:[t.mobile_no],tenants_seen:[t.tenants_seen],tenants_con_owner:[t.tenants_con_owner],rent_paid:[t.rent_paid],staying_since:[t.staying_since]})},e.prototype.validateAllFormFields=function(e){var t=this;Object.keys(e.controls).forEach(function(n){var o=e.get(n);o instanceof l.d?o.markAsTouched({onlySelf:!0}):o instanceof l.e?t.validateAllFormFields(o):o instanceof l.b&&t.validateAllFormFields(o)})},e=c([Object(o.m)({selector:"page-pd-question-rental-info",template:'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n
\n \n \n \n \n \n \n Applicant\n Co-Applicant\n Parental\n\n \n \n \n \n Residential/commercial\n Others\n \n \n \n \n \n \n
\n
\n \n Rentel Home Details {{rent_i+1}}\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n\n \n \n \n

Is Rent agreement available

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

Photo of agreement taken ?

\n \n Yes\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

Details of the tenants {{i+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 \n
\n \n \n \n \n \n \n\n \n
\n
\n \n \n \x3c!-- \n \n --\x3e\n \n \n \n \x3c!-- \n \n --\x3e\n \n \n \n
\n
\n
\n \n\n\n\n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n\n \n
\n
'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},370:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(4),r=n(11),l=n(9),c=n(371),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.fb=o,this.qustCat=a,this.toast=i,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.assessedForm=this.fb.group({calc_type_id:[null],fk_pd_id:[this.pdDetails.pd_id],mode:[null,s.m.compose([s.m.required])],margin:[null],fk_createdby:[this.users],fk_updatedby:[null]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedDashPage")},e.prototype.ionViewCanEnter=function(){this.getassessedIncome()},e.prototype.getViewPage=function(e){this.navCtrl.push(c.a,{pdDetails:this.pdDetails,pageId:e})},e.prototype.saveAssessedForm=function(e){var t=this;if(console.log(this.assessedForm.value),this.assessedForm.valid){var n={records:this.assessedForm.value};console.log("data",n),this.qustCat.saveassessedForms("saveAssessedIncomeCalculateMode",n).subscribe(function(e){1==e.dataStatus&&t.getassessedIncome()})}},e.prototype.getassessedIncome=function(){var e=this;this.qustCat.retiverassessedForm("getAssessedIncome",{pd_id:this.pdDetails.pd_id}).subscribe(function(t){1==t.dataStatus?(e.assessedProcess=!0,e.grossprofit=t.records.gross_profit_calculation_type[0],0!=t.records.purchase_details.length&&(e.purchaseData=!0),0==t.records.sales_items_by_monthwise.length&&0==t.records.sales_declared_by_customer.length&&0==t.records.sales_calculated_by_itemwise.length||(e.salesData=!0),0!=t.records.business_expenses.length&&(e.businessData=!0),0!=t.records.house_hold_expenses.length&&(e.houseExpenseData=!0),0!=t.records.othre_business_income.length&&(e.businessIncome=!0),console.log(t.records.final_data.length),0!=t.records.final_data.length&&(e.finalAccess=!0,e.finalData=t.records.final_data[0],e.finalIncome=e.finalData.income,e.finalExpense=e.finalData.expense),console.log(e.grossprofit),void 0!==e.grossprofit&&(e.grossAccess=!0,e.assessedForm.controls.mode.setValue(e.grossprofit.mode),e.assessedForm.controls.margin.setValue(e.grossprofit.margin),e.assessedForm.controls.calc_type_id.setValue(e.grossprofit.calc_type_id))):e.assessedProcess=!1})},e=m([Object(o.m)({selector:"page-pd-question-assessed-dash",template:'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n \n \n \n \n \n \n Purchase Calculation\n \n \n \n
\n \n

Purchase Detail Available

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

Sales

\n \n Gross Margin\n Net Margin\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

PURCHASE

\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

HOUSE HOLD

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

OTHER BUSINESS INCOME

\n
\n
\n
\n \n

SUMMARY

\n
\n \n \n
Business Revenue
\n
\n \n
{{finalIncome.sales_revenue}}
\n
\n
\n
\n \n \n
Purchase
\n
\n \n
{{finalExpense.purchase}}
\n
\n
\n
\n \n \n
Gross Profit
\n
\n \n
{{finalData.gross_profit}}
\n
\n
\n
\n \n \n
Business Expense
\n
\n \n
{{finalExpense.business_expense}}
\n
\n
\n
\n \n \n
Business Income
\n
\n \n
{{finalData.other_business_income}}
\n
\n
\n
\n \n \n
Net Profit
\n
\n \n
{{finalExpense.net_profit}}
\n
\n
\n
\n \n
\n
\n
'}),d("design:paramtypes",[a.r,a.s,i.a,s.c,r.a,l.a])],e)}()},371:function(e,t,n){"use strict";n.d(t,"a",function(){return g});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=n(372),m=n(373),d=n(374),u=n(375),p=n(376),f=n(377),h=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},_=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},g=function(){function e(e,t,n,o,a,i){switch(this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.houseannual=[],this.expenseannual=[],this.sales_item_month_value=[],this.sales_wise_month_headers=[],this.sales_month_wise_data=[],this.grandpurchaseTotal=null,this.annual=[],this.pdDetails=this.navParams.get("pdDetails"),this.pageId=this.navParams.get("pageId"),this.pageId){case 1:this.FormName="Sales Page";break;case 2:this.FormName="Purchase Page";break;case 3:this.FormName="Business Expense Page";break;case 4:this.FormName="House Hold Page";break;default:this.FormName="Question Page"}this.users=this.aws.getlocale(),this.assessedForm=this.fb.group({sdc_id:[null],sales_declared_by_customer:[null],fk_pd_id:[this.pdDetails.pd_id],margin_per:[null],margin_value:[null],isactive:[1],fk_createdby:[this.users]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedInfoPage")},e.prototype.ionViewDidEnter=function(){},e.prototype.ionViewCanEnter=function(){this.getAssessedDetails()},e.prototype.getMarginCalc=function(){var e=this.assessedForm.controls.margin_per.value,t=this.assessedForm.controls.sales_declared_by_customer.value;if(null!=e&&null!=t){this.assessedForm.controls.margin_value.setValue(t*(e/100))}},e.prototype.saveData=function(e){var t=this,n={};n={records:e},console.log(n),this.qustCat.saveassessedForms("saveAssessedIncomeSalesDeclaredByCustomer",n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.getAssessedDetails())})},e.prototype.getAssessedDetails=function(){var e=this;this.sales_item_month_value=[],this.sales_month_wise_data=[],this.sales_item_value=[];this.qustCat.retiverassessedForm("getAssessedIncome",{pd_id:this.pdDetails.pd_id}).subscribe(function(t){if(1==t.dataStatus){var n=t.records.sales_declared_by_customer[0];e.sales_item_value=t.records.sales_calculated_by_itemwise,e.sales_item_month_value=t.records.sales_items_by_monthwise,e.purchse_details=t.records.purchase_details,e.grossprofitCalc=t.records.gross_profit_calculation_type[0],e.mode=e.grossprofitCalc.mode,console.log(e.grossprofitCalc);var o=e.purchse_details.reduce(function(e,t){return e},[]);console.log(o),e.businessExpenses_details=t.records.business_expenses,e.houseHold_details=t.records.house_hold_expenses,e.busissnessIncome=t.records.othre_business_income,e.sales_item_month_value.forEach(function(t,n){var o=Object.keys(t.items).map(function(e){return{header:e,value:t.items[e]}}),a=[];o.forEach(function(e,t){var n=e.value.reduce(function(e,t){return e+Number(t.sales_value)},0);a.push({items:e,itemsTotal:n})});var i=a.reduce(function(e,t){return e+Number(t.itemsTotal)},0),s=12/a.length,r=[];r.push({month_message:a.length+" Month Sales : "+i,month_value:i,year_message:" Yearly Sales Arrived : "+i*s,year_value:i*s}),e.sales_month_wise_data.push({salesItem:t.sales_item,expandElements:o,footerMessage:r,simId:t.sim_id})}),console.log(e.sales_month_wise_data),void 0!==n&&(e.assessedForm.controls.sdc_id.setValue(n.sdc_id),e.assessedForm.controls.sales_declared_by_customer.setValue(n.sales_declared_by_customer),e.assessedForm.controls.margin_value.setValue(n.margin_value),e.assessedForm.controls.margin_per.setValue(n.margin_per))}})},e.prototype.AddAssessedForm=function(){this.navCtrl.push(c.a,{pdDetails:this.pdDetails,sales:null,grossprofit:this.grossprofitCalc})},e.prototype.editDetails=function(e){var t=this.sales_item_value.filter(function(t){return t.sci_id==e});console.log(t),this.navCtrl.push(c.a,{pdDetails:this.pdDetails,sales:t,grossprofit:this.grossprofitCalc})},e.prototype.editAllDetails=function(e){this.navCtrl.push(c.a,{pdDetails:this.pdDetails,sales:e,grossprofit:this.grossprofitCalc})},e.prototype.AddAssessedDailyForm=function(){this.navCtrl.push(m.a,{pdDetails:this.pdDetails,salesDaily:null,grossprofit:this.grossprofitCalc})},e.prototype.editAssessedDailyForm=function(e){var t=this.sales_item_month_value.filter(function(t){return t.sim_id==e});console.log(t),this.navCtrl.push(m.a,{pdDetails:this.pdDetails,salesDaily:t,grossprofit:this.grossprofitCalc})},e.prototype.AddPurchaseForm=function(){this.navCtrl.push(d.a,{pdDetails:this.pdDetails,purchase:null})},e.prototype.editPurchaseDetails=function(e){var t=this.purchse_details.filter(function(t){return t.purchase_id==e});console.log(t),this.navCtrl.push(d.a,{pdDetails:this.pdDetails,purchase:t})},e.prototype.editPurchaseAllDetails=function(e){console.log("260",e),this.navCtrl.push(d.a,{pdDetails:this.pdDetails,purchase:e})},e.prototype.AddExpenseForm=function(){this.navCtrl.push(u.a,{pdDetails:this.pdDetails,expense:null})},e.prototype.editExpenseDetails=function(e){var t=this.businessExpenses_details.filter(function(t){return t.pd_expense_id==e});console.log(t),this.navCtrl.push(u.a,{pdDetails:this.pdDetails,expense:t})},e.prototype.editExpenseAllDetails=function(e){this.navCtrl.push(u.a,{pdDetails:this.pdDetails,expense:e})},e.prototype.AddHouseExpenseForm=function(){this.navCtrl.push(p.a,{pdDetails:this.pdDetails,expense:null})},e.prototype.editHouseExpenseDetails=function(e){var t=this.houseHold_details.filter(function(t){return t.household_expense_id==e});console.log(t),this.navCtrl.push(p.a,{pdDetails:this.pdDetails,expense:t})},e.prototype.editHouseExpenseAllDetails=function(e){this.navCtrl.push(p.a,{pdDetails:this.pdDetails,expense:e})},e.prototype.AddIncomeForm=function(){this.navCtrl.push(f.a,{pdDetails:this.pdDetails,income:null})},e.prototype.editIncomeDetails=function(e){var t=this.busissnessIncome.filter(function(t){return t.pd_business_income_id==e});console.log(t),this.navCtrl.push(f.a,{pdDetails:this.pdDetails,income:t})},e.prototype.editIncomeAllDetails=function(e){this.navCtrl.push(f.a,{pdDetails:this.pdDetails,income:e})},e=h([Object(o.m)({selector:"page-pd-question-assessed-info",template:'\n\n \n \n {{FormName}}\n\n\n \n\n\n\n\n\n\n
\n \n \n \n \n Sales Calculation\n \n \n \n
\n

Sales declared by the customer as the annual sales actually done.

\n \n \n \n
\n \n \n \n \n \n \n
\n \n\n\n\n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n\n \n
\n\n
\n
\n \n
\n \n \x3c!-- --\x3e\n \n \n \n \n Sales Details\n \n \n \n

Sales Details

\n \n \n \n \n

{{"✎"}}

\n
\n
\n \n\n\n \n \n \n\n\n \n
\n \n \n \n \n \n {{salesItem.sales_item}}\n \n \n {{"₹"}} {{salesItem.annual_sale_value}}\n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \n \n Daily Sales Details\n \n \n

Daily Sales Details

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

{{monthwise.salesItem | titlecase}}

\n \n \n {{eachItem.header}}\n
\n \n \n \n {{eachmonthItem.sales_date | date:\'dd-MM-yyyy\'}}\n \n \n {{"₹"}} {{eachmonthItem.sales_value}}\n \n \n \n
\n
\n \n \x3c!-- \n Oct\n 06-05-2018 $5000\n --\x3e\n \n {{monthwise.footerMessage[0].month_message}}
\n {{monthwise.footerMessage[0].year_message}}\n
\n \n \n \n
\n \n \x3c!-- --\x3e\n \n
\n
\n
\n \x3c!-- \n \n --\x3e\n \x3c!-- \n \n \n \n

{{monthSalesItem.salesItem}}

\n
\n
\n \n
{{monthwise.header}}
\n \n {{monthwise.value[0].sales_date | date:\'dd-mm-yyyy\'}}\n \n \n {{"₹"}} {{monthwise.value[0].sales_value}}\n \n \n
\n \n \n
\n \n
--\x3e\n\n
\n
\n \n
\n
\n \n

Purchase Details

\n \n

{{"✎"}}

\n \n \n \n \n \n
\n \n \n \n \n {{purchase.purchase_item}}\n \n \n {{"₹"}} {{purchase.annual_purchase_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

Business Expenses

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{expense.expense_item}}\n \n \n {{"₹"}} {{expense.annual_expenses_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

HouseHold Details

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{houseExepense.expense_item}}\n \n \n {{"₹"}} {{houseExepense.annual_expense_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

Business Income Details

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{busIncome.business_income_item !=\'Others(Please Specify)\'?busIncome.business_income_item:busIncome.other_frequncy_item}}\n \n \n {{"₹"}} {{busIncome.income_value}}\n \n \n
\n
\n \n
\n
\n
\n \n\n\n
'}),_("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},372:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(4),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.fb=o,this.qustCat=a,this.toast=i,this.salesData=[],this.annual=[],this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.grossprofitCalc=this.navParams.get("grossprofit"),this.users=this.aws.getlocale(),this.assessedForm=this.fb.group({salesCalItemwise:this.fb.array([])}),this.salesData=this.navParams.get("sales"),null!=this.salesData?this.getSalesItemData(this.salesData):this.addSalesCal(),this.getdropList()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedSalesPage")},e.prototype.getdropList=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("UOM").subscribe(function(t){1==t.dataStatus&&(e.UOM=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createSalesCal=function(){return this.fb.group({sci_id:[null],fk_pd_id:[this.pdDetails.pd_id],sales_item:[null,s.m.compose([s.m.required])],sales_qty:[null,s.m.compose([s.m.required])],fk_uom_id:[null,s.m.compose([s.m.required])],rate_per_unit:[null,s.m.compose([s.m.required])],fk_frequency_id:[null,s.m.compose([s.m.required])],annual_sale_value:[null],margin_per:[null],margin_per_uom:[null],margin_final_value:[null]})},e.prototype.addSalesCal=function(){if(this.assessedForm.valid){this.assessedForm.get("salesCalItemwise").push(this.createSalesCal())}else this.toast.pdTriggerappmessage("Enter the all fields")},e.prototype.removeSalesCal=function(e){this.annual.splice(e,1),this.grandTotal=this.annual.reduce(function(e,t){return e+t},0),console.log(this.grandTotal);var t=this.assessedForm.get("salesCalItemwise");1==t.length?(t.removeAt(e),this.addSalesCal()):t.removeAt(e)},e.prototype.salecalculat=function(e,t){var n,o=t.value.fk_frequency_id,a=t.value.sales_qty,i=t.value.rate_per_unit;null!=a&&null!=i&&(1==o||(2==o?(this.annual[e]=n=a*i*250,t.controls.annual_sale_value.setValue(n)):3==o?(this.annual[e]=n=a*i,t.controls.annual_sale_value.setValue(n)):4==o||5==o&&(this.annual[e]=n=a*i*12,t.controls.annual_sale_value.setValue(n))),this.grandTotal=this.annual.reduce(function(e,t){return e+t},0)),console.log(this.annual)},e.prototype.getSalesCalc=function(e){var t=e.value.margin_per,n=e.value.margin_per_uom,o=e.value.sales_qty,a="";null==t&&null==n||(null!=t?a=+t/100*+e.value.annual_sale_value:(console.log("else"),a=+o*+n),console.log(a),e.controls.margin_final_value.setValue(a))},e.prototype.saveData=function(e){var t=this,n={records:e.salesCalItemwise};console.log(n),this.qustCat.saveassessedForms("saveAssessedIncomeSalesCalculatedByItemwise",n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})},e.prototype.getSalesItemData=function(e){var t=this;console.log(e);var n=this.assessedForm.get("salesCalItemwise");e.forEach(function(e,o){t.annual[o]=e.annual_sale_value,n.push(t.createSaleswithData(e))}),this.grandTotal=this.annual.reduce(function(e,t){return e+t},0)},e.prototype.createSaleswithData=function(e){return this.fb.group({sci_id:[e.sci_id],fk_pd_id:[this.pdDetails.pd_id],sales_item:[e.sales_item,s.m.compose([s.m.required])],sales_qty:[e.sales_qty,s.m.compose([s.m.required])],fk_uom_id:[e.fk_uom_id,s.m.compose([s.m.required])],rate_per_unit:[e.rate_per_unit,s.m.compose([s.m.required])],fk_frequency_id:[e.fk_frequency_id,s.m.compose([s.m.required])],annual_sale_value:[e.annual_sale_value],margin_per:[e.margin_per],margin_per_uom:[e.margin_per_uom],margin_final_value:[e.margin_final_value]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-sales",template:'\n\n \n \n Item Salas Details\n\n\n \n\n\n\n\n\n
\n
\n
\n \n

Itemwise

\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{frq.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

Grand Total : {{grandTotal}}

\n \n
\n
\n
\n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.c,r.a,l.a])],e)}()},373:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(4),r=n(11),l=n(9),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.constant=s,this.temparr=[],this.tempdate=[],this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.salesDaily=this.navParams.get("salesDaily"),this.grossprofitCalc=this.navParams.get("grossprofit"),this.users=this.aws.getlocale(),this.currentDate=s.getcurrentDate().replace("T00:00",""),console.log(this.currentDate),this.salesDailyForm=this.fb.group({sales_product:this.fb.array([])}),null!=this.salesDaily?this.getDailySalesData(this.salesDaily):this.adddailySalaesProduct()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedDailySalesPage")},e.prototype.createdailysalesProduct=function(){return this.fb.group({sim_id:[null],sales_item:[null,s.m.compose([s.m.required])],child:this.fb.array([]),fk_pd_id:[this.pdDetails.pd_id],margin_per:[null],margin_value:[null],fk_createdby:[this.users],isactive:["1"]})},e.prototype.createdailyChildSaleProduct=function(){return this.fb.group({simc_id:[null],fk_sim_id:[null],sales_date:[null,s.m.compose([s.m.required])],sales_value:[null,s.m.compose([s.m.required])],isactive:["1"]})},e.prototype.getSalesCalc=function(e,t,n){console.log(n);var o=new Date(e.value.sales_date).getMonth()+1,a=t.value.margin_per;if(null!=a&&null!=e.value.sales_value){var i=!1,s=0;if(0!=this.tempdate.length){for(var r=0;r\n\n \n \n Assessed Daily Sales Details\n\n\n \n\n\n\n\n
\n
\n \n
\n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n \n

{{item.get(\'sales_item\').value | titlecase}}

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n \n \n \x3c!-- \n \n --\x3e\n \n \n \n \x3c!-- \n \n --\x3e\n \n \n \n
\n
\n
\n \n\n\n\n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),d("design:paramtypes",[a.r,a.s,i.a,r.a,l.a,s.c,c.a])],e)}()},374:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(9),l=n(7),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.fb=t,this.navParams=n,this.qustCat=o,this.toast=a,this.aws=i,this.annual=[],this.pdDetails=this.navParams.get("pdDetails"),this.purchaseDetails=this.navParams.get("purchase"),this.users=this.aws.getlocale(),this.rawMaterialForm=this.fb.group({purchase:this.fb.array([])}),null!=this.purchaseDetails?this.getpurchaseDetails(this.purchaseDetails):this.addPurchaseDetails(),this.getdropList()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedPurchasePage")},e.prototype.createPurchaseDetails=function(){return this.fb.group({purchase_id:[null],fk_pd_id:[this.pdDetails.pd_id],purchase_item:[null,i.m.compose([i.m.required])],purchase_qty:[null,i.m.compose([i.m.required])],fk_uom_id:[null,i.m.compose([i.m.required])],rate_per_unit:[null,i.m.compose([i.m.required])],fk_frequency_id:[null,i.m.compose([i.m.required])],annual_purchase_value:[null,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e.prototype.getdropList=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("UOM").subscribe(function(t){1==t.dataStatus&&(e.UOM=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("BUSINESSEXPENSES").subscribe(function(t){1==t.dataStatus&&(e.businessExpenses=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.addPurchaseDetails=function(){this.rawMaterialForm.controls.purchase.push(this.createPurchaseDetails())},e.prototype.deletePurchaseDetails=function(e){this.annual.splice(e,1),this.grandpurchaseTotal=this.annual.reduce(function(e,t){return+e+ +t},0);this.rawMaterialForm.controls.purchase.removeAt(e)},e.prototype.salecalculat=function(e,t){console.log(this.grandpurchaseTotal),console.log(t,e);var n=t.value.fk_frequency_id,o=t.value.purchase_qty,a=t.value.rate_per_unit;console.log(n,o,a,e);var i;null!=o&&null!=a?(1==n||(2==n?(this.annual[e]=i=o*a*250,t.controls.annual_purchase_value.setValue(i)):3==n?(this.annual[e]=i=o*a,t.controls.annual_purchase_value.setValue(i)):4==n||5==n&&(this.annual[e]=i=o*a*12,t.controls.annual_purchase_value.setValue(i))),this.grandpurchaseTotal=this.annual.reduce(function(e,t){return+e+ +t},0)):this.toast.pdTriggerappmessage("Enter the Purchase Quantity and UOM")},e.prototype.savepurchaseData=function(e){var t=this;if(this.rawMaterialForm.valid){var n={records:e.purchase};console.log("data",n),this.qustCat.saveassessedForms("saveAssessedIncomePurchaseDetails",n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter All Field")},e.prototype.getpurchaseDetails=function(e){var t=this;console.log("function in",e);var n=this.rawMaterialForm.controls.purchase;console.log(n),0==e.length?(console.log("if"),this.addPurchaseDetails()):(console.log("else"),e.forEach(function(e,o){n.push(t.createPurchasewithData(e)),t.annual[o]=e.annual_purchase_value}),this.grandpurchaseTotal=this.annual.reduce(function(e,t){return+e+ +t},0))},e.prototype.createPurchasewithData=function(e){return this.fb.group({purchase_id:[e.purchase_id],fk_pd_id:[this.pdDetails.pd_id],purchase_item:[e.purchase_item,i.m.compose([i.m.required])],purchase_qty:[e.purchase_qty,i.m.compose([i.m.required])],fk_uom_id:[e.fk_uom_id,i.m.compose([i.m.required])],rate_per_unit:[e.rate_per_unit,i.m.compose([i.m.required])],fk_frequency_id:[e.fk_frequency_id,i.m.compose([i.m.required])],annual_purchase_value:[e.annual_purchase_value,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-purchase",template:'\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 {{uom.name}}\n \n \n
\n
\n \n \n \n
\n
\n \n\n \n {{frq.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

Grand Total:

\n
\n \n

{{grandpurchaseTotal}}

\n
\n
\n
\n \n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,i.c,a.s,s.a,r.a,l.a])],e)}()},375:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.grandExpenseTotal=[],this.expenseannual=[],this.pdDetails=this.navParams.get("pdDetails"),this.expenseDetails=this.navParams.get("expense"),this.users=this.aws.getlocale(),this.BuissnessForm=this.fb.group({busExpense:this.fb.array([])}),null!=this.expenseDetails?this.getBuisnessExpenses(this.expenseDetails):this.addBusinessDetails(),this.getdropdown()}return e.prototype.grandpurchaseTotal=function(e){throw new Error("Method not implemented.")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("BUSINESSEXPENSES").subscribe(function(t){1==t.dataStatus&&(e.businessExpenses=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedBusinessPage")},e.prototype.createBusinessDetails=function(){return this.fb.group({pd_expense_id:[null],fk_pd_id:[this.pdDetails.pd_id],expense_item_id:[null,i.m.compose([i.m.required])],expense_value:[null,i.m.compose([i.m.required])],fk_frequency_id:[null,i.m.compose([i.m.required])],annual_expenses_value:[null,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e.prototype.addBusinessDetails=function(){this.BuissnessForm.controls.busExpense.push(this.createBusinessDetails())},e.prototype.deleteBuisnessDetails=function(e){this.expenseannual.splice(e,1),this.grandExpenseTotal=this.expenseannual.reduce(function(e,t){return+e+ +t},0);this.BuissnessForm.controls.busExpense.removeAt(e)},e.prototype.busExpensecalculat=function(e,t){console.log(t,e);var n,o=t.value.fk_frequency_id,a=t.value.expense_value;null!=a?(1==o||(2==o?(this.expenseannual[e]=n=250*a,t.controls.annual_expenses_value.setValue(n)):3==o?(this.expenseannual[e]=n=a,t.controls.annual_expenses_value.setValue(n)):4==o||5==o&&(this.expenseannual[e]=n=12*a,t.controls.annual_expenses_value.setValue(n))),this.grandExpenseTotal=this.expenseannual.reduce(function(e,t){return+e+ +t},0)):this.toast.pdTriggerappmessage("Enter the Amount and Frequency")},e.prototype.saveBusinessData=function(e){var t=this;if(this.BuissnessForm.valid){var n={records:e.busExpense};console.log("data",n),this.qustCat.saveassessedForms("saveAssessedIncomeBusinessExpenses",n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter The All Field")},e.prototype.getBuisnessExpenses=function(e){var t=this;if(0==e.length)this.addBusinessDetails();else{var n=this.BuissnessForm.controls.busExpense;e.forEach(function(e,o){t.expenseannual[o]=e.annual_expenses_value,n.push(t.createBusinessExpensewithData(e))}),this.grandExpenseTotal=this.expenseannual.reduce(function(e,t){return+e+ +t},0)}},e.prototype.createBusinessExpensewithData=function(e){return this.fb.group({pd_expense_id:[e.pd_expense_id],fk_pd_id:[this.pdDetails.pd_id],expense_item_id:[e.expense_item_id,i.m.compose([i.m.required])],expense_value:[e.expense_value,i.m.compose([i.m.required])],fk_frequency_id:[e.fk_frequency_id,i.m.compose([i.m.required])],annual_expenses_value:[e.annual_expenses_value,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-business",template:'\n\n \n \n Business Expense\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n {{expense.expense_item}}\n \n \n \n \n \n \n \n {{frq.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

Total Business Expenses:

\n
\n \n

{{grandExpenseTotal}}

\n
\n
\n
\n \n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},376:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(9),l=n(11),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.toast=a,this.qustCat=i,this.houseannual=[],this.grandHouseExpenseTotal=[],this.pdDetails=this.navParams.get("pdDetails"),this.houseExpenseDetails=this.navParams.get("FormId"),this.expenseDetails=this.navParams.get("expense"),this.users=this.aws.getlocale(),this.houseHoldForm=this.fb.group({houseExpense:this.fb.array([])}),null!=this.expenseDetails?this.getHouseholdExpense(this.expenseDetails):this.addHouseExpenses(),this.getdropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedHouseholdPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createHouseExpense=function(){return this.fb.group({household_expense_id:[null],fk_pd_id:[this.pdDetails.pd_id],expense_item:[null,i.m.compose([i.m.required])],expense_value:[null,i.m.compose([i.m.required])],fk_frequency_id:[null,i.m.compose([i.m.required])],annual_expense_value:[null,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e.prototype.addHouseExpenses=function(){this.houseHoldForm.controls.houseExpense.push(this.createHouseExpense())},e.prototype.deleteHouseExpense=function(e){this.houseannual.splice(e,1),this.grandHouseExpenseTotal=this.houseannual.reduce(function(e,t){return+e+ +t},0);this.houseHoldForm.controls.houseExpense.removeAt(e)},e.prototype.houseExpensecalculat=function(e,t){var n,o=t.value.fk_frequency_id,a=t.value.expense_value;null!=a?(1==o||(2==o?(this.houseannual[e]=n=250*a,t.controls.annual_expense_value.setValue(n)):3==o?(this.houseannual[e]=n=a,t.controls.annual_expense_value.setValue(n)):4==o||5==o&&(this.houseannual[e]=n=12*a,t.controls.annual_expense_value.setValue(n))),this.grandHouseExpenseTotal=this.houseannual.reduce(function(e,t){return+e+ +t},0),console.log(this.grandHouseExpenseTotal)):this.toast.pdTriggerappmessage("Enter the Amount and Frequency")},e.prototype.saveHouseExpenseData=function(e){var t=this;if(this.houseHoldForm.valid){this.qustCat.saveassessedForms("saveAssessedIncomeHouseholdExpenses",{records:e.houseExpense}).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter The All Field")},e.prototype.getHouseholdExpense=function(e){var t=this;if(0==e.length)this.addHouseExpenses();else{var n=this.houseHoldForm.controls.houseExpense;e.forEach(function(e,o){t.houseannual[o]=e.annual_expense_value,n.push(t.createHouseholdwithData(e))}),this.grandHouseExpenseTotal=this.houseannual.reduce(function(e,t){return+e+ +t},0)}},e.prototype.createHouseholdwithData=function(e){return this.fb.group({household_expense_id:[e.household_expense_id],fk_pd_id:[this.pdDetails.pd_id],expense_item:[e.expense_item,i.m.compose([i.m.required])],expense_value:[e.expense_value,i.m.compose([i.m.required])],fk_frequency_id:[e.fk_frequency_id,i.m.compose([i.m.required])],annual_expense_value:[e.annual_expense_value,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-household",template:'\n\n \n \n House Hold Expense\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n {{frq.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

Total Household Expenses :

\n
\n \n

{{grandHouseExpenseTotal}}

\n
\n
\n
\n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},377:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.m_freqOfPurchase=[],this.grandIncomeTotal=[],this.incomeannual=[],this.pdDetails=this.navParams.get("pdDetails"),this.expenseDetails=this.navParams.get("income"),console.log(this.expenseDetails),this.users=this.aws.getlocale(),this.BuissnessForm=this.fb.group({busIncome:this.fb.array([])}),null!=this.expenseDetails?this.getBuisnessExpenses(this.expenseDetails):this.addBusinessDetails(),this.getdropdown()}return e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("BUSINESSINCOME").subscribe(function(t){1==t.dataStatus&&(e.businessIncome=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedBusinessIncomePage")},e.prototype.createBusinessDetails=function(){return this.fb.group({pd_business_income_id:[null],fk_pd_id:[this.pdDetails.pd_id],business_income_id:[null,i.m.compose([i.m.required])],income_value:[null,i.m.compose([i.m.required])],fk_frequency_id:[null,i.m.compose([i.m.required])],annual_income_value:[null,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users],other_income_item:[null],other_frequncy_item:[null]})},e.prototype.addBusinessDetails=function(){this.BuissnessForm.controls.busIncome.push(this.createBusinessDetails())},e.prototype.deleteBuisnessDetails=function(e){this.incomeannual.splice(e,1),this.grandIncomeTotal=this.incomeannual.reduce(function(e,t){return+e+ +t},0);this.BuissnessForm.controls.busIncome.removeAt(e)},e.prototype.busIncomecalculate=function(e,t){console.log(t,e);var n,o=t.value.fk_frequency_id,a=t.value.income_value;if(null!=a&&null!=a){var i=this.m_freqOfPurchase.filter(function(e){return e.frequency_id==o})[0];1==o?(console.log(i.mutiple_factor),this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):2==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):3==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):4==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):5==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):6==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):7==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):8==o&&(this.incomeannual[e]=n=a,t.controls.annual_income_value.setValue(n)),this.grandIncomeTotal=this.incomeannual.reduce(function(e,t){return+e+ +t},0)}else this.toast.pdTriggerappmessage("Enter the Amount and Frequency")},e.prototype.saveBusinessData=function(e){var t=this;if(this.BuissnessForm.valid){var n={records:e.busIncome};console.log("data",n),this.qustCat.saveassessedForms("saveOtherBusinessIncome",n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter The All Field")},e.prototype.getBuisnessExpenses=function(e){var t=this;if(0==e.length)this.addBusinessDetails();else{var n=this.BuissnessForm.controls.busIncome;e.forEach(function(e,o){t.incomeannual[o]=e.annual_income_value,n.push(t.createBusinessExpensewithData(e))}),this.grandIncomeTotal=this.incomeannual.reduce(function(e,t){return+e+ +t},0)}},e.prototype.createBusinessExpensewithData=function(e){return this.fb.group({pd_business_income_id:[e.pd_business_income_id],fk_pd_id:[this.pdDetails.pd_id],business_income_id:[e.business_income_id,i.m.compose([i.m.required])],income_value:[e.income_value,i.m.compose([i.m.required])],fk_frequency_id:[e.fk_frequency_id,i.m.compose([i.m.required])],annual_income_value:[e.annual_income_value,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users],other_income_item:[e.other_income_item],other_frequncy_item:[e.other_frequncy_item]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-business-income",template:'\n\n \n \n Business Income\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n {{income.business_income_item}}\n \n \n\n \n \n \n \n \n \n \n \n \n {{frq.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

Total Business Income:

\n
\n \n

{{grandIncomeTotal}}

\n
\n
\n
\n \n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},378:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.representativeForm=this.fb.group({pdid:[this.pdDetails.pd_id],formid:[this.FormId.form_id],fk_createdby:[this.users],lender_representative_accompany:["",l.m.compose([l.m.required])],representative_remarks:["",l.m.compose([l.m.required])],lender_representative_details:this.fb.array([])}),this.getLenderReDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionLenderRepresentativePage")},e.prototype.createlenReDetails=function(){return this.fb.group({lender_representative_who_accompanies:["",l.m.compose([l.m.required])],lender_representative_carry_loan_files:["",l.m.compose([l.m.required])]})},e.prototype.selectedLoanChanges=function(e){if("Yes"==e.value){this.representativeForm.controls.lender_representative_details.push(this.createlenReDetails())}else if("No"==e.value){this.representativeForm.controls.lender_representative_details.removeAt(0)}},e.prototype.sumbitData=function(e){var t=this;if(this.representativeForm.valid){this.qustCat.saveForm(this.representativeForm.value).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter All Field")},e.prototype.getLenderReDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(1==t.dataStatus){var n=t.records;if("Yes"==n.lender_representative_accompany){e.representativeForm.controls.lender_representative_accompany.setValue(n.lender_representative_accompany),e.representativeForm.controls.representative_remarks.setValue(n.representative_remarks);var o=Object.keys(t.records.lender_representative_details).map(function(e){return t.records.lender_representative_details[e]});console.log(o);var a=e.representativeForm.controls.lender_representative_details;o.forEach(function(t){a.push(e.createlenReDetails())}),e.representativeForm.controls.lender_representative_details.setValue(o)}else e.representativeForm.controls.lender_representative_accompany.setValue(n.lender_representative_accompany),e.representativeForm.controls.representative_remarks.setValue(n.representative_remarks)}})},e=c([Object(o.m)({selector:"page-pd-question-lender-representative",template:'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n\n\n\n
\n \n \n \n Yes\n No\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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},379:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=n(380),m=n(8),d=n(381),u=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=function(){function e(e,t,n,o,a,i,s){var r=this;this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.modal=s,this.pipe=new m.d("en-US"),this.fetch_related_details=[],this.pd_applicants_details=[],this.OldData=[],this.OldData_indi=[],this.cart=[],this.maxDate=new Date,console.log(this.maxDate),this.pd_applicants_details=[],this.pd_applicants_details.pop(),this.pdDetails=this.navParams.get("pdDetails"),console.log("Full pd",this.pdDetails),this.FormId=this.navParams.get("FormId"),console.log(this.pdDetails),this.users=this.aws.getlocale(),this.getdropdown(),this.getGeneralForm(),this.generalForm=this.fb.group({pdid:this.pdDetails.pd_id,formid:this.FormId.form_id,applicant_list:this.fb.array([]),applicant_relation:this.fb.array([]),list_value:this.fb.array([]),company_value:this.fb.array([]),individuals:this.fb.array([]),companies:this.fb.array([]),persons_with_relationships:this.fb.array([]),company_with_relationships:this.fb.array([]),general_remark:""}),this.pd_applicants_details=this.pdDetails.applicat_details,this.buttonClick=!1,this.h_companies=!1,this.datav=[{name:"fairoj",id:1},{name:"ff",id:2}],this.generalForm.controls.list_value.valueChanges.subscribe(function(e){var t=r.generalForm.controls.list_value;r.individualsList=t.value.filter(function(e){return 1==e.is_applicant}),r.individualsListBothCase=t.value.filter(function(e){return 1==e.is_applicant||1==e.is_person_met}),r.fulldata=t.value,console.log("individualsListBothCase",r.individualsListBothCase)}),this.generalForm.controls.company_value.valueChanges.subscribe(function(e){r.companyList=r.generalForm.controls.company_value.value.filter(function(e){return e.company_name})}),this.i=0}return e.prototype.initlistv=function(e,t){console.log("full data length",this.lengthv.individuals.length),console.log("gne data",e);var n=this.generalForm.controls.list_value;if("ins"==t)for(var o=0,a=e;o0&&e.forEach(function(e){o.push(n.createApplicant(e))}),t.length>0&&t.forEach(function(e){console.log(e),a.push(n.createApplicantRelation(e)),n.fetch_related_details.push(e.applicant_name)})},e.prototype.createApplicant=function(e){return this.fb.group({pd_co_applicant_id:[e.pd_co_applicant_id],applicant_name:[e.applicant_name],company_name:[e.company_name],exist_status:[1==e.exist_status&&e.pd_co_applicant_id>0]})},e.prototype.coapplicantChange=function(e,t,n){var o=this,a=this.generalForm.controls.applicant_relation,i=this.generalForm.controls.applicant_list;if(n.exist_status.value)if(0==n.pd_co_applicant_id.value){var s=this.modal.create(c.a);s.onDidDismiss(function(e){1!=e?e.otherName.forEach(function(e){a.push(o.createApplicantRelation({pd_co_applicant_id:e.pd_co_applicant_id,applicant_name:e.applicant_name,applicant_relation_to:"",relation:"",company_name:"",company_relation:""})),o.fetch_related_details.push(e.applicant_name)}):i.at(t).get("exist_status").setValue(!1)}),s.present()}else{a.push(this.createApplicantRelation({pd_co_applicant_id:n.pd_co_applicant_id.value,applicant_name:n.applicant_name.value,applicant_relation_to:"",relation:"",company_name:n.company_name.value,company_relation:""})),this.fetch_related_details.push(n.applicant_name.value)}else{var r=this.generalForm.controls.applicant_relation,l=r.value.map(function(e){return e.pd_co_applicant_id}).indexOf(n.pd_co_applicant_id.value);if(console.log(l,n.pd_co_applicant_id.value),0!=n.pd_co_applicant_id.value){r.removeAt(l);var m=this.fetch_related_details.indexOf(n.applicant_name.value);this.fetch_related_details.splice(m,1)}else i.at(t).get("exist_status").setValue(!1)}},e.prototype.createApplicantRelation=function(e){return console.log("function in 156"),this.fb.group({pd_co_applicant_id:[e.pd_co_applicant_id],applicant_name:[e.applicant_name],company_name:[e.company_name,e.company_name?l.m.required:l.m.nullValidator],company_relationship:[e.company_relationship],applicant_relation_to:[e.applicant_relation_to,l.m.required],relationship:[e.relationship]})},e.prototype.removereferance=function(e){this.generalForm.controls.applicant_relation.removeAt(e)},e.prototype.ConvertMonthintoYearforBusiness=function(e,t){var n=this.generalForm.get("companies"),o=e%12,a=e/12;(n=n.controls[t]).controls.business_years.setValue(+n.controls.business_years.value+ +Math.floor(a)),n.controls.business_month.setValue(Math.floor(o))},e.prototype.getDateObjects=function(e,t){console.log("Date Change Action",e);var n=this.generalForm.get("companies");n.controls.business_years="",n.controls.business_month="",n=n.controls[t];var o=this.pdDetails.pd_date_of_initiation.split("/").reverse().join("/"),a=this.pipe.transform(e,"yyyy/MM/dd"),i=Date.parse(o)-Date.parse(a),s=Math.floor(i/1e3);s/=2592e3,s=Math.abs(Math.round(s)),n.controls.business_years.setValue(0),n.controls.business_month.setValue(0),s&&(n.controls.business_years.setValue(Math.floor(s/12)),n.controls.business_month.setValue(Math.floor(s%12)))},e.prototype.submitData=function(e){var t=this;console.log("Answer",e);var n={},o=[],a=[];Object.keys(e.list_value).map(function(t){return e.list_value[t]}).forEach(function(e){o.push(e)}),this.OldData_indi.length>0&&this.OldData_indi.forEach(function(e){o.push(e)});Object.keys(e.company_value).map(function(t){return e.company_value[t]}).forEach(function(e){a.push(e)}),this.OldData.length>0&&this.OldData.forEach(function(e){a.push(e)}),n.individuals=o,n.companies=a,n.pdid=e.pdid,n.formid=e.formid,n.fk_createdby=this.users,n.persons_with_relationships=e.persons_with_relationships,n.company_with_relationships=e.company_with_relationships,n.general_remark=e.general_remark,console.log("save Records",n),console.log("saveR",n),console.log("Save",a),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus?(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop()):t.toast.pdTriggerappmessage("Error")})},e.prototype.getGeneralForm=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){e.data_all=t.records;var n;if(e.generalForm.get("companies").controls=[],1==t.dataStatus){console.log("Getting DAta",t),e.lengthv=e.data_all,e.generalForm.controls.general_remark.setValue(e.data_all.general_remark),console.log("1"),e.initlistv(e.data_all.individuals,"get"),console.log("2");var o=[];(n=Object.keys(t.records.companies).map(function(e){return t.records.companies[e]})).length>0&&n.forEach(function(t,n){0!=t.is_active?o.push(t):e.OldData.push(t)}),console.log(n),console.log("Old Data",e.OldData),e.initCompanyValue(o,"get"),console.log("3"),""!=e.data_all.persons_with_relationships&&(console.log("Entering personwithRelation"),e.initPersonRelationship(e.data_all.persons_with_relationships),console.log("4")),""!=e.data_all.company_with_relationships&&(e.initCompanyRelationShip(e.data_all.company_with_relationships),console.log("5"))}else console.log("Error")})},e.prototype.createCompanies=function(e){return this.fb.group({company_order_id:[e.company_order_id],company_name:[e.company_name],company_messrs_name:["M/s"],is_company_applicant:[e.is_company_applicant],business_entity_type:[e.business_entity_type,l.m.required],business_years:[e.business_years,l.m.required],business_month:[e.business_month],business_date_object:[e.business_date_object],is_active:[e.is_active],is_new:[e.is_new]})},e=u([Object(o.m)({selector:"page-pd-question-general-info",template:'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n \n \n
\n \n
Name of individuals
\n \n \n \n

{{item.get(\'applicant_name\').value | titlecase}}

\n

Age : {{item.get(\'age\').value}}  \n {{item.get(\'qualification_name\').value}}

\n \x3c!--

{{item.get(\'qualification\').value}}

--\x3e\n
\n \n \n \n \n

Person

\n \n
\n \n

Applicant

\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n Add individuals\n \n \x3c!--Individual Value add Field--\x3e \n
\n
\n \n \n {{t1.name}}\n \n \n \n \n \n \n

Name is Required

\n \n \n \n

Age is Required

\n \n \n {{qu.qualification_name}} \n \n

Qualification is Required

\n
\n Is Person Met

\n Is Applicant \n \n \n \n \n \n
\n
\n \x3c!-- --\x3e\n
\n
\n
\n \n \x3c!-- \n \n \n Name of Person Met\n
\n \n \n {{applicant.controls.applicant_name.value}}\n \n
\n \n
--\x3e\n \n\x3c!--\n \n \n
1
\n \n \n

Hai skdjfkjdsfkjdsf kjdsf

\n
dsf
\n
dsf
\n
\n \n \n \n \n \n \n \n \n Person Met\n \n \n \n \n
\n
\n
\n
\n--\x3e\n\n \x3c!--Individual Value Display Field--\x3e \n \n \n \n
\n \x3c!--Company Value Display Field--\x3e \n \n
Company/Firm
\n
\n \n
\n \n \x3c!--{{i+1}}--\x3e\n \n

{{item.get(\'company_name\').value | titlecase}}

\n

{{item.get(\'business_entity_type_name\').value}}  

\n

 {{item.get(\'business_years\').value}} Years {{item.get(\'business_month\').value}} Months

\n
\n \n \n \x3c!-- --\x3e\n
\n
\n
\n
\n\n\x3c!--Company Value add Field--\x3e \n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n Add Company/Firm\n \n
\n
\n \n Company / Firm\n \n \n Is Applicant
\n

company name is Required

\n

company name is Required

\n
\n \n \n \n {{business.business_entity_type_name}}\n \n \n \n

Required

\n \n \n \n

Number of Years For Which The Business Has Been Running

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

\n \x3c!-- companies end --\x3e\n\n \x3c!-- Person Relationship Starts Here --\x3e\n \n \n Relationship Between Individuals\n \n \n
\n \n \n
Applicant {{i+1}}
\n \n \n {{name.applicant_name}}\n \n \n \n \n {{member.name}}\n \n \n \n \n Select\n {{rel.applicant_name | titlecase}}\n Not Applicable\n \n \n
\n
\n \n
\n\n \n
\n \n Relationship of Individuals to Company / Firm\n \n
\n
Applicant {{i+1}}
\n \n \n {{name.applicant_name}}\n \n \n \n \n \n {{comrelShip.name }}\n \n \n \n \n \n {{comp.company_name}}\n \n \n \n
\n

\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n\n \n \x3c!--Old Data \n \n
\n
\n {{relation.controls.applicant_name.value}}\n \n \n \n \n\n \n \n Select\n \n {{comrelShip.name | titlecase}}\n \n \n \n\n \n\n \n Select \n \n [disabled]="relation.controls.applicant_name.value == rel" \n {{rel | titlecase}}\n \n \n\n \n \n\n \n \n Select\n \n {{relShip.name | titlecase}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
--\x3e\n
\n',providers:[d.a]}),p("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c,a.p])],e)}()},380:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(0),a=n(5),i=n(4),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t,n,o){this.navCtrl=e,this.navParams=t,this.fb=n,this.viewCtrl=o,this.applicantInfo={pd_co_applicant_id:"0",applicant_name:"",company_name:""},this.otherForm=this.fb.group({otherName:this.fb.array([])}),this.addmore()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionGeneralOtherApplicantPage")},e.prototype.createName=function(e){return this.fb.group({pd_co_applicant_id:[e.pd_co_applicant_id],applicant_name:[e.applicant_name,i.m.required]})},e.prototype.addmore=function(){if(this.otherForm.valid){this.otherForm.controls.otherName.push(this.createName(this.applicantInfo))}},e.prototype.deleteappdata=function(e){var t=this.otherForm.controls.otherName;1==t.length?t.reset():t.removeAt(e)},e.prototype.closeModal=function(){this.viewCtrl.dismiss(1)},e.prototype.submitData=function(e){this.otherForm.valid&&this.viewCtrl.dismiss(this.otherForm.value)},e=s([Object(o.m)({selector:"page-pd-question-general-other-applicant",template:'\n\n \n \n \n \n Other Applicant Details Added\n\n\n \n\n\n\n\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),r("design:paramtypes",[a.r,a.s,i.c,a.y])],e)}()},381:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var o=n(0),a=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},i=function(){function e(){}return e.prototype.transform=function(e,t){var n=t.existRelationList.filter(function(e){return e.relation_to==t.currentApplicantID});if(n.length>0){return e.filter(function(e){return!n.some(function(n){return e.pd_co_applicant_id==t.currentApplicantID||e.pd_co_applicant_id==n.pd_co_applicant_id})})}return e.filter(function(e){return e.pd_co_applicant_id!=t.currentApplicantID})},e=a([Object(o.T)({name:"pdPipe"})],e)}()},382:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.constant=s,this.check_type=[{id:0,type_name:"Neighbourhood"},{id:1,type_name:"Reference Check"}],this.finalRemarksList=[{id:1,name:"Positive"},{id:2,name:"Negative"},{id:3,name:"Insufficient information provided"}],this.amtInWords=[],this.isDisplay=[],this.isDisplay2=[],this.pdDetails=this.navParams.get("pdDetails"),console.log("Pd",this.pdDetails),this.FormId=this.navParams.get("FormId"),this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 2!=e.applicant_type}),this.applicants.push({pd_co_applicant_id:0,applicant_name:"Others"}),this.neighbourhoodForm=this.fb.group({pdid:this.pdDetails.pd_id,formid:this.FormId.form_id,check_type:0,neighbourhood_list:this.fb.array([]),neighbourhood_status:[""],referencecheck_list:this.fb.array([]),neighbour_reference_remark:""}),this.users=this.aws.getlocale(),this.getneighbourhood(),this.getdropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionNeighbourHoodPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("RELATIONWITHBUSINESS").subscribe(function(t){1==t.dataStatus&&(e.relationBusiness=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.frequency=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.inWords=function(e,t){this.amtInWords[t]=this.constant.convertNumberToWords(e.target.value)},e.prototype.keyPress=function(e){var t=String.fromCharCode(e.charCode);8==e.keyCode||/[0-9]/.test(t)||e.preventDefault()},e.prototype.ConvertMonthintoYear=function(e,t,n){if(2==n){var o=t%12,a=t/12;e.controls.year_relation_applicant.setValue(+e.controls.year_relation_applicant.value+ +Math.floor(a)),e.controls.months_relation_applicant.setValue(Math.floor(o))}else if(1==n){o=t%12,a=t/12;e.controls.how_long_do_know_in_year.setValue(+e.controls.how_long_do_know_in_year.value+ +Math.floor(a)),e.controls.how_long_do_know_in_month.setValue(Math.floor(o))}},e.prototype.toggleVisibility=function(e,t,n){console.log(e,t);1==n?this.isDisplay[t]=e:2==n&&(this.isDisplay2[t]=e)},e.prototype.checkOthers=function(e){return console.log("check other value",e),null!=e&&0==e},e.prototype.createreferance=function(){return this.fb.group({reference_name:[null],mobile:["",l.m.compose([l.m.minLength(10),l.m.maxLength(10)])],statecode:[null],landline:[null],location:[null],relationship_with:[null],others:[null],year_relation_applicant:[null],months_relation_applicant:[null],business_volume_amount:[null],business_volume_unit:[null],others_unit:[null],reference_final_remarks:[null],specify_final_remark:[null]})},e.prototype.addreferance=function(){this.neighbourhoodForm.controls.referencecheck_list.push(this.createreferance())},e.prototype.removereferance=function(e){var t=this.neighbourhoodForm.controls.referencecheck_list;1==t.length?t.reset():t.removeAt(e)},e.prototype.createNeighbourhood=function(){return this.fb.group({neighbourhood_name:[null],do_know:[""],how_long_do_know_in_year:[""],how_long_do_know_in_month:[""],organisation_owner:[""],is_applicant_owner:[""],other_organisation_owner:[""],did_not_know_the_business_operation:[""],did_not_know_the_owner:[""]})},e.prototype.addneighbourhood=function(){this.neighbourhoodForm.controls.neighbourhood_list.push(this.createNeighbourhood())},e.prototype.removeneighbourhood=function(e){var t=this.neighbourhoodForm.controls.neighbourhood_list;1==t.length?t.reset():t.removeAt(e)},e.prototype.submitData=function(e){var t=this;console.log(e);var n={},o=[],a=[];0==e.check_type?(e.neighbourhood_list.forEach(function(e,t){a.push({neighbourhood_name:e.neighbourhood_name,do_know:e.do_know,how_long_do_know_in_year:e.how_long_do_know_in_year,how_long_do_know_in_month:e.how_long_do_know_in_month,is_applicant_owner:e.is_applicant_owner,organisation_owner:e.organisation_owner,other_organisation_owner:e.other_organisation_owner,did_not_know_the_business_operation:e.did_not_know_the_business_operation,did_not_know_the_owner:e.did_not_know_the_owner})}),n.neighbourhood_list=a):(e.referencecheck_list.forEach(function(e,t){o.push({reference_name:e.reference_name,mobile:e.mobile,landline:e.statecode+"-"+e.landline,location:e.location,relationship_with:e.relationship_with,others:e.others,year_relation_applicant:e.year_relation_applicant,months_relation_applicant:e.months_relation_applicant,business_volume_amount:e.business_volume_amount,business_volume_unit:e.business_volume_unit,others_unit:e.others_unit,reference_final_remarks:e.reference_final_remarks,specify_final_remark:e.specify_final_remark})}),n.referencecheck_list=o),n.pdid=e.pdid,n.formid=e.formid,n.check_type=e.check_type,n.fk_createdby=this.users,n.neighbourhood_status=e.neighbourhood_status,n.neighbour_reference_remark=e.neighbour_reference_remark,console.log(n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})},e.prototype.getneighbourhood=function(){var e=this,t=this.neighbourhoodForm.controls.referencecheck_list,n=this.neighbourhoodForm.controls.neighbourhood_list;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(o){if(1==o.dataStatus){var a=o.records;if(console.log("neighbour Status",a),0==a.check_type){e.neighbourhoodForm.controls.check_type.setValue(a.check_type),e.neighbourhoodForm.controls.neighbour_reference_remark.setValue(a.neighbour_reference_remark),e.neighbourhoodForm.controls.neighbourhood_status.setValue(a.neighbourhood_status);var i=Object.keys(o.records.neighbourhood_list).map(function(e){return o.records.neighbourhood_list[e]});console.log("data"),i.forEach(function(t,o){e.toggleVisibility(t.did_not_know_the_business_operation,o,1),e.toggleVisibility(t.did_not_know_the_owner,o,2),n.push(e.createNeighbourhood())}),e.neighbourhoodForm.controls.neighbourhood_list.setValue(i)}else e.addneighbourhood();if(1==a.check_type){var s=Object.keys(o.records.referencecheck_list).map(function(e){return o.records.referencecheck_list[e]});console.log(s),e.neighbourhoodForm.controls.check_type.setValue(a.check_type),e.neighbourhoodForm.controls.neighbour_reference_remark.setValue(a.neighbour_reference_remark),s.forEach(function(n,o){var a=n.landline.search("-");s[o].statecode=n.landline.substr(0,a),console.log(n),s[o].landline=n.landline.substr(+a+1,8),t.push(e.createreferance()),e.amtInWords[o]=e.constant.convertNumberToWords(n.business_volume_amount)}),console.log(s),e.neighbourhoodForm.controls.referencecheck_list.setValue(s)}else e.addreferance()}else e.addneighbourhood(),e.addreferance()})},e=m([Object(o.m)({selector:"page-pd-question-neighbour-hood",template:'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n
\n \n Please Select the type\n \n {{types.type_name}}\n \n \n\n \n
\n
\n \n Neighbour Details #{{n+1}}\n \n \n \n \n \n \n Yes\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 {{list.applicant_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 Positive\n Negative\n \n \n
\n
\n\n \n\n
\n
\n \n Reference Details #{{r+1}}\n \n \n \n \n \n \n Enter Valid Mobile Number. \n \n \n \n

Enter valid Mobile Number

\n

Landline Number

\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n Select\n \n {{relationship.relation_with_business_name | titlecase}}\n \n \n \n \n \n \n

Period of Relationship

\n \n \n \n \n \n \n \n \n {{amtInWords[r]}}\n \n \n \n Select\n \n {{volume.name | titlecase}}\n \n \n \n \n \n \n \n \n Select\n {{rem.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 \x3c!-- --\x3e\n \n
\n
'}),d("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c,c.a])],e)}()},383:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustcat=o,this.aws=a,this.toast=i,this.m_remarkTypeCustomerBehaviour=[],this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,this.FormId=this.navParams.get("FormId"),this.users=a.getlocale(),console.log("form Id",this.FormId),this._finalRemarkForm=this.fb.group({fk_createdby:[this.users],pdid:[this.pdid],formid:[this.FormId.form_id],final_custormer_remark_type:[null],final_other_customer_behaviour:[null],is_service_provided:[null],final_form_remarks:[null]}),this.getDropDown(),this.getFinalRemark()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionFinalRemarkPage")},e.prototype.getDropDown=function(){var e=this;this.qustcat.getcommondrop("CUSTOMERBEHAVIOUR").subscribe(function(t){console.log("drop",t),e.m_remarkTypeCustomerBehaviour=t.records.filter(function(e){return 1==e.isactive})})},e.prototype.getFinalRemark=function(){var e=this;this.qustcat.retiverForm({pd_id:this.pdid,pd_form_id:this.FormId.form_id}).subscribe(function(t){1==t.dataStatus&&(console.log("Data get",t.records),e._finalRemarkForm.controls.final_custormer_remark_type.setValue(t.records.final_custormer_remark_type),e._finalRemarkForm.controls.final_other_customer_behaviour.setValue(t.records.final_other_customer_behaviour),e._finalRemarkForm.controls.is_service_provided.setValue(t.records.is_service_provided),e._finalRemarkForm.controls.final_form_remarks.setValue(t.records.final_form_remarks))})},e.prototype.saveFinalRemark=function(){var e=this;if(!this._finalRemarkForm.invalid){var t=this._finalRemarkForm.value;Object.keys(t).forEach(function(e){return null==t[e]&&delete t[e]}),console.log(JSON.stringify(t)),this.qustcat.saveForm(t).subscribe(function(t){1==t.dataStatus?(e.toast.pdTriggerappmessage("Record Saved Successfully"),e.navCtrl.pop()):e.toast.pdTriggerappmessage("Sorry!! Something Went Wrong")})}},e=c([Object(o.m)({selector:"page-pd-question-final-remark",template:'\x3c!--\n Generated template for the PdQuestionFinalRemarkPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \n {{FormId.form_name}}\n \n\n\n\n\n\n
\n \n \n \n \n {{pm.description}}\n \n \n \n \n \n \n \n \n \n Location\n
\n \n \n \n Well Suited.\n Fairly Suited\n Not Suited\n \n \n \n
\n \n \n Remarks\n \n \n \n \n \n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,r.a,s.a,l.a])],e)}()},384:function(e,t,n){"use strict";n.d(t,"a",function(){return p});var o=n(0),a=n(5),i=n(11),s=n(199),r=n(200),l=n(385),c=n(386),m=n(387),d=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=function(){function e(e,t,n){this.navCtrl=e,this.navParams=t,this.qustCat=n,this.pdDetails=[],this.existCompanyList=[],this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.getCompanyListForBusiness()}return e.prototype.getCompanyListForBusiness=function(){var e=this;this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(function(t){t.dataStatus?(e.existCompanyList=t.records.filter(function(e){return e.is_active&&!0===e.is_company_applicant}),e.waitLoading=!0):e.waitLoading=!1})},e.prototype.OnSelectBusinessGroupForms=function(e,t){this.pdDetails.company_id=t.company_order_id,this.pdDetails.company_name=t.company_name,this.pdDetails.business_entity_type=t.business_entity_type,this.pdDetails.business_entity_type_other=t.business_entity_type_other,this.pdDetails.business_years=t.business_years,this.pdDetails.business_month=t.business_month,1==e.form_id&&(this.navCtrl.push(s.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),2==e.form_id&&(this.navCtrl.push(r.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),13==e.form_id&&(this.navCtrl.push(l.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),14==e.form_id&&(this.navCtrl.push(s.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),15==e.form_id&&(this.navCtrl.push(s.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),21==e.form_id&&(this.navCtrl.push(m.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),22==e.form_id&&(this.navCtrl.push(c.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id))},e=d([Object(o.m)({selector:"page-pd-question-business-group",template:'\x3c!--\n Generated template for the PdQuestionBusinessGroupPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \x3c!-- pdQuestionBusinessGroup --\x3e\n {{FormId.form_name}}\n \n\n\n\n\n\n \n \n \n \n {{companyList.company_name}}\n \n \n \n \n {{quesIndex+1}}\n \n
\n

{{ formButton.form_name }}

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

Business Related Information is Not Available.Please Check General Information

\n \n
\n
\n'}),u("design:paramtypes",[a.r,a.s,i.a])],e)}()},385:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(9),r=n(11),l=n(4),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.toast=o,this.qustCat=a,this.fb=i,this.cons=s,this.stateList=[],this.businessEntityTypeList={business_entity_type_id:String,business_entity_type_name:String,sourcsection_labeleName:String},this.relationData=[],this.industryData=[],this.activityData=[],this.companyRelationShipList=[],this.countryDataList=[],this.filterCityList=[],this.errorMessage=[],this.titleData=[],this.personsList=[],this.ExportFlag=!1,this.ManufacturingCounterArray=[],this.RetailCounterArray=[],this.WholeSaleCounterArray=[],this.ServiceCounterArray=[],this.getStateCityDet(),this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,console.log("pdDetails",this.pdDetails),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.applicants=this.pdDetails.applicat_details,this.generalExistEntityType=this.pdDetails.business_entity_type,this.generalExistEntityType_other=this.pdDetails.business_entity_type_other,this.generalExistBusinessYear=this.pdDetails.business_years,this.step=0,this.businessForm=this.fb.group({fk_createdby:[this.users],pdid:[this.pdid],formid:[this.FormId],company_id:this.pdDetails.company_id,partners:this.fb.array([]),persons_with_relationships:this.fb.array([]),select_business_activity_type:this.fb.array([]),manufacturing_activity_details:this.fb.array([]),retail_trading_activity_details:this.fb.array([]),wholesale_trading_activity_details:this.fb.array([]),service_provider_activity_details:this.fb.array([]),others_activity_details:this.fb.array([]),export_sale_of_total_sales:[""],seasonality:[""],employees_total:["",l.m.compose([l.m.required])],employees_permanent:["",l.m.compose([l.m.required])],employees_temporary:["",l.m.compose([l.m.required])],employees_appx_salary:[""],was_the_company_name_board_sighted:["",l.m.compose([l.m.required])],officer_total:["",l.m.compose([l.m.required])],shop_eat_act_cert:[""],gst_Regn_cert:[""],pf_regn:[""],esic_regn:[""],other_documents:[""],documents:this.fb.array([]),business_remarks:[""]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBusinessInfoPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("RELATIONSHIPS").subscribe(function(t){t.records.forEach(function(t){1==t.isactive&&e.relationData.push(t)})}),this.qustCat.getcommondrop("INDUSTRYCLASSIFICATION").subscribe(function(t){t.records.forEach(function(t){1==t.isactive&&e.industryData.push(t)})}),this.qustCat.getcommondrop("TYPEOFACTIVITY").subscribe(function(t){t.records.forEach(function(t){1==t.isactive&&e.activityData.push(t)})}),this.qustCat.getcommondrop("BUSINESSENTITYTYPE").subscribe(function(t){var n=t.records.filter(function(t){return t.business_entity_type_id==e.generalExistEntityType});e.businessEntityTypeList.business_entity_type_id=1==n[0].business_entity_type_id,e.businessEntityTypeList.business_entity_type_name=1!=n[0].business_entity_type_id?n[0].business_entity_type_name:e.generalExistEntityType_other,e.businessEntityTypeList.section_label=1!=n[0].business_entity_type_id?n[0].section_label:e.generalExistEntityType_other}),this.qustCat.getcommondrop("COMPANYRELATIONSHIPS").subscribe(function(t){e.companyRelationShipList=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getcommondrop("COUNTRY").subscribe(function(t){e.countryDataList=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getcommondrop("TITLES").subscribe(function(t){e.titleData=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getAllPersonsName(this.pdid).subscribe(function(t){t.dataStatus&&(console.log("Person List",t),e.personsList=t.record.filter(function(e){return 1==e.applicant_type}),console.log("Person List",e.personsList))})},e.prototype.getStateCityDet=function(){var e=this;this.qustCat.getStateCityDetails().subscribe(function(t){e.stateList=t.records,e.getdropdown(),e.getDetails()})},e.prototype.getDetails=function(){var e=this,t={};t.pd_id=this.pdid,t.pd_form_id=13,t.company_id=this.pdDetails.company_id,this.qustCat.retiverForm(t).subscribe(function(t){var n=t.records,o=e.businessForm.controls.partners,a=e.businessForm.controls.persons_with_relationships,i=e.businessForm.controls.select_business_activity_type,s=e.businessForm.controls.manufacturing_activity_details,r=e.businessForm.controls.retail_trading_activity_details,c=e.businessForm.controls.wholesale_trading_activity_details,m=e.businessForm.controls.service_provider_activity_details,d=e.businessForm.controls.others_activity_details,u=e.businessForm.controls.documents;if(200==t.status){var p=void 0,f=Object.keys(t.records.partners).map(function(e){return t.records.partners[e]});0==f.length?o.push(e.createPartners()):f.forEach(function(t,n){o.push(e.createPartners()),"Others"==t.partner_name&&o.controls[n].addControl("partner_other_name",new l.d("",l.m.required)),parseInt(t.total_business_experiance)>parseInt(t.current_business_experiance_year)?o.controls[n].addControl("total_business_previous_experience",new l.d("",l.m.required)):o.controls[n].removeControl("total_business_previous_experience")});var h=Object.keys(t.records.persons_with_relationships).map(function(e){return t.records.persons_with_relationships[e]});0==h.length?a.push(e.createRelationShip()):h.forEach(function(t,n){a.push(e.createRelationShip())}),"yes"==t.records.other_documents?(p=Object.keys(t.records.documents).map(function(e){return t.records.documents[e]})).forEach(function(t){u.push(e.createDocument())}):(p=[{document:""}],u.push(e.createDocument())),n.pdid=e.pdid,n.formid=13,n.company_id=e.pdDetails.company_id,n.fk_createdby=e.users,n.partners=f,n.persons_with_relationships=h,n.documents=p,n.employees_appx_salary&&(e.appxSalaryAmtInwords=e.cons.convertNumberToWords(n.employees_appx_salary)),console.log("pa",e.businessForm.controls.partners.controls);var _=e.activityData.map(function(e){return{name:e.name,type_of_activity_id:e.type_of_activity_id}}),g=[];t.records.select_business_activity_type&&(g=Object.keys(t.records.select_business_activity_type).map(function(e){return t.records.select_business_activity_type[e].type_of_activity_id}));var v=_.map(function(e){return e.type_of_activity_id}).map(function(e,t){return g.indexOf(e)<0?(_[t].exist_status=0,_[t]):(_[t].exist_status=1,_[t])}).filter(function(e){return void 0!=e});if(v.length>0&&(v.forEach(function(t,n){i.push(e.createBusinessActivity(t))}),n.select_business_activity_type=v),t.records.manufacturing_activity_details){var y=Object.keys(t.records.manufacturing_activity_details).map(function(e){return t.records.manufacturing_activity_details[e]});y.length>0?(y.length>0?e.businessForm.addControl("export_import_cert",new l.d("",l.m.required)):e.businessForm.removeControl("export_import_cert"),y.length>0?e.businessForm.addControl("factory_cert",new l.d("",l.m.required)):e.businessForm.removeControl("factory_cert"),y.forEach(function(t,n){s.push(e.manufactureDetails()),"Within India"==t.area_of_sale?(s.controls[n].addControl("india_where_sale_done",e.fb.array([])),s.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),t.india_where_sale_done.forEach(function(t,o){s.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),s.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.max_sale_state_name.forEach(function(t,o){s.controls[n].get("max_sale_state_name").push(e.maxSaleState())})):"Export"==t.area_of_sale?(s.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){s.controls[n].get("countries_where_export_done").push(e.createCountrySale())})):"Both"==t.area_of_sale&&(s.controls[n].addControl("india_where_sale_done",e.fb.array([])),s.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),s.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.india_where_sale_done.forEach(function(t,o){s.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),t.max_sale_state_name.forEach(function(t,o){s.controls[n].get("max_sale_state_name").push(e.maxSaleState())}),s.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){s.controls[n].get("countries_where_export_done").push(e.createCountrySale())}))}),n.manufacturing_activity_details=y):n.manufacturing_activity_details=[]}else n.manufacturing_activity_details=[];if(t.records.retail_trading_activity_details){var b=Object.keys(t.records.retail_trading_activity_details).map(function(e){return t.records.retail_trading_activity_details[e]});b.length>0?(b.length>0?e.businessForm.addControl("export_import_cert",new l.d("",l.m.required)):e.businessForm.removeControl("export_import_cert"),b.length>0?e.businessForm.addControl("applicant_use_mobile_wallets",new l.d("")):e.businessForm.removeControl("applicant_use_mobile_wallets"),b.length>0?e.businessForm.addControl("applicant_use_pos_machines",new l.d("")):e.businessForm.removeControl("applicant_use_pos_machines"),b.forEach(function(t,n){r.push(e.manufactureDetails()),"Within India"==t.area_of_sale?(r.controls[n].addControl("india_where_sale_done",e.fb.array([])),r.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),t.india_where_sale_done.forEach(function(t,o){r.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),r.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.max_sale_state_name.forEach(function(t,o){r.controls[n].get("max_sale_state_name").push(e.maxSaleState())})):"Export"==t.area_of_sale?(r.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){r.controls[n].get("countries_where_export_done").push(e.createCountrySale())})):"Both"==t.area_of_sale&&(r.controls[n].addControl("india_where_sale_done",e.fb.array([])),r.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),r.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.india_where_sale_done.forEach(function(t,o){r.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),t.max_sale_state_name.forEach(function(t,o){r.controls[n].get("max_sale_state_name").push(e.maxSaleState())}),r.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){r.controls[n].get("countries_where_export_done").push(e.createCountrySale())}))}),n.retail_trading_activity_details=b):n.retail_trading_activity_details=[]}else n.retail_trading_activity_details=[];if(console.log("retail finish"),t.records.wholesale_trading_activity_details){var w=Object.keys(t.records.wholesale_trading_activity_details).map(function(e){return t.records.wholesale_trading_activity_details[e]});w.length>0?(w.length>0?e.businessForm.addControl("export_import_cert",new l.d("",l.m.required)):e.businessForm.removeControl("export_import_cert"),w.length>0?e.businessForm.addControl("applicant_use_mobile_wallets",new l.d("")):e.businessForm.removeControl("applicant_use_mobile_wallets"),w.length>0?e.businessForm.addControl("applicant_use_pos_machines",new l.d("")):e.businessForm.removeControl("applicant_use_pos_machines"),w.forEach(function(t,n){c.push(e.manufactureDetails()),"Within India"==t.area_of_sale?(c.controls[n].addControl("india_where_sale_done",e.fb.array([])),c.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),t.india_where_sale_done.forEach(function(t,o){c.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),c.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.max_sale_state_name.forEach(function(t,o){c.controls[n].get("max_sale_state_name").push(e.maxSaleState())})):"Export"==t.area_of_sale?(c.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){c.controls[n].get("countries_where_export_done").push(e.createCountrySale())})):"Both"==t.area_of_sale&&(c.controls[n].addControl("india_where_sale_done",e.fb.array([])),c.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),c.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.india_where_sale_done.forEach(function(t,o){c.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),t.max_sale_state_name.forEach(function(t,o){c.controls[n].get("max_sale_state_name").push(e.maxSaleState())}),c.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){c.controls[n].get("countries_where_export_done").push(e.createCountrySale())}))}),n.wholesale_trading_activity_details=w):n.wholesale_trading_activity_details=[]}else n.wholesale_trading_activity_details=[];if(console.log("whole Sale finish"),t.records.service_provider_activity_details){var x=Object.keys(t.records.service_provider_activity_details).map(function(e){return t.records.service_provider_activity_details[e]});x.length>0?(x.length>0?e.businessForm.addControl("practice_cert",new l.d("",l.m.required)):e.businessForm.removeControl("practice_cert"),x.length>0?e.businessForm.addControl("applicant_use_mobile_wallets",new l.d("")):e.businessForm.removeControl("applicant_use_mobile_wallets"),x.length>0?e.businessForm.addControl("applicant_use_pos_machines",new l.d("")):e.businessForm.removeControl("applicant_use_pos_machines"),x.forEach(function(t,n){m.push(e.manufactureDetails()),"Within India"==t.area_of_sale?(m.controls[n].addControl("india_where_sale_done",e.fb.array([])),m.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),t.india_where_sale_done.forEach(function(t,o){m.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),m.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.max_sale_state_name.forEach(function(t,o){m.controls[n].get("max_sale_state_name").push(e.maxSaleState())})):"Export"==t.area_of_sale?(m.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){m.controls[n].get("countries_where_export_done").push(e.createCountrySale())})):"Both"==t.area_of_sale&&(m.controls[n].addControl("india_where_sale_done",e.fb.array([])),m.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),m.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.india_where_sale_done.forEach(function(t,o){m.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),t.max_sale_state_name.forEach(function(t,o){m.controls[n].get("max_sale_state_name").push(e.maxSaleState())}),m.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){m.controls[n].get("countries_where_export_done").push(e.createCountrySale())}))}),n.service_provider_activity_details=x):(n.service_provider_activity_details=[],console.log("no data"))}else n.service_provider_activity_details=[];if(console.log("Service finish"),t.records.others_activity_details){var C=Object.keys(t.records.others_activity_details).map(function(e){return t.records.others_activity_details[e]});C.length>0?(C.forEach(function(t,n){d.push(e.createOthersActivity())}),n.others_activity_details=C):n.others_activity_details=[]}else n.others_activity_details=[];console.log("Others finish"),t.dataStatus&&"YES"==t.records.seasonality.toUpperCase()&&(e.businessForm.addControl("peak_period_of_business",new l.d("",l.m.required)),e.businessForm.addControl("month_of_business_run",new l.d("",l.m.required))),console.log("Seasonality"),console.log("inserting.."),console.log("businessVal",n),e.businessForm.setValue(n),console.log("Finish")}else{o.push(e.createPartners());var D=e.activityData.map(function(e){return{name:e.name,type_of_activity_id:e.type_of_activity_id,exist_status:0}});D.length>0&&D.forEach(function(t){i.push(e.createBusinessActivity(t))})}}),this.businessForm.controls.seasonality.valueChanges.subscribe(function(t){"YES"==t.toUpperCase()?e.businessForm.addControl("peak_period_of_business",new l.d("",l.m.required)):e.businessForm.removeControl("peak_period_of_business"),"YES"==t.toUpperCase()?e.businessForm.addControl("month_of_business_run",new l.d("",l.m.required)):e.businessForm.removeControl("month_of_business_run")})},e.prototype.filterCity=function(e,t){if(t){var n=this.stateList.filter(function(e){return e.state_id==t});return n.length>0?n[0].cities:[]}},e.prototype.filterMaxSaleState=function(e,t){if(this.filterCityList=t,t){var n=e.map(function(e){return e.state_id}),o=[];return(o=t.filter(function(e){return e.state_name}).map(function(e){return e.state_name}).map(function(t){var o=n.indexOf(t);return e[o]})).length>0?o:[]}},e.prototype.filterMaxSaleCities=function(e,t,n){var o=n.filter(function(e){return""!=e.city_name}).map(function(e){return e.city_name});if(o=[].concat.apply([],o),t){var a=e.map(function(e){return e.state_id}),i=t.map(function(t){var n=a.indexOf(t);return n=e[n].cities}),s=[].concat.apply([],i);if(s.length>0){return s.filter(function(e){return o.some(function(t){return e.city_id==t})})}return[]}return[]},e.prototype.checkTotalEmployee=function(e){this.businessForm.controls.employees_total.setValue((+e.value.employees_permanent||0)+(+e.value.employees_temporary||0))},e.prototype.checkWithExistBusinessYear=function(e,t){this.errorMessage[t]=e>this.generalExistBusinessYear?"Higher than Business Vintage":""},e.prototype.changeBusinessActivity=function(e){if(1==e.value.exist_status&&2==e.value.type_of_activity_id){this.ManufacturingChecked=e.value.exist_status;(t=this.businessForm.controls.manufacturing_activity_details).controls=[],t.setValue([]),console.log("true")}else if(0==e.value.exist_status&&2==e.value.type_of_activity_id){this.ManufacturingChecked=e.value.exist_status;var t;(t=this.businessForm.controls.manufacturing_activity_details).push(this.manufactureDetails())}if(1==e.value.exist_status&&3==e.value.type_of_activity_id){this.RetailedChecked=e.value.exist_status;(n=this.businessForm.controls.retail_trading_activity_details).controls=[],n.setValue([])}else if(0==e.value.exist_status&&3==e.value.type_of_activity_id){this.RetailedChecked=e.value.exist_status;var n;(n=this.businessForm.controls.retail_trading_activity_details).push(this.manufactureDetails())}if(1==e.value.exist_status&&4==e.value.type_of_activity_id){this.WholeSalesChecked=e.value.exist_status;(o=this.businessForm.controls.wholesale_trading_activity_details).controls=[],o.setValue([])}else if(0==e.value.exist_status&&4==e.value.type_of_activity_id){this.WholeSalesChecked=e.value.exist_status;var o;(o=this.businessForm.controls.wholesale_trading_activity_details).push(this.manufactureDetails())}if(1==e.value.exist_status&&5==e.value.type_of_activity_id){this.ServiceChecked=e.value.exist_status;(a=this.businessForm.controls.service_provider_activity_details).controls=[],a.setValue([])}else if(0==e.value.exist_status&&5==e.value.type_of_activity_id){this.ServiceChecked=e.value.exist_status;var a;(a=this.businessForm.controls.service_provider_activity_details).push(this.manufactureDetails())}if(1==e.value.exist_status&&1==e.value.type_of_activity_id){(i=this.businessForm.controls.others_activity_details).controls=[],i.setValue([])}else if(0==e.value.exist_status&&1==e.value.type_of_activity_id){var i;(i=this.businessForm.controls.others_activity_details).push(this.createOthersActivity())}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 l.d(this.businessForm.value.export_import_cert,l.m.required)):this.businessForm.removeControl("export_import_cert"),this.businessForm.value.manufacturing_activity_details.length>0?this.businessForm.addControl("factory_cert",new l.d(this.businessForm.value.factory_cert,l.m.required)):this.businessForm.removeControl("factory_cert"),this.businessForm.value.service_provider_activity_details.length>0?this.businessForm.addControl("practice_cert",new l.d(this.businessForm.value.practice_cert,l.m.required)):this.businessForm.removeControl("practice_cert"),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 l.d(this.businessForm.value.applicant_use_mobile_wallets)):this.businessForm.removeControl("applicant_use_mobile_wallets"),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 l.d(this.businessForm.value.applicant_use_pos_machines)):this.businessForm.removeControl("applicant_use_pos_machines"),this.ManufacturingChecked&&this.RetailedChecked&&this.WholeSalesChecked&&this.ServiceChecked&&(this.ExportFlag=!1)},e.prototype.changeManufacturingAreaSale=function(e,t){var n=this.businessForm.get("manufacturing_activity_details");"Within India"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"Export"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()]))):"Both"==e.value.area_of_sale&&(n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()])))},e.prototype.changeRetailAreaSale=function(e,t){var n=this.businessForm.get("retail_trading_activity_details");"Within India"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"Export"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()]))):"Both"==e.value.area_of_sale&&(n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()])))},e.prototype.changeWholesaleAreaSale=function(e,t){var n=this.businessForm.get("wholesale_trading_activity_details");"Within India"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"Export"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()]))):"Both"==e.value.area_of_sale&&(n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()])))},e.prototype.changeServiceArea=function(e,t){var n=this.businessForm.get("service_provider_activity_details");"Within India"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"Export"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()]))):"Both"==e.value.area_of_sale&&(n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()])))},e.prototype.changePanIndiaOptions=function(e,t,n){if(1==e){(o=this.businessForm.get("manufacturing_activity_details")).controls[t].removeControl("india_where_sale_done"),o.controls[t].removeControl("max_sale_state_name"),"Yes"==n?(console.log("clicked yes"),o.controls[t].addControl("india_where_sale_done",this.fb.array([])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"No"==n&&(o.controls[t].addControl("india_where_sale_done",this.fb.array([this.indiaSalesDone()])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])))}else if(2==e){(o=this.businessForm.get("retail_trading_activity_details")).controls[t].removeControl("india_where_sale_done"),o.controls[t].removeControl("max_sale_state_name"),"Yes"==n?(o.controls[t].addControl("india_where_sale_done",this.fb.array([])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"No"==n&&(o.controls[t].addControl("india_where_sale_done",this.fb.array([this.indiaSalesDone()])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])))}else if(3==e){(o=this.businessForm.get("wholesale_trading_activity_details")).controls[t].removeControl("india_where_sale_done"),o.controls[t].removeControl("max_sale_state_name"),"Yes"==n?(o.controls[t].addControl("india_where_sale_done",this.fb.array([])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"No"==n&&(o.controls[t].addControl("india_where_sale_done",this.fb.array([this.indiaSalesDone()])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])))}else if(4==e){var o;(o=this.businessForm.get("service_provider_activity_details")).controls[t].removeControl("india_where_sale_done"),o.controls[t].removeControl("max_sale_state_name"),"Yes"==n?(o.controls[t].addControl("india_where_sale_done",this.fb.array([])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"No"==n&&(o.controls[t].addControl("india_where_sale_done",this.fb.array([this.indiaSalesDone()])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])))}},e.prototype.changePartnerGroup=function(e,t){var n=this.businessForm.get("partners");"Others"==e?n.controls[t].addControl("partner_other_name",new l.d("",l.m.required)):n.controls[t].removeControl("partner_other_name")},e.prototype.createDesignation=function(){return this.fb.group({sec_name:["",l.m.compose([l.m.required])],sec_designation:["",l.m.compose([l.m.required])]})},e.prototype.keyPress=function(e){var t=String.fromCharCode(e.charCode);8==e.keyCode||/[0-9]/.test(t)||e.preventDefault()},e.prototype.getWorkExperience=function(e,t){var n=""==e.current_business_experiance_year?0:parseInt(e.current_business_experiance_year),o=""==e.total_business_experiance?0:parseInt(e.total_business_experiance),a=this.businessForm.get("partners");o>n?a.controls[t].addControl("total_business_previous_experience",new l.d("",l.m.required)):a.controls[t].removeControl("total_business_previous_experience")},e.prototype.ConvertMonthintoYear=function(e,t){var n=t%12,o=t/12;e.controls.current_business_experiance_year.setValue(+e.controls.current_business_experiance_year.value+ +Math.floor(o)),e.controls.current_business_experiance_month.setValue(Math.floor(n))},e.prototype.createPartners=function(){return this.fb.group({partner_name:["",l.m.compose([l.m.required])],shareholding:[""],started_business:[""],current_business_experiance_year:[""],current_business_experiance_month:[""],total_business_experiance:[""],total_business_previous_experience:[""]})},e.prototype.createRelationShip=function(){return this.fb.group({family_member_salutation:[""],family_member_name:[""],other_family_relationship_id:[""],relation_to_id:[""],relationship_with_company_id:[""],started_business:[""]})},e.prototype.createBusinessActivity=function(e){return this.fb.group({type_of_activity_id:[e.type_of_activity_id,l.m.compose([l.m.required])],name:[e.name,l.m.compose([l.m.required])],exist_status:[1==e.exist_status]})},e.prototype.createServiceActivity=function(){return this.fb.group({main_products:["",l.m.compose([l.m.required])],area_of_sale:["",l.m.compose([l.m.required])],description:[""]})},e.prototype.createOthersActivity=function(){return this.fb.group({others_details:["",l.m.compose([l.m.required])]})},e.prototype.manufactureDetails=function(){return this.fb.group({main_products:[""],area_of_sale:[""],description:[""]})},e.prototype.indiaSalesDone=function(){return this.fb.group({state_name:[""],city_name:[""]})},e.prototype.maxSaleState=function(){return this.fb.group({state_name:[""],city_name:[""]})},e.prototype.createDocument=function(){return this.fb.group({document:[""]})},e.prototype.addDesignation=function(){this.businessForm.controls.designation.push(this.createDesignation())},e.prototype.deleteDesignation=function(e){var t=this.businessForm.controls.designation;1==t.length?this.businessForm.controls.designation.reset():t.removeAt(e)},e.prototype.addPartnerDetails=function(e){var t=this.businessForm.controls.partners;e.stopPropagation();this.step=t.length,t.push(this.createPartners())},e.prototype.addPersonRelationship=function(e){e.stopPropagation();var t=this.businessForm.controls.persons_with_relationships;this.step=t.length,t.push(this.createRelationShip())},e.prototype.deletePersonRelationship=function(e){this.businessForm.controls.persons_with_relationships.removeAt(e)},e.prototype.deletePartnerDetails=function(e){var t=this.businessForm.controls.partners;1==t.length?this.businessForm.controls.partners.reset():t.removeAt(e)},e.prototype.addMoreManufacturing=function(){this.businessForm.controls.manufacturing_activity_details.push(this.manufactureDetails())},e.prototype.addMoreRetail=function(){this.businessForm.controls.retail_trading_activity_details.push(this.manufactureDetails())},e.prototype.addMoreWholesale=function(){this.businessForm.controls.wholesale_trading_activity_details.push(this.manufactureDetails())},e.prototype.createCountrySale=function(){return this.fb.group({country_name:["",l.m.compose([l.m.required])],approx_sale:["",l.m.compose([l.m.required])]})},e.prototype.addMoreState=function(e,t){if(1==t){this.businessForm.get("manufacturing_activity_details").controls[e].get("india_where_sale_done").push(this.indiaSalesDone())}else if(2==t){this.businessForm.get("manufacturing_activity_details").controls[e].get("countries_where_export_done").push(this.createCountrySale())}},e.prototype.removeState=function(e,t,n){if(1==n){this.businessForm.get("manufacturing_activity_details").controls[e].get("india_where_sale_done").removeAt(t)}else if(2==n){this.businessForm.get("manufacturing_activity_details").controls[e].get("countries_where_export_done").removeAt(t)}},e.prototype.addRetailMoreState=function(e,t){if(1==t){this.businessForm.get("retail_trading_activity_details").controls[e].get("india_where_sale_done").push(this.indiaSalesDone())}else if(2==t){this.businessForm.get("retail_trading_activity_details").controls[e].get("countries_where_export_done").push(this.createCountrySale())}},e.prototype.removeRetailState=function(e,t,n){if(1==n){this.businessForm.get("retail_trading_activity_details").controls[e].get("india_where_sale_done").removeAt(t)}else if(2==n){this.businessForm.get("retail_trading_activity_details").controls[e].get("countries_where_export_done").removeAt(t)}},e.prototype.addWholesaleMoreState=function(e,t){if(1==t){this.businessForm.get("wholesale_trading_activity_details").controls[e].get("india_where_sale_done").push(this.indiaSalesDone())}else if(2==t){this.businessForm.get("wholesale_trading_activity_details").controls[e].get("countries_where_export_done").push(this.createCountrySale())}},e.prototype.removeWholesaleState=function(e,t,n){if(1==n){this.businessForm.get("wholesale_trading_activity_details").controls[e].get("india_where_sale_done").removeAt(t)}else if(2==n){this.businessForm.get("wholesale_trading_activity_details").controls[e].get("countries_where_export_done").removeAt(t)}},e.prototype.addServiceMoreState=function(e,t){if(1==t){this.businessForm.get("service_provider_activity_details").controls[e].get("india_where_sale_done").push(this.indiaSalesDone())}else if(2==t){this.businessForm.get("service_provider_activity_details").controls[e].get("countries_where_export_done").push(this.createCountrySale())}},e.prototype.addMoreServiceprovider=function(){this.businessForm.controls.service_provider_activity_details.push(this.manufactureDetails())},e.prototype.addMoreOthersActivity=function(){this.businessForm.controls.others_activity_details.push(this.createOthersActivity())},e.prototype.removeServiceState=function(e,t,n){if(1==n){var o=this.businessForm.get("service_provider_activity_details");(o=o.controls[e].get("india_where_sale_done")).removeAt(t)}else if(2==n){var a=this.businessForm.get("service_provider_activity_details");(a=a.controls[e].get("countries_where_export_done")).removeAt(t)}},e.prototype.addDocuments=function(){this.businessForm.controls.documents.push(this.createDocument())},e.prototype.deleteDocuments=function(e){var t=this.businessForm.controls.documents;1==t.length?this.businessForm.controls.documents.reset():t.removeAt(e)},e.prototype.relationChanged=function(e){var t=this;this.relativeNames=[],e.value.forEach(function(e){t.relativeNames.push({member:e})})},e.prototype.initBusinessForm=function(){this.businessForm=this.fb.group({pdid:this.pdDetails.pd_id,formid:this.FormId.form_id,fk_createdby:this.users,profession_name:["",l.m.compose([l.m.required])],business_years:["",l.m.compose([l.m.required])],industry:["",l.m.compose([l.m.required])],type_of_activity:["",l.m.compose([l.m.required])],seasonality:["",l.m.compose([l.m.required])],designation:this.fb.array([]),partners:this.fb.array([]),employees_total:["",l.m.compose([l.m.required])],employees_permanent:["",l.m.compose([l.m.required])],employees_temporary:["",l.m.compose([l.m.required])],officer_total:["",l.m.compose([l.m.required])],officer_permanent:["",l.m.compose([l.m.required])],officer_temporary:["",l.m.compose([l.m.required])],invested_amount:["",l.m.compose([l.m.required])],working_capital:["",l.m.compose([l.m.required])],is_service_provided:["",l.m.compose([l.m.required])],ownership_setup:["",l.m.compose([l.m.required])],ownership_others:[""],rent_paid:[""],shop_eat_act_cert:["",l.m.compose([l.m.required])],gst_Regn_cert:["",l.m.compose([l.m.required])],export_import_cert:["",l.m.compose([l.m.required])],factory_cert:["",l.m.compose([l.m.required])],practice_cert:["",l.m.compose([l.m.required])],pf_regn:["",l.m.compose([l.m.required])],esic_regn:["",l.m.compose([l.m.required])],other_documents:["",l.m.compose([l.m.required])],documents:this.fb.array([]),business_remarks:["",l.m.compose([l.m.required])],who_started:["",l.m.compose([l.m.required])],main_person:["",l.m.compose([l.m.required])],other_main_person:[""],family_members_involved:["",l.m.compose([l.m.required])],before_business:["",l.m.compose([l.m.required])],any_delays:["",l.m.compose([l.m.required])]})},e.prototype.submitDetails=function(){var e=this;console.log("First",this.businessForm.value);console.log(this.FormId);var t;"no"==(t=this.businessForm.value).other_documents&&delete t.documents,""==t.rent_paid&&delete t.rent_paid,""==t.ownership_others&&delete t.ownership_others;var n=0;t.manufacturing_activity_details.length>0&&t.manufacturing_activity_details.forEach(function(e,t){if("Within India"!=e.area_of_sale){var o=Object.keys(e.countries_where_export_done).map(function(t){return e.countries_where_export_done[t]}).reduce(function(e,t){return e+ +t.approx_sale},0);(o>100||o<100)&&n++}}),t.wholesale_trading_activity_details.length>0&&t.wholesale_trading_activity_details.forEach(function(e,t){if("Within India"!=e.area_of_sale){var o=Object.keys(e.countries_where_export_done).map(function(t){return e.countries_where_export_done[t]}).reduce(function(e,t){return e+ +t.approx_sale},0);(o>100||o<100)&&n++}}),t.retail_trading_activity_details.length>0&&t.retail_trading_activity_details.forEach(function(e,t){if("Within India"!=e.area_of_sale){var o=Object.keys(e.countries_where_export_done).map(function(t){return e.countries_where_export_done[t]}).reduce(function(e,t){return e+ +t.approx_sale},0);(o>100||o<100)&&n++}}),t.service_provider_activity_details.length>0&&t.service_provider_activity_details.forEach(function(e,t){if("Within India"!=e.area_of_sale){var o=Object.keys(e.countries_where_export_done).map(function(t){return e.countries_where_export_done[t]}).reduce(function(e,t){return e+ +t.approx_sale},0);(o>100||o<100)&&n++}}),n>0?this.toast.pdTriggerappmessage("warning!! Approximate sales doesn't add upto 100%"):this.qustCat.saveForm(t).subscribe(function(t){1==t.dataStatus&&(e.toast.pdTriggerappmessage("Record Saved Successfully.!"),e.navCtrl.pop())})},e.prototype.getBuisnessDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){var n=t.records,o=e.businessForm.controls.designation,a=e.businessForm.controls.partners,i=e.businessForm.controls.documents;if(200==t.status){var s=void 0,r=Object.keys(t.records.designation).map(function(e){return t.records.designation[e]}),l=Object.keys(t.records.partners).map(function(e){return t.records.partners[e]}),c=[],m=[];Object.keys(t.records.family_members_involved).map(function(e){return t.records.family_members_involved[e]}).forEach(function(e){c.push(e.member),m.push(e)}),e.relativeNames=m,0==r.length?o.push(e.createDesignation()):r.forEach(function(t){o.push(e.createDesignation())}),0==l.length?a.push(e.createPartners()):l.forEach(function(t){a.push(e.createPartners())}),"yes"==t.records.other_documents?(s=Object.keys(t.records.documents).map(function(e){return t.records.documents[e]})).forEach(function(t){i.push(e.createDocument())}):(s=[{document:""}],i.push(e.createDocument())),"others"!=t.records.ownership_setup&&(n.ownership_others=""),"rented"!=t.records.ownership_setup&&(n.rent_paid=""),n.family_members_involved=c,n.pdid=e.pdDetails.pd_id,n.formid=e.FormId.form_id,n.fk_createdby=e.users,n.designation=r,n.partners=l,n.documents=s,e.businessForm.setValue(n)}else o.push(e.createDesignation()),a.push(e.createPartners()),i.push(e.createDocument())})},e.prototype.setStep=function(e){this.step=e},e.prototype.inWords=function(e,t){switch(t){case 1:this.appxSalaryAmtInwords=this.cons.convertNumberToWords(e.target.value)}},e.prototype.CheckExport=function(e,t,n){console.log("CheckExport"),console.log(e,t,n),console.log(this.ManufacturingChecked,this.RetailedChecked,this.WholeSalesChecked,this.ServiceChecked),this.ManufacturingChecked?this.ManufacturingChecked&&"MActivity"==t&&(this.ManufacturingCounterArray[n]=0):"MActivity"==t&&"Within India"!=e?this.ManufacturingCounterArray[n]=1:"MActivity"==t&&"Within India"!=e&&(this.ManufacturingCounterArray[n]=0),this.RetailedChecked?"RActivity"==t&&this.RetailedChecked&&(this.RetailCounterArray[n]=0):"RActivity"==t&&"Within India"!=e?this.RetailCounterArray[n]=1:"RActivity"==t&&"Within India"!=e&&(this.RetailCounterArray[n]=0),this.WholeSalesChecked?"WActivity"==t&&this.WholeSalesChecked&&(this.WholeSaleCounterArray[n]=0):"WActivity"==t&&"Within India"!=e?this.WholeSaleCounterArray[n]=1:"WActivity"==t&&"Within India"!=e&&(this.WholeSaleCounterArray[n]=0),this.ServiceChecked?"SPActivity"==t&&(this.ServiceCounterArray[n]=0):"SPActivity"==t&&"Within India"!=e?this.ServiceCounterArray[n]=1:"SPActivity"==t&&"Within India"!=e&&(this.ServiceCounterArray[n]=0);var o=this.ManufacturingCounterArray.reduce(function(e,t){return e+ +t},0);console.log(o,this.ManufacturingCounterArray);var a=this.RetailCounterArray.reduce(function(e,t){return e+ +t},0),i=this.WholeSaleCounterArray.reduce(function(e,t){return e+ +t},0),s=this.ServiceCounterArray.reduce(function(e,t){return e+ +t},0),r=o+a+i+s;this.ExportFlag=r>0,console.log("overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter ",r,o,a,i,s),console.log("Current Flag Status : ",this.ExportFlag)},e=m([Object(o.m)({selector:"page-pd-question-business-info",template:'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n
\n
\n

Partner Details

\n \n \n \n
Partner #{{i+1}}
\n
\n \n \n \n {{app.applicant_name}}\n Others\n \n \n \n \n \n \n \n \n \n \n Select\n Yes\n No\n \n \n

No of Years in Current Business

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

Person RelationShip


\n
\n \n \n \n \x3c!-- {{person.get(\'family_member_name\').value | titlecase}} --\x3e\n
Person #{{i+1}}
\n
\n\n \n \n {{title.name}}\n \n \n \n \n \n \n \n {{member.name | titlecase}}\n \n \n \n \n {{member.applicant_name | titlecase}}\n \n \n \n \n {{comrelship.name | titlecase}}\n \n \n \n \n Select\n Yes\n No\n \n \n \n \n \n
\n
\n
\n \n
\n \n Type of Business Activity\n \n
\n \n {{entityType.controls.name.value | titlecase}}\n \n
\n
\n
\n \n \n \n
\n

Manufacturing Details {{i+1}}

\n \n \n \n \n \n Within India"\n Export\n Both\n \n \n \n \n Yes\n No\n \n \n \n
\n
\n
\n \n \n {{SL.state_name}}\n \n \n \n \n {{CL.city_name}} \n \n \n
\n
\n
\n
\n
\n
\n
\n \n States Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n
\n
\n \n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n \n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n
\n \n
\n
\n \n
Within India
\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\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 States Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\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 Description of {{manufacturing.value.main_products}}\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 Within India\n Export\n Both\n \n \n \n \n Yes\n No\n \n \n\n \n
\n
\n \n \n \n {{SL.state_name}}\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 States Where Max Sales Done for {{retail.value.main_products}}\n\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n
\n
\n \n \n Countries Where Export Is Being Done for {{retail.value.main_products}}\n\n \x3c!-- --\x3e\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n
\n \n
\n
\n\n \n

Within India

\n\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\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 {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{retail.value.main_products}}\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 Description of {{retail.value.main_products}}\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 Within India\n Export\n Both\n \n \n \x3c!-- this is under whole sale --\x3e\n \n \n Yes\n No\n \n \n \n
\n
\n\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\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 {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n

Within India

\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\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 States Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\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 Description of {{wholesale.value.main_products}}\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 Within India\n Export\n Both\n \n \n \x3c!-- this is under service --\x3e\n \n \n Yes\n No\n \n \n \n \n \n
\n
\n\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n\n \n
\n
\n \n \n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\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

Within India

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

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\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 Description of {{serviceprovider.value.main_products}}\n \n \n \n
\n
\n
\n \n
\n\n\n \n \n \n
\n \n

Other Details {{o+1}}

\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 Digital Payments\n \n \n \n \n Yes\n No\n \n \n \n \n Yes\n No\n \n \n \n \n \n\n \n \n Seasonality\n \n \n
\n \n

Is The Business Seasonal

\n \n \n Yes\n No Major Changes In Sales\n \n \n \n \n \n January\n February\n March\n April\n May\n June\n July\n August\n September\n October\n November\n December\n \n \n \n
\n
\n \n \n \n \n \x3c!-- \n \n --\x3e\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 {{"₹"}} {{appxSalaryAmtInwords}} Only\n \n \n \n \n \n \n No of Employees Sighted By PD Officer During His Visit \n \n \n \n \n \n \x3c!-- \n \n --\x3e\n \x3c!-- \n \n --\x3e\n \n \n Yes\n No\n \x3c!-- Not Applicable --\x3e\n \n \n \n \n\n \n \n Documents Sighted \n \n \n \n \n

Shop and Est Act Cert

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

GST Regn Cert

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

Export / Import cert

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

Factory Cert

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

Cert of Practice

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

PF Regn

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

ESIC Regn

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

Do You Want to Add Other Documents?

\n \n \n Yes\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 Remarks\n \n \n \n \n \n \n \n
\n
\n'}),d("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c,c.a])],e)}()},386:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(4),r=n(11),l=n(30),c=n(9),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){var r=this;this.navCtrl=e,this.navParams=t,this.aws=n,this.fb=o,this.qustcat=a,this.cons=i,this.toast=s,this.currentYear=(new Date).getFullYear(),this.m_any_asset_loan_type=[{value:"yes",viewValue:"Yes"},{value:"no",viewValue:"No"},{value:"nan",viewValue:"NA"}],this.AssetValueInwords=[],this.appxMarketAmtInwords=[],this.RentAmtInwords=[],this.mergeCompanyApplicant=[],this.existCompanyList=[],this.placeholderName="Was any business activity seen at the Address Type during PD visit?",this.m_address_type=[],this.apiLoadFinish=!1,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.company_id=this.pdDetails.company_id,this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 2!=e.applicant_type}),this.applicants.push({pd_co_applicant_id:"0",applicant_name:"Others"}),this.generalExistBusinessYear=this.pdDetails.business_years,this.generalExistBusinessMonth=this.pdDetails.business_month,this.pageTitle=this.pdDetails.company_name+" - "+this.pageTitle,this.main_applicant=this.pdDetails.applicant_name,this.lender_applicant_id=this.pdDetails.lender_applicant_id,this.subproduct_abbr=this.pdDetails.subproduct_abbr,this.customer_segment_abbr=this.pdDetails.customer_segment_abbr,this.getDetails(),this.getDropDown(),console.log("Form Id",this.FormId),console.log(this.pdDetails);var l={};l.pd_id=this.pdDetails.pd_id,l.pd_form_id="5",this.qustcat.retiverForm(l).subscribe(function(e){if(200==e.status){r.addressLabel="";var t=r.m_address_type.filter(function(t){return t.address_type_id==e.records.address_type})[0],n=e.records.address,o=1!=e.records.address_type?t.address_type:e.records.address_type_others;r.placeholderName="Was any business activity seen at the "+o+" during PD visit?",r.addressLabel=" : "+n+" / "+o}})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBusinessAssetsPage")},e.prototype.getDropDown=function(){var e=this;this.qustcat.getcommondrop("ASSETTYPE").subscribe(function(t){e.m_assets_type=t.records.filter(function(e){return 1==e.isactive&&1==e.flag}),console.log(e.m_assets_type)}),this.qustcat.getcommondrop("PROPERTIES").subscribe(function(t){e.m_propertyType=t.records.filter(function(e){return 1==e.isactive})}),this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(function(t){t.dataStatus&&(e.existCompanyList=t.records.filter(function(t){return 1==t.is_active&&1==t.is_company_applicant&&t.company_order_id==e.company_id}),console.log("existCompanyList",e.existCompanyList));var n=[];e.existCompanyList.length>0&&(n=e.existCompanyList.map(function(e){return{id:e.company_order_id.toString(),name:e.company_name,group_id:1}}),e.mergeCompanyApplicant.push({groupName:"COMPANIES",groupValues:n}));var o=[];e.applicants.length>0&&(o=e.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),e.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:o}))}),this.qustcat.getcommondrop("ADDRESSTYPE").subscribe(function(t){e.m_address_type=t.records.filter(function(e){return 1==e.isactive})})},e.prototype.getDetails=function(){var e=this,t={};t.pd_id=this.pdDetails.pd_id,t.company_id=this.company_id,t.pd_form_id=22,this.qustcat.retiverForm(t).subscribe(function(t){e.formLoadData(1==t.dataStatus?t.records:null),e.apiLoadFinish=!0,console.log("success")})},e.prototype.formLoadData=function(e){if(null==e)this._businessAssetsQuesFrom=this.fb.group({pdid:[this.pdDetails.pd_id],formid:["22"],company_id:[this.company_id],fk_createdby:[this.users],business_years:[""],business_month:[""],business_address_availability:[""],business_is_pd_visited:[""],business_pd_visited_remark:[""],business_assets_details:this.fb.array([this.initBusinessDetails()]),business_assets_form_remark:[""]});else{console.log("Data Here");var t=e;this._businessAssetsQuesFrom=this.fb.group({pdid:[this.pdDetails.pd_id],formid:["22"],company_id:[this.company_id],fk_createdby:[this.users],business_years:[t.business_years],business_month:[t.business_month],business_address_availability:[t.business_address_availability],business_is_pd_visited:[t.business_is_pd_visited],business_pd_visited_remark:[t.business_pd_visited_remark],business_assets_details:this.fb.array([]),business_assets_form_remark:[t.business_assets_form_remark||""]}),this.addBusinessAssetsDetailsWithData(t.business_assets_details)}this.loadDetails=!0},e.prototype.initBusinessDetails=function(){return this.fb.group({business_assets_mode:[""],business_details:this.fb.array([]),business_approximate_market_value:[""],business_ownership_type:[""],business_monthly_rented_amt:[""],business_name_of_the_owner:[],business_name_of_the_other_owner:[],business_vintage:[""],business_purchase_year:["",s.m.compose([s.m.pattern("[1-9]{1}[0-9]{3}")])],business_emi:[""]})},e.prototype.loadProperty=function(){return this.fb.group({property_type:[""],other_property_type:[""]})},e.prototype.load_Four_Weeler=function(){return this.fb.group({manufacturer_model_vehicle:[""]})},e.prototype.loadEquipmentManufacturingDescription=function(){return this.fb.group({equipment_manufacturing_description:[""]})},e.prototype.otherBusinessAssetsDescription=function(){return this.fb.group({any_other_assets:[""],any_other_asset_value:[""],any_other_asset_loan:[""]})},e.prototype.addAssetDetails=function(e){this._businessAssetsQuesFrom.controls.business_assets_details.push(this.initBusinessDetails())},e.prototype.removeAssetsDetails=function(e){this._businessAssetsQuesFrom.controls.business_assets_details.removeAt(e)},e.prototype.selectedAssetsType=function(e,t){var n=t;switch(this._businessAssetsQuesFrom.controls.business_assets_details.at(n).get("business_details").controls.splice(0),e.value){case"2":this._businessAssetsQuesFrom.controls.business_assets_details.at(t).get("business_details").push(this.loadProperty());break;case"3":this._businessAssetsQuesFrom.controls.business_assets_details.at(n).get("business_details").push(this.load_Four_Weeler());break;case"4":this._businessAssetsQuesFrom.controls.business_assets_details.at(n).get("business_details").push(this.loadEquipmentManufacturingDescription());break;case"1":this._businessAssetsQuesFrom.controls.business_assets_details.at(n).get("business_details").push(this.otherBusinessAssetsDescription())}},e.prototype.loadPropertyWithData=function(e){return this.fb.group({property_type:[e.property_type],other_property_type:[e.other_property_type]})},e.prototype.load_Four_WeelerWithData=function(e){return this.fb.group({manufacturer_model_vehicle:[e.manufacturer_model_vehicle]})},e.prototype.loadEquipmentManufacturingDescriptionWithData=function(e){return this.fb.group({equipment_manufacturing_description:[e.equipment_manufacturing_description]})},e.prototype.otherBusinessAssetsDescriptionWithData=function(e){return this.fb.group({any_other_assets:[e.any_other_assets],any_other_asset_value:[e.any_other_asset_value],any_other_asset_loan:[e.any_other_asset_loan]})},e.prototype.addBusinessAssetsDetailsWithData=function(e){var t=this,n=Object.keys(e).map(function(t){return e[t]});if(console.log("Result",n),n.length>0){n.forEach(function(e,n){t.appxMarketAmtInwords[n]=t.cons.convertNumberToWords(+e.business_approximate_market_value),t.RentAmtInwords[n]=t.cons.convertNumberToWords(+e.business_monthly_rented_amt)});for(var o=0,a=n;othis.generalExistBusinessYear?(this.yearErrorMessage="Higher than Business Vintage",this._businessAssetsQuesFrom.controls.business_years.setValue(""),this._businessAssetsQuesFrom.controls.business_month.setValue("")):a==this.generalExistBusinessYear&&+n>this.generalExistBusinessMonth?(this.monthErrorMessage="Higher than Business Vintage",this._businessAssetsQuesFrom.controls.business_years.setValue(""),this._businessAssetsQuesFrom.controls.business_month.setValue("")):(this.monthErrorMessage="",this.yearErrorMessage="",this._businessAssetsQuesFrom.controls.business_years.setValue(+t+ +Math.floor(o)),this._businessAssetsQuesFrom.controls.business_month.setValue(Math.floor(n)))},e.prototype.checkWithExistBusinessYear=function(e){+e>this.generalExistBusinessYear?(this.yearErrorMessage="Higher than Business Vintage",this._businessAssetsQuesFrom.controls.business_years.setValue("")):this.yearErrorMessage=""},e.prototype.inWords=function(e,t,n){switch(n){case 1:this.AssetValueInwords[t]=this.cons.convertNumberToWords(e.target.value);break;case 2:this.appxMarketAmtInwords[t]=this.cons.convertNumberToWords(e.target.value);break;case 3:this.RentAmtInwords[t]=this.cons.convertNumberToWords(e.target.value)}},e=m([Object(o.m)({selector:"page-pd-question-business-assets",template:'\x3c!--\n Generated template for the PdQuestionBusinessAssetsPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \n Business Asset Details\n \n\n\n\n\n\n
\n \n \n
Address Details {{addressLabel | titlecase}}
\n
\n \n \n \n Yes\n No\n \n \n
\n

How long has business been operated from this premise?

\n \n \n {{yearErrorMessage}}\n \n \n \n \n {{monthErrorMessage}}\n \n \n\n \n \n Yes\n No\n \n Field Required\n \n \n \n \n \n Remarks Required\n \n
\n
\n
\n \n
\n
\n
\n \n Business Premises And Other Assets {{i+1}}\n \n \n \n \n {{asset.name | titlecase}}--{{asset.id}}\n \n \n \n\n
\n\n
\n
\n
\n \n \n {{prop.name | titlecase}}\n \n \n \n \n \n
\n
\n
\n \x3c!--Vehicle--\x3e\n
\n
\n
\n \n \n \n
\n
\n
\n \x3c!--Equipment Manufacture--\x3e\n
\n
\n
\n \n \n \n
\n
\n
\n \x3c!--Other Assets--\x3e\n
\n
\n
\n \n \n \n \n \n {{"₹"}} {{AssetValueInwords[s]}} Only\n \n \n \n {{data.viewValue | titlecase}}\n \n \n
\n
\n
\n\n
\n\n \n \n \x3c!-- (selectionChange)="selectedPropertyOwnedType($event.value,s,i)" --\x3e\n Owned\n Rented\n \n \n\n \n \n {{"₹"}} {{RentAmtInwords[i]}} Only\n Monthly Rent Amount Required\n \n\n
\n \x3c!-- --\x3e\n \n \n {{"₹"}} {{appxMarketAmtInwords[i]}} Only\n Approximate Market Value Required\n \n \n \x3c!----\x3e\n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n\n \x3c!--
--\x3e\n
\n \n Approx Vintage\n \n \n \n Purchase Year\n \n \n
\n
\n \n \x3c!--
--\x3e\n
\n \n

Is There a Loan Existing Against This Asset?

\n \n Yes\n No\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'}),d("design:paramtypes",[a.r,a.s,i.a,s.c,r.a,l.a,c.a])],e)}()},387:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(30),c=n(9),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.fb=o,this.qustCat=a,this.cons=i,this.toast=s,this.existCompanyList=[],this.mergeCompanyApplicant=[],this.amtInwords=[],this.emiAmtInwords=[],this.limitCaseFlag=[],this.pdDetails=this.navParams.get("pdDetails"),console.log("pd",this.pdDetails),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),this.pdid=this.pdDetails.pd_id,this.FormId=this.navParams.get("FormId"),this.company_id=this.pdDetails.company_id,console.log("Form Id",this.FormId),this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 2!=e.applicant_type}),this.applicants.push({pd_co_applicant_id:"0",applicant_name:"Others"}),this.users=this.aws.getlocale(),this.step=0,this.bankingForm=this.fb.group({itemRows:this.fb.array([]),banking_form_remark:[""]}),this.salaryField="SE"!=this.pdDetails.customer_segment_abbr.substring(0,2),this.getdropdown(),this.retiveBankDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBusinessBankingPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("ACCOUNTTYPE").subscribe(function(t){1==t.dataStatus&&(e.accountType=t.records)}),this.qustCat.getcommondrop("BTLENDERLIST").subscribe(function(t){1==t.dataStatus&&(e.m_btLenderList=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){console.log("Entering company List"),1==t.dataStatus&&(e.existCompanyList=t.records.filter(function(e){return!0===e.is_active&&!0===e.is_company_applicant}),console.log("company List",t.records));var n=[];e.existCompanyList.length>0&&(n=e.existCompanyList.map(function(e){return{id:e.company_order_id.toString(),name:e.company_name,group_id:1}}),e.mergeCompanyApplicant.push({groupName:"COMPANIES",groupValues:n}),console.log("Company applicant",e.mergeCompanyApplicant))});var t=[];this.applicants.length>0&&(t=this.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),this.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:t}),console.log(this.mergeCompanyApplicant))},e.prototype.compareObjects=function(e,t){return e.id==t.id&&e.group_id==t.group_id},e.prototype.checkOthers=function(e){return null!=e&&0==e.id},e.prototype.selectedAccTypeChanges=function(e,t){this.limitCaseFlag[t]=2!=e&&1!=e},e.prototype.ConvertMonthintoYear=function(e,t){var n=t%12,o=t/12;e.controls.vintage_year.setValue(+e.controls.vintage_year.value+ +Math.floor(o)),e.controls.vintage_month.setValue(Math.floor(n))},e.prototype.inWords=function(e,t,n){switch(n){case 1:this.amtInwords[t]=this.cons.convertNumberToWords(e.target.value);break;case 2:this.emiAmtInwords[t]=this.cons.convertNumberToWords(e.target.value)}},e.prototype.setRequiredValidation=function(e,t,n){console.log(t),console.log(e),console.log(n),1==n&&(0==e?t.controls.other_applicant.setValidators([i.m.required]):t.controls.other_applicant.clearValidators(),t.controls.other_applicant.updateValueAndValidity()),2==n&&(1==e?t.controls.other_bank.setValidators([i.m.required]):t.controls.other_bank.clearValidators(),t.controls.other_bank.updateValueAndValidity())},e.prototype.createBankItem=function(e){return this.fb.group({applicant_name:[""],bank_name:[""],account_type:[""],salary:(this.pdDetails.customer_segment_abbr.substring(0,2),[""]),limit:[""],other_bank:[""],other_applicant:[""],is_main:[""],vintage_year:[""],vintage_month:[""]})},e.prototype.addBankDetails=function(e,t){t.stopPropagation();var n=this.bankingForm.controls.itemRows;this.step=n.length,n.push(this.createBankItem(""))},e.prototype.addmoreBankDetils=function(){this.itemRows=this.bankingForm.get("itemRows"),this.itemRows.push(this.createBankItem(""))},e.prototype.removebank=function(e){var t=this.bankingForm.controls.itemRows;1==t.length?t.reset():t.removeAt(e)},e.prototype.setStep=function(e){this.step=e},e.prototype.retiveBankDetails=function(){var e=this,t=this.bankingForm.controls.itemRows;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId,company_id:this.company_id}).subscribe(function(n){if(1==n.dataStatus){var o=Object.keys(n.records.banking_details).map(function(e){return n.records.banking_details[e]});console.log("retrieve data",n.records),e.bankingForm.controls.banking_form_remark.setValue(n.records.banking_form_remark),0==o.length?(console.log("DAta Status 0"),t.push(e.createBankItem(""))):(console.log("DAta Status >1"),o.forEach(function(n,o){e.selectedAccTypeChanges(n.account_type,o),""!=n.limit&&(console.log("Datas",n),e.amtInwords[o]=e.cons.convertNumberToWords(+n.limit)),e.selectedAccTypeChanges(n.account_type,o),t.push(e.createBankItem(""))}),e.bankingForm.controls.itemRows.setValue(o))}else console.log("DAta Status False"),t.push(e.createBankItem(""))})},e.prototype.savepdBank=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid=this.FormId,n.fk_createdby=this.users,n.company_id=this.company_id,n.banking_details=e.itemRows,n.banking_form_remark=e.banking_form_remark,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){console.log("data",e),1==e.dataStatus?(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop()):t.toast.pdTriggerappmessage("Sorry!! Something Went Wrong")})},e=m([Object(o.m)({selector:"page-pd-question-business-banking",template:'\x3c!--\n Generated template for the PdQuestionBusinessBankingPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n Banking Details\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 {{val.name}} \n \n \n \n \n \n \n \n \n \n \n {{ btLen.lender_name }}\n \n \n \n \n \n \n
\n \n \n \n {{bankacc.name}}\n \n \n \n \n \n
\n \n \n Yes\n No\n \n \n
\n \n \n \n Yes\n No\n NA\n \n \n \n
\n \x3c!--
--\x3e\n
\n Limit In case of OD / CC account, What is the Limit \n \n \n {{"₹"}} {{amtInwords[i]}} Only\n \n
\n \x3c!--
--\x3e\n
\n \x3c!--

Is this the main business account (Yes / No)

--\x3e\n \n \n Yes\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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),d("design:paramtypes",[a.r,a.s,s.a,i.c,r.a,l.a,c.a])],e)}()},389:function(e,t,n){"use strict";n.d(t,"a",function(){return m});var o=n(0),a=n(5),i=n(198),s=n(11),r=n(9),l=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e,t,n,o,a){this.navCtrl=e,this.navParams=t,this.camera=n,this.qustCat=o,this.toast=a,this.cameraArr=[],this.count=0,this.saveAccess=!1,this.FormId="",this.applicatentDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId")}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdGeneralImagesPage")},e.prototype.takePicture=function(){var e=this;this.camera.getpicture().then(function(t){e.count=e.count+1,e.cameraArr.push({image:t,name:""})})},e.prototype.removeimage=function(e){this.count=this.count-1,this.cameraArr.splice(e,1)},e.prototype.docnames=function(e,t,n){this.cameraArr[t]={image:n,Name:e}},e.prototype.savePDImages=function(){var e=this;this.saveAccess=!0;var t={pd_id:this.applicatentDetails.pd_id,formid:""};t.images=this.cameraArr,this.qustCat.savePDImages(t).subscribe(function(t){1==t.dataStatus&&(e.saveAccess=!1,e.navCtrl.pop(),e.toast.pdTriggerappmessage("Record Saved Successfully.!"))})},e=l([Object(o.m)({selector:"page-pd-general-images",template:'\n \n \n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n \n \n\n\n\n \n \n \n\n \n General Images\n \n \n \n \n \n \n \n\n \n
\n \n \x3c!-- File Name Required --\x3e\n
\n
\n {{img.Name}}\n
\n
\n
\n \n \x3c!-- \n Save --\x3e\n \x3c!-- --\x3e\n \n
\n \n \n \n \n \n \n \n \n
\n'}),c("design:paramtypes",[a.r,a.s,i.a,s.a,r.a])],e)}()},390:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(73),r=n(9),l=n(30),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a){this.navCtrl=e,this.navParams=t,this.aws=n,this.toast=o,this.commonconstant=a,this.commonImage=this.commonconstant.commonimage,this.Username=this.navParams.get("Username"),this.Password=this.navParams.get("Password")}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PasswordPage")},e.prototype.setNewPassword=function(e){var t=this;if(""!=e&&null!=e&&void 0!==e){var n={Username:this.Username,Password:this.Password,newpassword:e};console.log(n),this.aws.dologin(n).subscribe(function(e){console.log(e),t.navCtrl.setRoot(s.a)},function(e){t.toast.pdTriggerappmessage(e.message)})}else this.toast.pdTriggerappmessage("Enter the new Password")},e=c([Object(o.m)({selector:"page-password",template:'\x3c!--\n Generated template for the PasswordPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n password\n \n\n\n\n\n\n\n \n \n \n \n Circle Image\n \n \n \n \n \n

New Password

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n\n\n'}),m("design:paramtypes",[a.r,a.s,i.a,r.a,l.a])],e)}()},391:function(e,t,n){"use strict";n.d(t,"a",function(){return h});var o=n(0),a=n(5),i=n(4),s=n(73),r=n(69),l=n(9),c=n(392),m=n(7),d=n(393),u=n(30),p=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},h=function(){function e(e,t,n,o,a,i,s,r,l,c){this.navCtrl=e,this.navParams=t,this.Menu=n,this.fb=o,this.shared=a,this.toast=i,this.faio=s,this.aws=r,this.loadingCtrl=l,this.commonconstant=c,this.mpinaccess=!1,this.commonImage=this.commonconstant.commonimage,this.shared.refresh(),this.getuserDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad AuthPage")},e.prototype.ionViewDidEnter=function(){this.Menu.enable(!1)},e.prototype.ionViewWillLeave=function(){this.Menu.enable(!0)},e.prototype.getuserDetails=function(){var e=this;this.loadingCtrl.pdloader("loading...");var t=this.aws.getlocale();this.aws.getuserprofile(t).subscribe(function(t){e.userDetails=t,1==e.userDetails.dataStatus?(e.loadingCtrl.loading.dismiss(),e.userDetails=e.userDetails.records,"PD Executive"==e.userDetails[0].role_name||"PD Officer"==e.userDetails[0].role_name?e.mpinaccess=null==e.userDetails[0].mpin:(e.toast.pdTriggerappmessage("This App only for PD Officers"),localStorage.clear())):e.toast.pdTriggerappmessage("")})},e.prototype.setnewpin=function(e){var t=this;this.aws.userpinupdate(e).subscribe(function(e){t.newpindetails=e,1==t.newpindetails.dataStatus&&t.navCtrl.setRoot(s.a)})},e.prototype.checkpin=function(e){console.log(e),""!=e&&null!=e?this.userDetails[0].mpin==e?this.navCtrl.setRoot(s.a):this.toast.pdTriggerappmessage("Enter The Correct PIN"):this.toast.pdTriggerappmessage("Enter The PIN")},e.prototype.checkfingerprint=function(){var e=this;this.faio.show({clientId:"Fingerprint-Demo",clientSecret:"password",localizedFallbackTitle:"Use Pin",localizedReason:"Please authenticate",disableBackup:!0}).then(function(t){e.navCtrl.setRoot(s.a)}).catch(function(t){e.toast.pdTriggerappmessage("err: "+t)})},e=p([Object(o.m)({selector:"page-auth",template:'\n\n\n\n\n \n \n \n \n \n \n Circle Image\n \n \n \n \n \n

PIN

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n\n \n \n \n \n \n Circle Image\n \n \n \n \n \n

PIN

\n
\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n
\n'}),f("design:paramtypes",[a.r,a.s,a.o,i.c,r.a,l.a,c.a,m.a,d.a,u.a])],e)}()},393:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(5),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.loadingCtrl=t,console.log("Hello LoadingProvider Provider")}return e.prototype.pdloader=function(e){this.loading=this.loadingCtrl.create({content:e}),this.loading.present()},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.n])],e)}()},396:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(397),a=n(526);Object(o.a)().bootstrapModule(a.a)},526:function(e,t,n){"use strict";n.d(t,"a",function(){return we});var o=n(45),a=n(0),i=n(5),s=n(565),r=n(186),l=n(328),c=n(670),m=n(345),d=n(7),u=n(47),p=n(672),f=n(673),h=n(69),_=n(30),g=n(391),v=n(329),y=n(73),b=n(123),w=n(356),x=n(674),C=n(390),D=n(675),I=n(354),F=n(9),S=n(85),k=n(392),A=n(355),N=n(197),q=n(11),P=n(4),L=n(676),R=n(198),T=n(393),O=n(357),E=n(358),M=n(364),j=n(362),V=n(360),W=n(359),B=n(363),Y=n(361),G=n(368),Q=n(365),U=n(199),z=n(388),H=n(366),$=n(367),J=n(200),X=n(385),K=n(369),Z=n(371),ee=n(373),te=n(372),ne=n(376),oe=n(374),ae=n(370),ie=n(683),se=n(375),re=n(378),le=n(379),ce=n(380),me=n(382),de=n(383),ue=n(684),pe=n(384),fe=n(386),he=n(387),_e=n(381),ge=n(377),ve=n(389),ye=n(685),be=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},we=function(){function e(){}return e=be([Object(a.J)({declarations:[s.a,g.a,v.a,y.a,b.a,w.a,x.a,C.a,D.a,I.a,N.a,E.a,M.a,j.a,V.a,W.a,B.a,X.a,Y.a,G.a,Q.a,U.a,H.a,$.a,J.a,K.a,Z.a,ee.a,te.a,X.a,ne.a,oe.a,ae.a,ie.a,se.a,re.a,le.a,ce.a,me.a,de.a,ue.a,pe.a,fe.a,he.a,ge.a,ve.a,ye.a],imports:[o.a,P.l,P.g,i.m.forRoot(s.a,{},{links:[]}),c.a,m.a,m.b,m.c,m.d,m.e,m.f,m.g,m.i,m.n,m.j,m.k,m.l,m.m,m.n,m.o,m.p,m.q,m.r,m.s,m.t,m.u,m.v,m.w,m.y,m.x,m.z,m.A,m.C,m.D,m.E,m.F,m.B,u.c,L.a],bootstrap:[i.k],entryComponents:[s.a,g.a,v.a,y.a,b.a,w.a,x.a,C.a,D.a,I.a,N.a,E.a,M.a,j.a,V.a,W.a,B.a,X.a,Y.a,G.a,Q.a,U.a,H.a,$.a,J.a,K.a,Z.a,ee.a,te.a,X.a,ne.a,oe.a,ae.a,ie.a,se.a,re.a,le.a,ce.a,me.a,de.a,ue.a,pe.a,fe.a,he.a,ge.a,ve.a,ye.a],providers:[r.a,d.a,p.a,f.a,F.a,_.a,h.a,l.a,S.a,k.a,{provide:u.a,useClass:f.a,multi:!0},{provide:a.v,useClass:i.l},A.a,d.a,q.a,R.a,O.a,_e.a,T.a,z.a]})],e)}()},565:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(0),a=n(5),i=n(186),s=n(328),r=n(329),l=n(73),c=n(7),m=n(69),d=n(391),u=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=function(){function e(e,t,n,o,a,i){var s=this;this.platform=e,this.statusBar=t,this.splashScreen=n,this.aws=o,this.shared=a,this.AWS=i,this.userAccess=!1,this.rootPage=r.a,this.initializeApp(),this.pages=[{title:"Home",icon:"home",method:function(){return s.menulist(1)}},{title:"Logout",icon:"md-exit",method:function(){return s.menulist(2)}}]}return e.prototype.initializeApp=function(){var e=this;this.platform.ready().then(function(){e.statusBar.styleDefault(),e.platform.is("android")&&(e.statusBar.overlaysWebView(!1),e.statusBar.backgroundColorByHexString("#db4437")),e.splashScreen.hide(),e.shared.getAccessToken().then(function(){e.getuserDetails(),e.rootPage=d.a}).catch(function(){setTimeout(function(){e.rootPage=r.a},1e3)})})},e.prototype.getuserDetails=function(){var e=this,t=this.aws.getlocale();this.aws.getuserprofile(t).subscribe(function(t){e.userDetails=t,1==e.userDetails.dataStatus&&(e.userAccess=!0,e.userDetails=e.userDetails.records[0])})},e.prototype.menulist=function(e){var t=this;switch(e){case 1:this.nav.setRoot(l.a);break;case 2:this.AWS.logout().subscribe(function(){t.nav.setRoot(r.a)})}},e.prototype.logout=function(){this.nav.setRoot(r.a)},u([Object(o._9)(a.q),p("design:type",a.q)],e.prototype,"nav",void 0),e=u([Object(o.m)({template:'\n \n \n \n
\n \n \n \n
\n
\n \x3c!-- Disable swipe-to-go-back because it\'s poor UX to combine STGB with side menus --\x3e\n '}),p("design:paramtypes",[a.u,i.a,s.a,c.a,m.a,c.a])],e)}()},667:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(668),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.sql=t,console.log("Hello DatabaseProvider Provider"),this.createnewdb()}return e.prototype.createnewdb=function(){var e=this;this.sql.create({name:"sinnedge",location:"defalut"}).then(function(t){t.executeSql("CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)").then(function(t){e.getuserDetails()}).catch(function(e){return console.log(e)})})},e.prototype.getuserDetails=function(){this.sql.create({name:"sineedge",location:"default"}).then(function(e){e.executeSql("select * from expense ORDER BY rowid DESC").then(function(e){console.log(e)})})},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.a])],e)}()},672:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var o=n(0),a=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=function(){function e(){}return e.prototype.getlogin=function(){},e=a([Object(o.B)(),i("design:paramtypes",[])],e)}()},673:function(e,t,n){"use strict";n.d(t,"a",function(){return m});var o=n(0),a=n(47),i=n(25),s=n(22),r=n(69),l=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e){this.shared=e}return e.prototype.intercept=function(e,t){var n;this.shared.refresh(),n=(n=this.shared.getToken()||null).getIdToken().getJwtToken();var o=e.clone({headers:new a.e({Authorization:"sparqvenba2018",Token:n,From:"1"})});return t.handle(o).pipe(Object(s.catchError)(this.handleError("role",[])))},e.prototype.handleError=function(e,t){return void 0===e&&(e="operation"),function(e){if(e instanceof a.d)return console.error("Error: "+e.status),401==e.status&&localStorage.clear(),Object(i.of)(t)}},e=l([Object(o.B)(),c("design:paramtypes",[r.a])],e)}()},674:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var o=n(0),a=n(5),i=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=function(){function e(e,t,n){this.navCtrl=e,this.navParams=t,this.SwipedTabsIndicator=null,this.tabTitleWidthArray=[],this.tabElementWidth_px=50,this.screenWidth_px=0,this.isRight=!0,this.isLeft=!0,this.tabs=[],this.tabs=["1","2","3","4","5","6","7","9","10","11"],console.log("Width: "+n.width()),this.screenWidth_px=n.width()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad GoogleplaytabPage")},e.prototype.ionViewDidEnter=function(){this.SwipedTabsIndicator=document.getElementById("indicator");for(var e in this.tabs)this.tabTitleWidthArray.push(document.getElementById("tabTitle"+e).offsetWidth);this.selectTab(0)},e.prototype.scrollIndicatiorTab=function(){this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0)},e.prototype.selectTab=function(e){this.SwipedTabsIndicator.style.width=this.tabTitleWidthArray[e]+"px",this.SwipedTabsIndicator.style.webkitTransform="translate3d("+this.calculateDistanceToSpnd(e)+"px,0,0)",this.SwipedTabsSlider.slideTo(e)},e.prototype.calculateDistanceToSpnd=function(e){for(var t=0,n=0;nt&&(this.isLeft=!1,this.isRight=!0),this.SwipedTabsSlider.isEnd()&&(this.isRight=!1),this.SwipedTabsSlider.isBeginning()&&(this.isLeft=!1),this.isRight&&(this.SwipedTabsIndicator.style.webkitTransform="translate3d("+(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())+(e.progress-t)*(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])+"px,0,0)"),this.isLeft&&(this.SwipedTabsIndicator.style.webkitTransform="translate3d("+(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())+(e.progress-t)*(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])+"px,0,0)"),this.isRight||this.isLeft||(this.SwipedTabsIndicator.style.width=this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+"px")},i([Object(o._9)("SwipedTabsSlider"),s("design:type",a.v)],e.prototype,"SwipedTabsSlider",void 0),i([Object(o._9)("MultiItemsScrollingTabs"),s("design:type",a.e)],e.prototype,"ItemsTitles",void 0),e=i([Object(o.m)({selector:"page-googleplaytab",template:'\x3c!--\n Generated template for the GoogleplayTabsPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \n PD Listing\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{tab}}\n \n \n \x3c!-- here is our dynamic line "indicator"--\x3e\n
\n
\n
\n\n
\n\n\n\n\n \n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n\n\n
\n
\n'}),s("design:paramtypes",[a.r,a.s,a.u])],e)}()},675:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var o=n(0),a=n(5),i=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=function(){function e(e,t){this.navCtrl=e,this.navParams=t,this.pdFullDetails=[],this.pdFullDetails=this.navParams.get("pdDetails"),console.log(this.pdFullDetails)}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdAllocationPage")},e=i([Object(o.m)({selector:"page-pd-allocation",template:'\n \n \n PD Listing\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n \n \n \n
\n \n \n \n
\n \n

{{pdFullDetails.lender_full_name}}

\n
\n \n \n {{pdFullDetails.city_name}} / -{{pdFullDetails.pincode}}\n \n
\n
\n
\n \n

Product

\n

{{pdFullDetails.product_name}} / {{pdFullDetails.subproduct_name}}.

\n

{{pdFullDetails.pd_type_name}}

\n

{{pdFullDetails.pd_allocated_to}}

\n
{{pdFullDetails.pd_date_of_initiation}}
\n
\n

\n \n \n

{{pdFullDetails.pd_status_name}}

\n
\n \n

{{pdFullDetails.loan_amount}}

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

Applicants

\n
\n
\n
\n
\n \n \n \n   {{Mainapplicatent.applicant_name}} (Main)\n \n \n  {{Mainapplicatent.mobile_no}} \n \n \n \n \n   {{Mainapplicatent.applicant_name}}\n \n \n  {{Mainapplicatent.mobile_no}} \n \n \n \n
\n \x3c!--
\n \n \n\n \n \n \n\n \n \n
\n \n \n \n \n

Bala

\n
\n \n
\n To be Scheduling\n
\n
\n \n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n 28 Sep 2018 10:00 AM\n
\n
\n
\n
--\x3e\n\n
\n\n \n\n
'}),s("design:paramtypes",[a.r,a.s])],e)}()},683:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(85),r=n(11),l=n(4),c=n(73),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.viewCtrl=n,this.aws=o,this.pdservice=a,this.qustCat=i,this.fb=s,this.bounce_reason_others=null,this.pdDetails=this.navParams.get("appdetails"),this.status=this.navParams.get("status"),this.users=this.aws.getlocale(),this.getDropdown()}return e.prototype.getDropdown=function(){var e=this;this.qustCat.getcommondrop("BOUNCEMASTER").subscribe(function(t){1==t.dataStatus&&(e.bounseMaster=t.records.filter(function(e){return 1==e.isactive}),console.log(e.bounseMaster))})},e.prototype.updatePDStatus=function(){var e=this;if(null!=this.bounce_reason){this.pdservice.updatepdStatus({pd_id:this.pdDetails.pd_id,pd_status:this.status,fk_updatedby:this.users,bounce_reason:this.bounce_reason,bounce_reason_others:this.bounce_reason_others}).subscribe(function(t){1==t.dataStatus&&e.navCtrl.setRoot(c.a)})}},e=m([Object(o.m)({selector:"page-bounced-reject",template:'\n \n \n Bounced Reject Reason\n \n\n\n\n\n \n \n \n \n {{bouns.bounce_reason_name}}\n \n\n \n \x3c!-- {{bounce_reason}} --\x3e\n \n \n \n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n \n \n\n'}),d("design:paramtypes",[a.r,a.s,a.y,i.a,s.a,r.a,l.c])],e)}()},684:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var o=n(0),a=n(5),i=n(11),s=n(7),r=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=function(){function e(e,t,n,o){this.navCtrl=e,this.navParams=t,this.qustcat=n,this.aws=o,this.existCompanyList=[],this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale,this.getDropDown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBusinessPage")},e.prototype.getDropDown=function(){var e=this;this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){e.existCompanyList=t.records.filter(function(e){return 1==e.is_active&&1==e.is_company_applicant}),console.log(e.existCompanyList)})},e=r([Object(o.m)({selector:"page-pd-question-business",template:'\x3c!--\n Generated template for the PdQuestionBusinessPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n {{FormId.form_name}}\n \n\n\n\n\n\n\n\n'}),l("design:paramtypes",[a.r,a.s,i.a,s.a])],e)}()},685:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(0),a=n(5),i=n(4),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t,n){this.navCtrl=e,this.navParams=t,this.fb=n,this.salaryDetails=this.fb.group({gross:[null],netTakeHome:[null],bounsIncentive:[null],salaryDate:[null],anydelays:[null]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionSalaryInfoPage")},e=s([Object(o.m)({selector:"page-pd-question-salary-info",template:'\n\n \n \n Salary Category\n \n \n \n \n \n\n\n\n\x3c!--Salary info--\x3e\n

Salary info

\n
\n \n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n'}),r("design:paramtypes",[a.r,a.s,i.c])],e)}()},69:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var o=n(0),a=n(330),i=n(25),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=(new a.c({UserPoolId:"ap-south-1_y7dt3iEaX",ClientId:"291qt4smn5pql6o8cc2hi201lj"}),new a.c({UserPoolId:"ap-south-1_hFiGyr1Gw",ClientId:"38v9rpp1495v60e1gd14mj6rjr"}),new a.c({UserPoolId:"ap-south-1_qQ85yQZJO",ClientId:"2o5c3cs9k3als16nqhp3irh8rs"})),c=function(){function e(){this.loggedIn=!1,this.isloggin=!1}return e.prototype.getCurrentUser=function(){return l.getCurrentUser()},Object.defineProperty(e.prototype,"isLoggedIn",{get:function(){return this.loggedIn=null!=l.getCurrentUser(),this.loggedIn},enumerable:!0,configurable:!0}),e.prototype.refresh=function(){var e;null!=this.getCurrentUser()?this.getCurrentUser().getSession(function(t,n){return t?console.log("CognitoUtil: Can't set the credentials:"+t):n.isValid()?(e=n.isValid(),Object(i.of)(e),console.log("CognitoUtil: refreshed successfully")):(e=n.isValid(),console.log("CognitoUtil: refreshed but session is still not valid")),e}):this.loggedIn=!1},e.prototype.getAccessToken=function(){var e=this;return this.refresh(),new Promise(function(t,n){null!=e.getCurrentUser()?e.getCurrentUser().getSession(function(e,o){e?(console.log("CognitoUtil: Can't set the credentials:"+e),"",n(e)):o.isValid()&&(o,t())}):n()})},e.prototype.getToken=function(){var e="";return null!=this.getCurrentUser()?this.getCurrentUser().getSession(function(t,n){t?!1:n.isValid()?(e=n,!0):!1}):!1,e},e=s([Object(o.B)(),r("design:paramtypes",[])],e)}()},7:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(47),a=n(0),i=n(330),s=n(48),r=(n.n(s),n(609)),l=(n.n(r),n(69)),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=(new i.c({UserPoolId:"ap-south-1_hFiGyr1Gw",ClientId:"38v9rpp1495v60e1gd14mj6rjr"}),new i.c({UserPoolId:"ap-south-1_qQ85yQZJO",ClientId:"2o5c3cs9k3als16nqhp3irh8rs"})),p=(new Date).toJSON().slice(0,19).replace("T"," "),f=function(){function e(e,t,n){this.http=e,this.shared=t,this.con=n,this.apiurl=n.apiurl()}return e.prototype.dologin=function(e){var t=new i.a(e),n=e.newpassword,o=[],a=new i.b({Username:e.Username,Pool:u});return s.Observable.create(function(e){a.authenticateUser(t,{newPasswordRequired:function(t,i){a.completeNewPasswordChallenge(n,o,{onSuccess:function(t){e.next(t),e.complete()},onFailure:function(t){e.error(t)}})},onSuccess:function(t){e.next(t),e.complete(),this.shared.isloggin=!0},onFailure:function(t){e.error(t)}})})},e.prototype.userforgotpass=function(e){var t=new i.b({Username:e.Username,Pool:u});return s.Observable.create(function(e){t.forgotPassword({onSuccess:function(t){e.next(t)},onFailure:function(e){alert(e.message||JSON.stringify(e))},inputVerificationCode:function(e){var n=prompt("Please input verification code ",""),o=prompt("Enter new password ","");t.confirmPassword(n,o,{onSuccess:function(){},onFailure:function(e){}})}})})},e.prototype.logout=function(){var e=this;return s.Observable.create(function(t){e.shared.getCurrentUser().signOut(),t.next(),t.complete()})},e.prototype.getlocale=function(){return(this.shared.getToken()||null).idToken.payload.locale},e.prototype.getuserprofile=function(e){return this.http.post(this.apiurl+"getUsersDetails",{userid:e})},e.prototype.userpinupdate=function(e){var t=this.getlocale(),n={mpin:e,updatedon:p,fk_updatedby:t,userid:t},o=new FormData;return o.append("records",JSON.stringify(n)),this.http.post(this.apiurl+"updateExistUser",o)},e=m([Object(a.B)(),d("design:paramtypes",[o.b,l.a,c.a])],e)}()},73:function(e,t,n){"use strict";n.d(t,"a",function(){return h});var o=n(0),a=n(5),i=n(354),s=n(7),r=n(85),l=n(69),c=n(197),m=n(123),d=n(667),u=n(669),p=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},h=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.pdofficer=o,this.shared=a,this.db=i,this.androidPermissions=s,this.bgColorPast=[],this.bgColor=[],this.pdinprogress=[],this.pdlistdetails=[],this.pdlist="inpro",this.pdlistaccess=null}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdListPage"),this.db.getuserDetails(),this.setpermission()},e.prototype.ionViewCanEnter=function(){this.getpdTriggerdetails()},e.prototype.filter=function(e){e?(this.viewchange=!1,this.pdinprogress=this.pdinprogress,this.pdschduleDetails=this.pdschduleDetails):this.viewchange=!0},e.prototype.pdlistsearch=function(e){console.log(e),this.pdinprogress=this.searchinprogress,this.pdschduleDetails=this.searchpast;var t=e.target.value;if("inpro"==this.pdlist){if(""==t.trim())return;this.pdinprogress=this.searchinprogress.filter(function(e){return void 0!==e.applicat_details&&e.applicat_details[0].applicant_name.toLowerCase().indexOf(t.toLowerCase())>-1||e.pd_status.toLowerCase().indexOf(t.toLowerCase())>-1||null!=e.city_name&&e.city_name.toLowerCase().indexOf(t.toLowerCase())>-1||e.lender_applicant_id.toLowerCase().indexOf(t.toLowerCase())>-1})}else{if(""==t.trim())return console.log(t.trim()),void console.log(this.pdlistdetails);this.pdschduleDetails=this.searchpast.filter(function(e){return e.applicat_details[0].applicant_name.toLowerCase().indexOf(t.toLowerCase())>-1||e.pd_status.toLowerCase().indexOf(t.toLowerCase())>-1||e.city_name.toLowerCase().indexOf(t.toLowerCase())>-1||e.lender_applicant_id.toLowerCase().indexOf(t.toLowerCase())>-1})}},e.prototype.newpage=function(){this.navCtrl.push(i.a)},e.prototype.getpdTriggerdetails=function(){var e=this,t=this.aws.getlocale();this.pdofficer.getpddetails(t).subscribe(function(t){e.pdlistdetails=t,1==e.pdlistdetails.dataStatus?(console.log(e.pdlistdetails),e.pdlistaccess=!0,e.pdschduleDetails=e.pdlistdetails.records.filter(function(e){return"ACCEPTED"==e.pd_status||"SCHEDULED"==e.pd_status||"INITIATED"==e.pd_status||"STARTED"==e.pd_status||"INPROGRESS"==e.pd_status}),e.searchpast=e.pdschduleDetails,e.pdinprogress=e.pdlistdetails.records.filter(function(e){return"ALLOCATED"==e.pd_status}),e.searchinprogress=e.pdinprogress,console.log(e.pdinprogress),e.random_bg_color(),e.random_ng_past()):(e.pdlistaccess=!1,e.pdlistdetails="No Records Found")})},e.prototype.random_bg_color=function(){for(var e=0,t=this.pdinprogress;e\n \n \n PD Cases\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n \n \n \n \x3c!-- \n \n \n --\x3e\n\n\n
\n \n \n \n \n Allocated\n \n \n Scheduled\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n \x3c!--

28 Sep 2018 10:00 AM

--\x3e\n
\n \n
\n
{{progess.pd_date_of_initiation}}
\n
{{progess.city_name}}
\n
\n
\n
\n \n \n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n
\n \n
{{progess.pd_status}}
\n
\n
\n
\n\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n \n \n \n \n \n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n \x3c!--

28 Sep 2018 10:00 AM

--\x3e\n
\n
\n \n \n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n
\n \n
{{progess.city_name}}
\n
\n
\n \n \n
{{progess.pd_status}}
\n
\n \n
\n
{{progess.pd_date_of_initiation}}
\n
{{progess.scheduled_on}}
\n
\n
\n
\n \n
\n\n
\n
\n
\n
\n
\n \n
\n
\n
\n \x3c!-- --\x3e\n \n \x3c!--

test

--\x3e\n
\n \n \n
'}),f("design:paramtypes",[a.r,a.s,s.a,r.a,l.a,d.a,u.a])],e)}()},85:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(30),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.constants=t,this.apiurl=t.apiurl(),console.log("Hello PdtriggerProvider Provider")}return e.prototype.getpddetails=function(e){return this.http.get(this.apiurl+"listLessPDDetails/get?pdofficerid="+e)},e.prototype.getFullPDdetails=function(e){return this.http.post(this.apiurl+"getFullPDDetails",e)},e.prototype.updatepdStatus=function(e){return this.http.post(this.apiurl+"updatePDMaster",{records:e})},e.prototype.saveCurrentLocation=function(e){return this.http.post(this.apiurl+"savePDOfficerCurrentLocation",e)},e.prototype.checkotp=function(e){return this.http.post(this.apiurl+"checkOTP",{records:e})},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.a])],e)}()},9:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(5),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.toast=t,console.log("Hello ToastProvider Provider")}return e.prototype.pdTriggerappmessage=function(e){this.toast.create({message:e,duration:3e3,position:"bottom",dismissOnPageChange:!0}).present()},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.w])],e)}()}},[396]); \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/assets/debug/www/build/polyfills.js b/platforms/android/app/build/intermediates/assets/debug/www/build/polyfills.js new file mode 100644 index 00000000..b01b2009 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/build/polyfills.js @@ -0,0 +1,4 @@ +!function(t){"use strict";function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}function n(t){return isFinite(t=+t)&&0!=t?t<0?-n(-t):Math.log(t+Math.sqrt(t*t+1)):t}function r(t,e){var n,o,i=arguments.length<3?t:arguments[2];return v(t)===i?t[e]:(n=dn.f(t,e))?M(n,"value")?n.value:void 0!==n.get?n.get.call(i):void 0:p(o=bt(t))?r(o,e,i):void 0}function o(t,e,n){var r,i,a=arguments.length<4?t:arguments[3],u=dn.f(v(t),e);if(!u){if(p(i=bt(t)))return o(i,e,n,a);u=E(0)}return M(u,"value")?!(!1===u.writable||!p(a))&&(r=dn.f(a,e)||E(0),r.value=n,T.f(a,e,r),!0):void 0!==u.set&&(u.set.call(a,n),!0)}var i=Math.ceil,a=Math.floor,u=function(t){return isNaN(t=+t)?0:(t>0?a:i)(t)},c=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t},s=function(t){return function(e,n){var r,o,i=String(c(e)),a=u(n),s=i.length;return a<0||a>=s?t?"":void 0:(r=i.charCodeAt(a),r<55296||r>56319||a+1===s||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536)}},f="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},l=e(function(t){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)}),h=e(function(t){var e=t.exports={version:"2.5.1"};"number"==typeof __e&&(__e=e)}),p=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t){if(!p(t))throw TypeError(t+" is not an object!");return t},d=function(t){try{return!!t()}catch(t){return!0}},g=!d(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),y=l.document,m=p(y)&&p(y.createElement),b=function(t){return m?y.createElement(t):{}},_=!g&&!d(function(){return 7!=Object.defineProperty(b("div"),"a",{get:function(){return 7}}).a}),k=function(t,e){if(!p(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!p(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!p(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!p(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},w=Object.defineProperty,S=g?Object.defineProperty:function(t,e,n){if(v(t),e=k(e,!0),v(n),_)try{return w(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t},T={f:S},E=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},O=g?function(t,e,n){return T.f(t,e,E(1,n))}:function(t,e,n){return t[e]=n,t},P={}.hasOwnProperty,M=function(t,e){return P.call(t,e)},F=0,j=Math.random(),D=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++F+j).toString(36))},x=e(function(t){var e=D("src"),n=Function.toString,r=(""+n).split("toString");h.inspectSource=function(t){return n.call(t)},(t.exports=function(t,n,o,i){var a="function"==typeof o;a&&(M(o,"name")||O(o,"name",n)),t[n]!==o&&(a&&(M(o,e)||O(o,e,t[n]?""+t[n]:r.join(String(n)))),t===l?t[n]=o:i?t[n]?t[n]=o:O(t,n,o):(delete t[n],O(t,n,o)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[e]||n.call(this)})}),I=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t},A=function(t,e,n){if(I(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},L=function(t,e,n){var r,o,i,a,u=t&L.F,c=t&L.G,s=t&L.S,f=t&L.P,p=t&L.B,v=c?l:s?l[e]||(l[e]={}):(l[e]||{}).prototype,d=c?h:h[e]||(h[e]={}),g=d.prototype||(d.prototype={});c&&(n=e);for(r in n)o=!u&&v&&void 0!==v[r],i=(o?v:n)[r],a=p&&o?A(i,l):f&&"function"==typeof i?A(Function.call,i):i,v&&x(v,r,i,t&L.U),d[r]!=i&&O(d,r,a),f&&g[r]!=i&&(g[r]=i)};l.core=h,L.F=1,L.G=2,L.S=4,L.P=8,L.B=16,L.W=32,L.U=64,L.R=128;var R=L,N={},C={}.toString,z=function(t){return C.call(t).slice(8,-1)},Z=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==z(t)?t.split(""):Object(t)},H=function(t){return Z(c(t))},W=Math.min,B=function(t){return t>0?W(u(t),9007199254740991):0},q=Math.max,U=Math.min,V=function(t,e){return t=u(t),t<0?q(t+e,0):U(t,e)},G=function(t){return function(e,n,r){var o,i=H(e),a=B(i.length),u=V(r,a);if(t&&n!=n){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===n)return t||u||0;return!t&&-1}},X=l["__core-js_shared__"]||(l["__core-js_shared__"]={}),Y=function(t){return X[t]||(X[t]={})},K=Y("keys"),J=function(t){return K[t]||(K[t]=D(t))},$=G(!1),Q=J("IE_PROTO"),tt=function(t,e){var n,r=H(t),o=0,i=[];for(n in r)n!=Q&&M(r,n)&&i.push(n);for(;e.length>o;)M(r,n=e[o++])&&(~$(i,n)||i.push(n));return i},et="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),nt=Object.keys||function(t){return tt(t,et)},rt=g?Object.defineProperties:function(t,e){v(t);for(var n,r=nt(e),o=r.length,i=0;o>i;)T.f(t,n=r[i++],e[n]);return t},ot=l.document,it=ot&&ot.documentElement,at=J("IE_PROTO"),ut=function(){},ct=function(){var t,e=b("iframe"),n=et.length;for(e.style.display="none",it.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(" + + Ionic App + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/android/app/build/intermediates/assets/debug/www/manifest.json b/platforms/android/app/build/intermediates/assets/debug/www/manifest.json new file mode 100755 index 00000000..f6456bbb --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/manifest.json @@ -0,0 +1,13 @@ +{ + "name": "Ionic", + "short_name": "Ionic", + "start_url": "index.html", + "display": "standalone", + "icons": [{ + "src": "assets/imgs/logo.png", + "sizes": "512x512", + "type": "image/png" + }], + "background_color": "#4e8ef7", + "theme_color": "#4e8ef7" +} \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-actionsheet/www/ActionSheet.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-actionsheet/www/ActionSheet.js new file mode 100644 index 00000000..2b703acc --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-actionsheet/www/ActionSheet.js @@ -0,0 +1,32 @@ +cordova.define("cordova-plugin-actionsheet.ActionSheet", function(require, exports, module) { +function ActionSheet() { +} + +ActionSheet.prototype.show = function (options, successCallback, errorCallback) { + cordova.exec(successCallback, errorCallback, "ActionSheet", "show", [options]); +}; + +ActionSheet.prototype.hide = function (options, successCallback, errorCallback) { + cordova.exec(successCallback, errorCallback, "ActionSheet", "hide", [options]); +}; + +ActionSheet.prototype.ANDROID_THEMES = { + THEME_TRADITIONAL : 1, // default + THEME_HOLO_DARK : 2, + THEME_HOLO_LIGHT : 3, + THEME_DEVICE_DEFAULT_DARK : 4, + THEME_DEVICE_DEFAULT_LIGHT : 5 +}; + +ActionSheet.install = function () { + if (!window.plugins) { + window.plugins = {}; + } + + window.plugins.actionsheet = new ActionSheet(); + + return window.plugins.actionsheet; +}; + +cordova.addConstructor(ActionSheet.install); +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-android-permissions/www/permissions.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-android-permissions/www/permissions.js new file mode 100644 index 00000000..30651e95 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-android-permissions/www/permissions.js @@ -0,0 +1,197 @@ +cordova.define("cordova-plugin-android-permissions.Permissions", function(require, exports, module) { +var permissionsName = 'Permissions'; + +function Permissions() { + + this.ACCESS_CHECKIN_PROPERTIES = 'android.permission.ACCESS_CHECKIN_PROPERTIES'; + this.ACCESS_COARSE_LOCATION = 'android.permission.ACCESS_COARSE_LOCATION'; + this.ACCESS_FINE_LOCATION = 'android.permission.ACCESS_FINE_LOCATION'; + this.ACCESS_LOCATION_EXTRA_COMMANDS = 'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS'; + this.ACCESS_MOCK_LOCATION = 'android.permission.ACCESS_MOCK_LOCATION'; + this.ACCESS_NETWORK_STATE = 'android.permission.ACCESS_NETWORK_STATE'; + this.ACCESS_SURFACE_FLINGER = 'android.permission.ACCESS_SURFACE_FLINGER'; + this.ACCESS_WIFI_STATE = 'android.permission.ACCESS_WIFI_STATE'; + this.ACCOUNT_MANAGER = 'android.permission.ACCOUNT_MANAGER'; + this.ADD_VOICEMAIL = 'com.android.voicemail.permission.ADD_VOICEMAIL'; + this.AUTHENTICATE_ACCOUNTS = 'android.permission.AUTHENTICATE_ACCOUNTS'; + this.BATTERY_STATS = 'android.permission.BATTERY_STATS'; + this.BIND_ACCESSIBILITY_SERVICE = 'android.permission.BIND_ACCESSIBILITY_SERVICE'; + this.BIND_APPWIDGET = 'android.permission.BIND_APPWIDGET'; + this.BIND_CARRIER_MESSAGING_SERVICE = 'android.permission.BIND_CARRIER_MESSAGING_SERVICE'; + this.BIND_DEVICE_ADMIN = 'android.permission.BIND_DEVICE_ADMIN'; + this.BIND_DREAM_SERVICE = 'android.permission.BIND_DREAM_SERVICE'; + this.BIND_INPUT_METHOD = 'android.permission.BIND_INPUT_METHOD'; + this.BIND_NFC_SERVICE = 'android.permission.BIND_NFC_SERVICE'; + this.BIND_NOTIFICATION_LISTENER_SERVICE = 'android.permission.BIND_NOTIFICATION_LISTENER_SERVICE'; + this.BIND_PRINT_SERVICE = 'android.permission.BIND_PRINT_SERVICE'; + this.BIND_REMOTEVIEWS = 'android.permission.BIND_REMOTEVIEWS'; + this.BIND_TEXT_SERVICE = 'android.permission.BIND_TEXT_SERVICE'; + this.BIND_TV_INPUT = 'android.permission.BIND_TV_INPUT'; + this.BIND_VOICE_INTERACTION = 'android.permission.BIND_VOICE_INTERACTION'; + this.BIND_VPN_SERVICE = 'android.permission.BIND_VPN_SERVICE'; + this.BIND_WALLPAPER = 'android.permission.BIND_WALLPAPER'; + this.BLUETOOTH = 'android.permission.BLUETOOTH'; + this.BLUETOOTH_ADMIN = 'android.permission.BLUETOOTH_ADMIN'; + this.BLUETOOTH_PRIVILEGED = 'android.permission.BLUETOOTH_PRIVILEGED'; + this.BODY_SENSORS = 'android.permission.BODY_SENSORS'; + this.BRICK = 'android.permission.BRICK'; + this.BROADCAST_PACKAGE_REMOVED = 'android.permission.BROADCAST_PACKAGE_REMOVED'; + this.BROADCAST_SMS = 'android.permission.BROADCAST_SMS'; + this.BROADCAST_STICKY = 'android.permission.BROADCAST_STICKY'; + this.BROADCAST_WAP_PUSH = 'android.permission.BROADCAST_WAP_PUSH'; + this.CALL_PHONE = 'android.permission.CALL_PHONE'; + this.CALL_PRIVILEGED = 'android.permission.CALL_PRIVILEGED'; + this.CAMERA = 'android.permission.CAMERA'; + this.CAPTURE_AUDIO_OUTPUT = 'android.permission.CAPTURE_AUDIO_OUTPUT'; + this.CAPTURE_SECURE_VIDEO_OUTPUT = 'android.permission.CAPTURE_SECURE_VIDEO_OUTPUT'; + this.CAPTURE_VIDEO_OUTPUT = 'android.permission.CAPTURE_VIDEO_OUTPUT'; + this.CHANGE_COMPONENT_ENABLED_STATE = 'android.permission.CHANGE_COMPONENT_ENABLED_STATE'; + this.CHANGE_CONFIGURATION = 'android.permission.CHANGE_CONFIGURATION'; + this.CHANGE_NETWORK_STATE = 'android.permission.CHANGE_NETWORK_STATE'; + this.CHANGE_WIFI_MULTICAST_STATE = 'android.permission.CHANGE_WIFI_MULTICAST_STATE'; + this.CHANGE_WIFI_STATE = 'android.permission.CHANGE_WIFI_STATE'; + this.CLEAR_APP_CACHE = 'android.permission.CLEAR_APP_CACHE'; + this.CLEAR_APP_USER_DATA = 'android.permission.CLEAR_APP_USER_DATA'; + this.CONTROL_LOCATION_UPDATES = 'android.permission.CONTROL_LOCATION_UPDATES'; + this.DELETE_CACHE_FILES = 'android.permission.DELETE_CACHE_FILES'; + this.DELETE_PACKAGES = 'android.permission.DELETE_PACKAGES'; + this.DEVICE_POWER = 'android.permission.DEVICE_POWER'; + this.DIAGNOSTIC = 'android.permission.DIAGNOSTIC'; + this.DISABLE_KEYGUARD = 'android.permission.DISABLE_KEYGUARD'; + this.DUMP = 'android.permission.DUMP'; + this.EXPAND_STATUS_BAR = 'android.permission.EXPAND_STATUS_BAR'; + this.FACTORY_TEST = 'android.permission.FACTORY_TEST'; + this.FLASHLIGHT = 'android.permission.FLASHLIGHT'; + this.FORCE_BACK = 'android.permission.FORCE_BACK'; + this.GET_ACCOUNTS = 'android.permission.GET_ACCOUNTS'; + this.GET_PACKAGE_SIZE = 'android.permission.GET_PACKAGE_SIZE'; + this.GET_TASKS = 'android.permission.GET_TASKS'; + this.GET_TOP_ACTIVITY_INFO = 'android.permission.GET_TOP_ACTIVITY_INFO'; + this.GLOBAL_SEARCH = 'android.permission.GLOBAL_SEARCH'; + this.HARDWARE_TEST = 'android.permission.HARDWARE_TEST'; + this.INJECT_EVENTS = 'android.permission.INJECT_EVENTS'; + this.INSTALL_LOCATION_PROVIDER = 'android.permission.INSTALL_LOCATION_PROVIDER'; + this.INSTALL_PACKAGES = 'android.permission.INSTALL_PACKAGES'; + this.INSTALL_SHORTCUT = 'com.android.launcher.permission.INSTALL_SHORTCUT'; + this.INTERNAL_SYSTEM_WINDOW = 'android.permission.INTERNAL_SYSTEM_WINDOW'; + this.INTERNET = 'android.permission.INTERNET'; + this.KILL_BACKGROUND_PROCESSES = 'android.permission.KILL_BACKGROUND_PROCESSES'; + this.LOCATION_HARDWARE = 'android.permission.LOCATION_HARDWARE'; + this.MANAGE_ACCOUNTS = 'android.permission.MANAGE_ACCOUNTS'; + this.MANAGE_APP_TOKENS = 'android.permission.MANAGE_APP_TOKENS'; + this.MANAGE_DOCUMENTS = 'android.permission.MANAGE_DOCUMENTS'; + this.MASTER_CLEAR = 'android.permission.MASTER_CLEAR'; + this.MEDIA_CONTENT_CONTROL = 'android.permission.MEDIA_CONTENT_CONTROL'; + this.MODIFY_AUDIO_SETTINGS = 'android.permission.MODIFY_AUDIO_SETTINGS'; + this.MODIFY_PHONE_STATE = 'android.permission.MODIFY_PHONE_STATE'; + this.MOUNT_FORMAT_FILESYSTEMS = 'android.permission.MOUNT_FORMAT_FILESYSTEMS'; + this.MOUNT_UNMOUNT_FILESYSTEMS = 'android.permission.MOUNT_UNMOUNT_FILESYSTEMS'; + this.NFC = 'android.permission.NFC'; + this.PERSISTENT_ACTIVITY = 'android.permission.PERSISTENT_ACTIVITY'; + this.PROCESS_OUTGOING_CALLS = 'android.permission.PROCESS_OUTGOING_CALLS'; + this.READ_CALENDAR = 'android.permission.READ_CALENDAR'; + this.READ_CALL_LOG = 'android.permission.READ_CALL_LOG'; + this.READ_CONTACTS = 'android.permission.READ_CONTACTS'; + this.READ_EXTERNAL_STORAGE = 'android.permission.READ_EXTERNAL_STORAGE'; + this.READ_FRAME_BUFFER = 'android.permission.READ_FRAME_BUFFER'; + this.READ_HISTORY_BOOKMARKS = 'com.android.browser.permission.READ_HISTORY_BOOKMARKS'; + this.READ_INPUT_STATE = 'android.permission.READ_INPUT_STATE'; + this.READ_LOGS = 'android.permission.READ_LOGS'; + this.READ_PHONE_STATE = 'android.permission.READ_PHONE_STATE'; + this.READ_PROFILE = 'android.permission.READ_PROFILE'; + this.READ_SMS = 'android.permission.READ_SMS'; + this.READ_SOCIAL_STREAM = 'android.permission.READ_SOCIAL_STREAM'; + this.READ_SYNC_SETTINGS = 'android.permission.READ_SYNC_SETTINGS'; + this.READ_SYNC_STATS = 'android.permission.READ_SYNC_STATS'; + this.READ_USER_DICTIONARY = 'android.permission.READ_USER_DICTIONARY'; + this.READ_VOICEMAIL = 'com.android.voicemail.permission.READ_VOICEMAIL'; + this.REBOOT = 'android.permission.REBOOT'; + this.RECEIVE_BOOT_COMPLETED = 'android.permission.RECEIVE_BOOT_COMPLETED'; + this.RECEIVE_MMS = 'android.permission.RECEIVE_MMS'; + this.RECEIVE_SMS = 'android.permission.RECEIVE_SMS'; + this.RECEIVE_WAP_PUSH = 'android.permission.RECEIVE_WAP_PUSH'; + this.RECORD_AUDIO = 'android.permission.RECORD_AUDIO'; + this.REORDER_TASKS = 'android.permission.REORDER_TASKS'; + this.RESTART_PACKAGES = 'android.permission.RESTART_PACKAGES'; + this.SEND_RESPOND_VIA_MESSAGE = 'android.permission.SEND_RESPOND_VIA_MESSAGE'; + this.SEND_SMS = 'android.permission.SEND_SMS'; + this.SET_ACTIVITY_WATCHER = 'android.permission.SET_ACTIVITY_WATCHER'; + this.SET_ALARM = 'com.android.alarm.permission.SET_ALARM'; + this.SET_ALWAYS_FINISH = 'android.permission.SET_ALWAYS_FINISH'; + this.SET_ANIMATION_SCALE = 'android.permission.SET_ANIMATION_SCALE'; + this.SET_DEBUG_APP = 'android.permission.SET_DEBUG_APP'; + this.SET_ORIENTATION = 'android.permission.SET_ORIENTATION'; + this.SET_POINTER_SPEED = 'android.permission.SET_POINTER_SPEED'; + this.SET_PREFERRED_APPLICATIONS = 'android.permission.SET_PREFERRED_APPLICATIONS'; + this.SET_PROCESS_LIMIT = 'android.permission.SET_PROCESS_LIMIT'; + this.SET_TIME = 'android.permission.SET_TIME'; + this.SET_TIME_ZONE = 'android.permission.SET_TIME_ZONE'; + this.SET_WALLPAPER = 'android.permission.SET_WALLPAPER'; + this.SET_WALLPAPER_HINTS = 'android.permission.SET_WALLPAPER_HINTS'; + this.SIGNAL_PERSISTENT_PROCESSES = 'android.permission.SIGNAL_PERSISTENT_PROCESSES'; + this.STATUS_BAR = 'android.permission.STATUS_BAR'; + this.SUBSCRIBED_FEEDS_READ = 'android.permission.SUBSCRIBED_FEEDS_READ'; + this.SUBSCRIBED_FEEDS_WRITE = 'android.permission.SUBSCRIBED_FEEDS_WRITE'; + this.SYSTEM_ALERT_WINDOW = 'android.permission.SYSTEM_ALERT_WINDOW'; + this.TRANSMIT_IR = 'android.permission.TRANSMIT_IR'; + this.UNINSTALL_SHORTCUT = 'com.android.launcher.permission.UNINSTALL_SHORTCUT'; + this.UPDATE_DEVICE_STATS = 'android.permission.UPDATE_DEVICE_STATS'; + this.USE_CREDENTIALS = 'android.permission.USE_CREDENTIALS'; + this.USE_SIP = 'android.permission.USE_SIP'; + this.VIBRATE = 'android.permission.VIBRATE'; + this.WAKE_LOCK = 'android.permission.WAKE_LOCK'; + this.WRITE_APN_SETTINGS = 'android.permission.WRITE_APN_SETTINGS'; + this.WRITE_CALENDAR = 'android.permission.WRITE_CALENDAR'; + this.WRITE_CALL_LOG = 'android.permission.WRITE_CALL_LOG'; + this.WRITE_CONTACTS = 'android.permission.WRITE_CONTACTS'; + this.WRITE_EXTERNAL_STORAGE = 'android.permission.WRITE_EXTERNAL_STORAGE'; + this.WRITE_GSERVICES = 'android.permission.WRITE_GSERVICES'; + this.WRITE_HISTORY_BOOKMARKS = 'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS'; + this.WRITE_PROFILE = 'android.permission.WRITE_PROFILE'; + this.WRITE_SECURE_SETTINGS = 'android.permission.WRITE_SECURE_SETTINGS'; + this.WRITE_SETTINGS = 'android.permission.WRITE_SETTINGS'; + this.WRITE_SMS = 'android.permission.WRITE_SMS'; + this.WRITE_SOCIAL_STREAM = 'android.permission.WRITE_SOCIAL_STREAM'; + this.WRITE_SYNC_SETTINGS = 'android.permission.WRITE_SYNC_SETTINGS'; + this.WRITE_USER_DICTIONARY = 'android.permission.WRITE_USER_DICTIONARY'; + this.WRITE_VOICEMAIL = 'com.android.voicemail.permission.WRITE_VOICEMAIL'; +} + +function deprecated(name) { + console.warn("Calling cordova.plugins.permissions." + name + " with the successCallback as first argument is deprecated"); + console.warn("The new signature is '" + name + "(permission, successCallback, errorCallback)'"); +} + +Permissions.prototype = { + checkPermission: function(permission, successCallback, errorCallback) { + cordova.exec(successCallback, errorCallback, permissionsName, 'checkPermission', [permission]); + }, + requestPermission: function(permission, successCallback, errorCallback) { + if (typeof permission === "function") { + deprecated("requestPermission"); + successCallback = arguments[0]; + errorCallback = arguments[1]; + permission = arguments[2]; + } + cordova.exec(successCallback, errorCallback, permissionsName, 'requestPermission', [permission]); + }, + requestPermissions: function(permissions, successCallback, errorCallback) { + cordova.exec(successCallback, errorCallback, permissionsName, 'requestPermissions', permissions); + } +}; + +Permissions.prototype.hasPermission = function (permission, successCallback, errorCallback) { + console.warn("hasPermission() function deprecated. Considers using checkPermission()"); + + if (typeof permission === "function") { + deprecated("hasPermission"); + successCallback = arguments[0]; + errorCallback = arguments[1]; + permission = arguments[2]; + } + this.checkPermission.call(this, permission, successCallback, errorCallback); +}; + +module.exports = new Permissions(); + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/Camera.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/Camera.js new file mode 100644 index 00000000..3f614ec8 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/Camera.js @@ -0,0 +1,188 @@ +cordova.define("cordova-plugin-camera.camera", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var argscheck = require('cordova/argscheck'); +var exec = require('cordova/exec'); +var Camera = require('./Camera'); +// XXX: commented out +// CameraPopoverHandle = require('./CameraPopoverHandle'); + +/** + * @namespace navigator + */ + +/** + * @exports camera + */ +var cameraExport = {}; + +// Tack on the Camera Constants to the base camera plugin. +for (var key in Camera) { + cameraExport[key] = Camera[key]; +} + +/** + * Callback function that provides an error message. + * @callback module:camera.onError + * @param {string} message - The message is provided by the device's native code. + */ + +/** + * Callback function that provides the image data. + * @callback module:camera.onSuccess + * @param {string} imageData - Base64 encoding of the image data, _or_ the image file URI, depending on [`cameraOptions`]{@link module:camera.CameraOptions} in effect. + * @example + * // Show image + * // + * function cameraCallback(imageData) { + * var image = document.getElementById('myImage'); + * image.src = "data:image/jpeg;base64," + imageData; + * } + */ + +/** + * Optional parameters to customize the camera settings. + * * [Quirks](#CameraOptions-quirks) + * @typedef module:camera.CameraOptions + * @type {Object} + * @property {number} [quality=50] - Quality of the saved image, expressed as a range of 0-100, where 100 is typically full resolution with no loss from file compression. (Note that information about the camera's resolution is unavailable.) + * @property {module:Camera.DestinationType} [destinationType=FILE_URI] - Choose the format of the return value. + * @property {module:Camera.PictureSourceType} [sourceType=CAMERA] - Set the source of the picture. + * @property {Boolean} [allowEdit=false] - Allow simple editing of image before selection. + * @property {module:Camera.EncodingType} [encodingType=JPEG] - Choose the returned image file's encoding. + * @property {number} [targetWidth] - Width in pixels to scale image. Must be used with `targetHeight`. Aspect ratio remains constant. + * @property {number} [targetHeight] - Height in pixels to scale image. Must be used with `targetWidth`. Aspect ratio remains constant. + * @property {module:Camera.MediaType} [mediaType=PICTURE] - Set the type of media to select from. Only works when `PictureSourceType` is `PHOTOLIBRARY` or `SAVEDPHOTOALBUM`. + * @property {Boolean} [correctOrientation] - Rotate the image to correct for the orientation of the device during capture. + * @property {Boolean} [saveToPhotoAlbum] - Save the image to the photo album on the device after capture. + * @property {module:CameraPopoverOptions} [popoverOptions] - iOS-only options that specify popover location in iPad. + * @property {module:Camera.Direction} [cameraDirection=BACK] - Choose the camera to use (front- or back-facing). + */ + +/** + * @description Takes a photo using the camera, or retrieves a photo from the device's + * image gallery. The image is passed to the success callback as a + * Base64-encoded `String`, or as the URI for the image file. + * + * The `camera.getPicture` function opens the device's default camera + * application that allows users to snap pictures by default - this behavior occurs, + * when `Camera.sourceType` equals [`Camera.PictureSourceType.CAMERA`]{@link module:Camera.PictureSourceType}. + * Once the user snaps the photo, the camera application closes and the application is restored. + * + * If `Camera.sourceType` is `Camera.PictureSourceType.PHOTOLIBRARY` or + * `Camera.PictureSourceType.SAVEDPHOTOALBUM`, then a dialog displays + * that allows users to select an existing image. + * + * The return value is sent to the [`cameraSuccess`]{@link module:camera.onSuccess} callback function, in + * one of the following formats, depending on the specified + * `cameraOptions`: + * + * - A `String` containing the Base64-encoded photo image. + * - A `String` representing the image file location on local storage (default). + * + * You can do whatever you want with the encoded image or URI, for + * example: + * + * - Render the image in an `` tag, as in the example below + * - Save the data locally (`LocalStorage`, [Lawnchair](http://brianleroux.github.com/lawnchair/), etc.) + * - Post the data to a remote server + * + * __NOTE__: Photo resolution on newer devices is quite good. Photos + * selected from the device's gallery are not downscaled to a lower + * quality, even if a `quality` parameter is specified. To avoid common + * memory problems, set `Camera.destinationType` to `FILE_URI` rather + * than `DATA_URL`. + * + * __Supported Platforms__ + * + * - Android + * - BlackBerry + * - Browser + * - Firefox + * - FireOS + * - iOS + * - Windows + * - WP8 + * - Ubuntu + * + * More examples [here](#camera-getPicture-examples). Quirks [here](#camera-getPicture-quirks). + * + * @example + * navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions); + * @param {module:camera.onSuccess} successCallback + * @param {module:camera.onError} errorCallback + * @param {module:camera.CameraOptions} options CameraOptions + */ +cameraExport.getPicture = function (successCallback, errorCallback, options) { + argscheck.checkArgs('fFO', 'Camera.getPicture', arguments); + options = options || {}; + var getValue = argscheck.getValue; + + var quality = getValue(options.quality, 50); + var destinationType = getValue(options.destinationType, Camera.DestinationType.FILE_URI); + var sourceType = getValue(options.sourceType, Camera.PictureSourceType.CAMERA); + var targetWidth = getValue(options.targetWidth, -1); + var targetHeight = getValue(options.targetHeight, -1); + var encodingType = getValue(options.encodingType, Camera.EncodingType.JPEG); + var mediaType = getValue(options.mediaType, Camera.MediaType.PICTURE); + var allowEdit = !!options.allowEdit; + var correctOrientation = !!options.correctOrientation; + var saveToPhotoAlbum = !!options.saveToPhotoAlbum; + var popoverOptions = getValue(options.popoverOptions, null); + var cameraDirection = getValue(options.cameraDirection, Camera.Direction.BACK); + + var args = [quality, destinationType, sourceType, targetWidth, targetHeight, encodingType, + mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions, cameraDirection]; + + exec(successCallback, errorCallback, 'Camera', 'takePicture', args); + // XXX: commented out + // return new CameraPopoverHandle(); +}; + +/** + * Removes intermediate image files that are kept in temporary storage + * after calling [`camera.getPicture`]{@link module:camera.getPicture}. Applies only when the value of + * `Camera.sourceType` equals `Camera.PictureSourceType.CAMERA` and the + * `Camera.destinationType` equals `Camera.DestinationType.FILE_URI`. + * + * __Supported Platforms__ + * + * - iOS + * + * @example + * navigator.camera.cleanup(onSuccess, onFail); + * + * function onSuccess() { + * console.log("Camera cleanup success.") + * } + * + * function onFail(message) { + * alert('Failed because: ' + message); + * } + */ +cameraExport.cleanup = function (successCallback, errorCallback) { + exec(successCallback, errorCallback, 'Camera', 'cleanup', []); +}; + +module.exports = cameraExport; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraConstants.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraConstants.js new file mode 100644 index 00000000..4f4b046f --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraConstants.js @@ -0,0 +1,104 @@ +cordova.define("cordova-plugin-camera.Camera", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * @module Camera + */ +module.exports = { + /** + * @description + * Defines the output format of `Camera.getPicture` call. + * _Note:_ On iOS passing `DestinationType.NATIVE_URI` along with + * `PictureSourceType.PHOTOLIBRARY` or `PictureSourceType.SAVEDPHOTOALBUM` will + * disable any image modifications (resize, quality change, cropping, etc.) due + * to implementation specific. + * + * @enum {number} + */ + DestinationType: { + /** Return base64 encoded string. DATA_URL can be very memory intensive and cause app crashes or out of memory errors. Use FILE_URI or NATIVE_URI if possible */ + DATA_URL: 0, + /** Return file uri (content://media/external/images/media/2 for Android) */ + FILE_URI: 1, + /** Return native uri (eg. asset-library://... for iOS) */ + NATIVE_URI: 2 + }, + /** + * @enum {number} + */ + EncodingType: { + /** Return JPEG encoded image */ + JPEG: 0, + /** Return PNG encoded image */ + PNG: 1 + }, + /** + * @enum {number} + */ + MediaType: { + /** Allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType */ + PICTURE: 0, + /** Allow selection of video only, ONLY RETURNS URL */ + VIDEO: 1, + /** Allow selection from all media types */ + ALLMEDIA: 2 + }, + /** + * @description + * Defines the output format of `Camera.getPicture` call. + * _Note:_ On iOS passing `PictureSourceType.PHOTOLIBRARY` or `PictureSourceType.SAVEDPHOTOALBUM` + * along with `DestinationType.NATIVE_URI` will disable any image modifications (resize, quality + * change, cropping, etc.) due to implementation specific. + * + * @enum {number} + */ + PictureSourceType: { + /** Choose image from the device's photo library (same as SAVEDPHOTOALBUM for Android) */ + PHOTOLIBRARY: 0, + /** Take picture from camera */ + CAMERA: 1, + /** Choose image only from the device's Camera Roll album (same as PHOTOLIBRARY for Android) */ + SAVEDPHOTOALBUM: 2 + }, + /** + * Matches iOS UIPopoverArrowDirection constants to specify arrow location on popover. + * @enum {number} + */ + PopoverArrowDirection: { + ARROW_UP: 1, + ARROW_DOWN: 2, + ARROW_LEFT: 4, + ARROW_RIGHT: 8, + ARROW_ANY: 15 + }, + /** + * @enum {number} + */ + Direction: { + /** Use the back-facing camera */ + BACK: 0, + /** Use the front-facing camera */ + FRONT: 1 + } +}; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraPopoverHandle.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraPopoverHandle.js new file mode 100644 index 00000000..c970f55a --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraPopoverHandle.js @@ -0,0 +1,35 @@ +cordova.define("cordova-plugin-camera.CameraPopoverHandle", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * @ignore in favour of iOS' one + * A handle to an image picker popover. + */ +var CameraPopoverHandle = function () { + this.setPosition = function (popoverOptions) { + console.log('CameraPopoverHandle.setPosition is only supported on iOS.'); + }; +}; + +module.exports = CameraPopoverHandle; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraPopoverOptions.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraPopoverOptions.js new file mode 100644 index 00000000..81d7d20e --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-camera/www/CameraPopoverOptions.js @@ -0,0 +1,55 @@ +cordova.define("cordova-plugin-camera.CameraPopoverOptions", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var Camera = require('./Camera'); + +/** + * @namespace navigator + */ + +/** + * iOS-only parameters that specify the anchor element location and arrow + * direction of the popover when selecting images from an iPad's library + * or album. + * Note that the size of the popover may change to adjust to the + * direction of the arrow and orientation of the screen. Make sure to + * account for orientation changes when specifying the anchor element + * location. + * @module CameraPopoverOptions + * @param {Number} [x=0] - x pixel coordinate of screen element onto which to anchor the popover. + * @param {Number} [y=32] - y pixel coordinate of screen element onto which to anchor the popover. + * @param {Number} [width=320] - width, in pixels, of the screen element onto which to anchor the popover. + * @param {Number} [height=480] - height, in pixels, of the screen element onto which to anchor the popover. + * @param {module:Camera.PopoverArrowDirection} [arrowDir=ARROW_ANY] - Direction the arrow on the popover should point. + */ +var CameraPopoverOptions = function (x, y, width, height, arrowDir) { + // information of rectangle that popover should be anchored to + this.x = x || 0; + this.y = y || 32; + this.width = width || 320; + this.height = height || 480; + this.arrowDir = arrowDir || Camera.PopoverArrowDirection.ARROW_ANY; +}; + +module.exports = CameraPopoverOptions; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-datepicker/www/android/DatePicker.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-datepicker/www/android/DatePicker.js new file mode 100644 index 00000000..c05ee3da --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-datepicker/www/android/DatePicker.js @@ -0,0 +1,99 @@ +cordova.define("cordova-plugin-datepicker.DatePicker", function(require, exports, module) { +/** + * Phonegap DatePicker Plugin Copyright (c) Greg Allen 2011 MIT Licensed + * Reused and ported to Android plugin by Daniel van 't Oever + */ + +/** + * Constructor + */ +function DatePicker() { + //this._callback; +} + +/** + * Android themes + */ +DatePicker.prototype.ANDROID_THEMES = { + THEME_TRADITIONAL : 1, // default + THEME_HOLO_DARK : 2, + THEME_HOLO_LIGHT : 3, + THEME_DEVICE_DEFAULT_DARK : 4, + THEME_DEVICE_DEFAULT_LIGHT : 5 +}; + +/** + * show - true to show the ad, false to hide the ad + */ +DatePicker.prototype.show = function(options, cb, errCb) { + + if (options.date && options.date instanceof Date) { + options.date = (options.date.getMonth() + 1) + "/" + + (options.date.getDate()) + "/" + + (options.date.getFullYear()) + "/" + + (options.date.getHours()) + "/" + + (options.date.getMinutes()); + } + + var defaults = { + mode : 'date', + date : '', + minDate: 0, + maxDate: 0, + titleText: '', + cancelText: '', + okText: '', + todayText: '', + nowText: '', + is24Hour: false, + androidTheme : window.datePicker.ANDROID_THEMES.THEME_TRADITIONAL, // Default theme + }; + + for (var key in defaults) { + if (typeof options[key] !== "undefined") { + defaults[key] = options[key]; + } + } + + //this._callback = cb; + + var callback = function(message) { + if(message != 'error'){ + var timestamp = Date.parse(message); + if(isNaN(timestamp) == false) { + cb(new Date(message)); + } + else { + cb(); + } + } else { + // TODO error popup? + } + } + + var errCallback = function(message) { + if (typeof errCb === 'function') { + errCb(message); + } + } + + cordova.exec(callback, + errCallback, + "DatePickerPlugin", + defaults.mode, + [defaults] + ); +}; + +var datePicker = new DatePicker(); +module.exports = datePicker; + +// Make plugin work under window.plugins +if (!window.plugins) { + window.plugins = {}; +} +if (!window.plugins.datePicker) { + window.plugins.datePicker = datePicker; +} + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-device/www/device.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-device/www/device.js new file mode 100644 index 00000000..ae48e354 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-device/www/device.js @@ -0,0 +1,86 @@ +cordova.define("cordova-plugin-device.device", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var argscheck = require('cordova/argscheck'); +var channel = require('cordova/channel'); +var utils = require('cordova/utils'); +var exec = require('cordova/exec'); +var cordova = require('cordova'); + +channel.createSticky('onCordovaInfoReady'); +// Tell cordova channel to wait on the CordovaInfoReady event +channel.waitForInitialization('onCordovaInfoReady'); + +/** + * This represents the mobile device, and provides properties for inspecting the model, version, UUID of the + * phone, etc. + * @constructor + */ +function Device () { + this.available = false; + this.platform = null; + this.version = null; + this.uuid = null; + this.cordova = null; + this.model = null; + this.manufacturer = null; + this.isVirtual = null; + this.serial = null; + + var me = this; + + channel.onCordovaReady.subscribe(function () { + me.getInfo(function (info) { + // ignoring info.cordova returning from native, we should use value from cordova.version defined in cordova.js + // TODO: CB-5105 native implementations should not return info.cordova + var buildLabel = cordova.version; + me.available = true; + me.platform = info.platform; + me.version = info.version; + me.uuid = info.uuid; + me.cordova = buildLabel; + me.model = info.model; + me.isVirtual = info.isVirtual; + me.manufacturer = info.manufacturer || 'unknown'; + me.serial = info.serial || 'unknown'; + channel.onCordovaInfoReady.fire(); + }, function (e) { + me.available = false; + utils.alert('[ERROR] Error initializing Cordova: ' + e); + }); + }); +} + +/** + * Get device info + * + * @param {Function} successCallback The function to call when the heading data is available + * @param {Function} errorCallback The function to call when there is an error getting the heading data. (OPTIONAL) + */ +Device.prototype.getInfo = function (successCallback, errorCallback) { + argscheck.checkArgs('fF', 'Device.getInfo', arguments); + exec(successCallback, errorCallback, 'Device', 'getDeviceInfo', []); +}; + +module.exports = new Device(); + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-dialogs/www/android/notification.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-dialogs/www/android/notification.js new file mode 100644 index 00000000..03333918 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-dialogs/www/android/notification.js @@ -0,0 +1,77 @@ +cordova.define("cordova-plugin-dialogs.notification_android", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = require('cordova/exec'); + +/** + * Provides Android enhanced notification API. + */ +module.exports = { + activityStart: function (title, message) { + // If title and message not specified then mimic Android behavior of + // using default strings. + if (typeof title === 'undefined' && typeof message === 'undefined') { + title = 'Busy'; + message = 'Please wait...'; + } + + exec(null, null, 'Notification', 'activityStart', [ title, message ]); + }, + + /** + * Close an activity dialog + */ + activityStop: function () { + exec(null, null, 'Notification', 'activityStop', []); + }, + + /** + * Display a progress dialog with progress bar that goes from 0 to 100. + * + * @param {String} + * title Title of the progress dialog. + * @param {String} + * message Message to display in the dialog. + */ + progressStart: function (title, message) { + exec(null, null, 'Notification', 'progressStart', [ title, message ]); + }, + + /** + * Close the progress dialog. + */ + progressStop: function () { + exec(null, null, 'Notification', 'progressStop', []); + }, + + /** + * Set the progress dialog value. + * + * @param {Number} + * value 0-100 + */ + progressValue: function (value) { + exec(null, null, 'Notification', 'progressValue', [ value ]); + } +}; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-dialogs/www/notification.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-dialogs/www/notification.js new file mode 100644 index 00000000..e34e710e --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-dialogs/www/notification.js @@ -0,0 +1,133 @@ +cordova.define("cordova-plugin-dialogs.notification", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = require('cordova/exec'); +var platform = require('cordova/platform'); + +/** + * Provides access to notifications on the device. + */ + +module.exports = { + + /** + * Open a native alert dialog, with a customizable title and button text. + * + * @param {String} message Message to print in the body of the alert + * @param {Function} completeCallback The callback that is called when user clicks on a button. + * @param {String} title Title of the alert dialog (default: Alert) + * @param {String} buttonLabel Label of the close button (default: OK) + */ + alert: function (message, completeCallback, title, buttonLabel) { + var _message = (typeof message === 'string' ? message : JSON.stringify(message)); + var _title = (typeof title === 'string' ? title : 'Alert'); + var _buttonLabel = (buttonLabel && typeof buttonLabel === 'string' ? buttonLabel : 'OK'); + exec(completeCallback, null, 'Notification', 'alert', [_message, _title, _buttonLabel]); + }, + + /** + * Open a native confirm dialog, with a customizable title and button text. + * The result that the user selects is returned to the result callback. + * + * @param {String} message Message to print in the body of the alert + * @param {Function} resultCallback The callback that is called when user clicks on a button. + * @param {String} title Title of the alert dialog (default: Confirm) + * @param {Array} buttonLabels Array of the labels of the buttons (default: ['OK', 'Cancel']) + */ + confirm: function (message, resultCallback, title, buttonLabels) { + var _message = (typeof message === 'string' ? message : JSON.stringify(message)); + var _title = (typeof title === 'string' ? title : 'Confirm'); + var _buttonLabels = (buttonLabels || ['OK', 'Cancel']); + + // Strings are deprecated! + if (typeof _buttonLabels === 'string') { + console.log('Notification.confirm(string, function, string, string) is deprecated. Use Notification.confirm(string, function, string, array).'); + } + + _buttonLabels = convertButtonLabels(_buttonLabels); + + exec(resultCallback, null, 'Notification', 'confirm', [_message, _title, _buttonLabels]); + }, + + /** + * Open a native prompt dialog, with a customizable title and button text. + * The following results are returned to the result callback: + * buttonIndex Index number of the button selected. + * input1 The text entered in the prompt dialog box. + * + * @param {String} message Dialog message to display (default: "Prompt message") + * @param {Function} resultCallback The callback that is called when user clicks on a button. + * @param {String} title Title of the dialog (default: "Prompt") + * @param {Array} buttonLabels Array of strings for the button labels (default: ["OK","Cancel"]) + * @param {String} defaultText Textbox input value (default: empty string) + */ + prompt: function (message, resultCallback, title, buttonLabels, defaultText) { + var _message = (typeof message === 'string' ? message : JSON.stringify(message)); + var _title = (typeof title === 'string' ? title : 'Prompt'); + var _buttonLabels = (buttonLabels || ['OK', 'Cancel']); + + // Strings are deprecated! + if (typeof _buttonLabels === 'string') { + console.log('Notification.prompt(string, function, string, string) is deprecated. Use Notification.confirm(string, function, string, array).'); + } + + _buttonLabels = convertButtonLabels(_buttonLabels); + + var _defaultText = (defaultText || ''); + exec(resultCallback, null, 'Notification', 'prompt', [_message, _title, _buttonLabels, _defaultText]); + }, + + /** + * Causes the device to beep. + * On Android, the default notification ringtone is played "count" times. + * + * @param {Integer} count The number of beeps. + */ + beep: function (count) { + var defaultedCount = count || 1; + exec(null, null, 'Notification', 'beep', [ defaultedCount ]); + } +}; + +function convertButtonLabels (buttonLabels) { + + // Some platforms take an array of button label names. + // Other platforms take a comma separated list. + // For compatibility, we convert to the desired type based on the platform. + if (platform.id === 'amazon-fireos' || platform.id === 'android' || platform.id === 'ios' || + platform.id === 'windowsphone' || platform.id === 'firefoxos' || platform.id === 'ubuntu' || + platform.id === 'windows8' || platform.id === 'windows') { + + if (typeof buttonLabels === 'string') { + buttonLabels = buttonLabels.split(','); // not crazy about changing the var type here + } + } else { + if (Array.isArray(buttonLabels)) { + var buttonLabelArray = buttonLabels; + buttonLabels = buttonLabelArray.toString(); + } + } + + return buttonLabels; +} + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-fingerprint-aio/www/Fingerprint.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-fingerprint-aio/www/Fingerprint.js new file mode 100644 index 00000000..39821393 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-fingerprint-aio/www/Fingerprint.js @@ -0,0 +1,29 @@ +cordova.define("cordova-plugin-fingerprint-aio.Fingerprint", function(require, exports, module) { +/*global cordova */ + +function Fingerprint() { +} + +Fingerprint.prototype.show = function (params, successCallback, errorCallback) { + cordova.exec( + successCallback, + errorCallback, + "Fingerprint", + "authenticate", + [params] + ); +}; + +Fingerprint.prototype.isAvailable = function (successCallback, errorCallback) { + cordova.exec( + successCallback, + errorCallback, + "Fingerprint", + "isAvailable", + [{}] + ); +}; + +module.exports = new Fingerprint(); + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-geolocation/www/PositionError.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-geolocation/www/PositionError.js new file mode 100644 index 00000000..c26dd754 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-geolocation/www/PositionError.js @@ -0,0 +1,41 @@ +cordova.define("cordova-plugin-geolocation.PositionError", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * Position error object + * + * @constructor + * @param code + * @param message + */ +var PositionError = function(code, message) { + this.code = code || null; + this.message = message || ''; +}; + +PositionError.prototype.PERMISSION_DENIED = PositionError.PERMISSION_DENIED = 1; +PositionError.prototype.POSITION_UNAVAILABLE = PositionError.POSITION_UNAVAILABLE = 2; +PositionError.prototype.TIMEOUT = PositionError.TIMEOUT = 3; + +module.exports = PositionError; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-geolocation/www/android/geolocation.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-geolocation/www/android/geolocation.js new file mode 100644 index 00000000..814aafbc --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-geolocation/www/android/geolocation.js @@ -0,0 +1,74 @@ +cordova.define("cordova-plugin-geolocation.geolocation", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = cordova.require('cordova/exec'); +var utils = require('cordova/utils'); +var PositionError = require('./PositionError'); + +// Native watchPosition method is called async after permissions prompt. +// So we use additional map and own ids to return watch id synchronously. +var pluginToNativeWatchMap = {}; + +module.exports = { + getCurrentPosition: function(success, error, args) { + var win = function() { + var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation'); + geo.getCurrentPosition(success, error, args); + }; + var fail = function() { + if (error) { + error(new PositionError (PositionError.PERMISSION_DENIED, 'Illegal Access')); + } + }; + exec(win, fail, "Geolocation", "getPermission", []); + }, + + watchPosition: function(success, error, args) { + var pluginWatchId = utils.createUUID(); + + var win = function() { + var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation'); + pluginToNativeWatchMap[pluginWatchId] = geo.watchPosition(success, error, args); + }; + + var fail = function() { + if (error) { + error(new PositionError(PositionError.PERMISSION_DENIED, 'Illegal Access')); + } + }; + exec(win, fail, "Geolocation", "getPermission", []); + + return pluginWatchId; + }, + + clearWatch: function(pluginWatchId) { + var win = function() { + var nativeWatchId = pluginToNativeWatchMap[pluginWatchId]; + var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation'); + geo.clearWatch(nativeWatchId); + }; + + exec(win, null, "Geolocation", "getPermission", []); + } +}; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js new file mode 100644 index 00000000..34f71c57 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js @@ -0,0 +1,84 @@ +cordova.define("cordova-plugin-ionic-keyboard.keyboard", function(require, exports, module) { +var argscheck = require('cordova/argscheck'), + utils = require('cordova/utils'), + exec = require('cordova/exec'), + channel = require('cordova/channel'); + + +var Keyboard = function () {}; + +Keyboard.fireOnShow = function (height) { + Keyboard.isVisible = true; + cordova.fireWindowEvent('keyboardDidShow', { + 'keyboardHeight': height + }); + + // To support the keyboardAttach directive listening events + // inside Ionic's main bundle + cordova.fireWindowEvent('native.keyboardshow', { + 'keyboardHeight': height + }); +}; + +Keyboard.fireOnHide = function () { + Keyboard.isVisible = false; + cordova.fireWindowEvent('keyboardDidHide'); + + // To support the keyboardAttach directive listening events + // inside Ionic's main bundle + cordova.fireWindowEvent('native.keyboardhide'); +}; + +Keyboard.fireOnHiding = function () { + cordova.fireWindowEvent('keyboardWillHide'); +}; + +Keyboard.fireOnShowing = function (height) { + cordova.fireWindowEvent('keyboardWillShow', { + 'keyboardHeight': height + }); +}; + +Keyboard.hideFormAccessoryBar = Keyboard.hideKeyboardAccessoryBar = function (hide) { + exec(null, null, "Keyboard", "hideKeyboardAccessoryBar", [hide]); +}; + +Keyboard.hide = function () { + exec(null, null, "Keyboard", "hide", []); +}; + +Keyboard.show = function () { + exec(null, null, "Keyboard", "show", []); +}; + +Keyboard.disableScroll = function (disable) { + console.warn("Keyboard.disableScroll() was removed"); +}; + +Keyboard.setResizeMode = function (mode) { + console.warn("Keyboard.setResizeMode() not supported in Android"); +} + +channel.onCordovaReady.subscribe(function () { + exec(success, null, 'Keyboard', 'init', []); + + function success(msg) { + var action = msg.charAt(0); + if (action === 'S') { + var keyboardHeight = parseInt(msg.substr(1)); + Keyboard.fireOnShowing(keyboardHeight); + Keyboard.fireOnShow(keyboardHeight); + + } else if (action === 'H') { + Keyboard.fireOnHiding(); + Keyboard.fireOnHide(); + } + } +}); + + +Keyboard.isVisible = false; + +module.exports = Keyboard; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-ionic-webview/src/www/util.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-ionic-webview/src/www/util.js new file mode 100644 index 00000000..5a830544 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-ionic-webview/src/www/util.js @@ -0,0 +1,30 @@ +cordova.define("cordova-plugin-ionic-webview.IonicWebView", function(require, exports, module) { +var exec = require('cordova/exec'); + +var WebView = { + convertFileSrc: function(url) { + if (!url) { + return url; + } + if (!url.startsWith('file://')) { + return url; + } + url = url.substr(7); // len("file://") == 7 + if (url.length === 0 || url[0] !== '/') { // ensure the new URL starts with / + url = '/' + url; + } + return window.WEBVIEW_SERVER_URL + '/_file_' + url; + }, + setServerBasePath: function(path) { + exec(null, null, 'IonicWebView', 'setServerBasePath', [path]); + }, + getServerBasePath: function(callback) { + exec(callback, null, 'IonicWebView', 'getServerBasePath', []); + }, + persistServerBasePath: function() { + exec(null, null, 'IonicWebView', 'persistServerBasePath', []); + } +} + +module.exports = WebView; +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-request-location-accuracy/www/android/RequestLocationAccuracy.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-request-location-accuracy/www/android/RequestLocationAccuracy.js new file mode 100644 index 00000000..fe484a0a --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-request-location-accuracy/www/android/RequestLocationAccuracy.js @@ -0,0 +1,154 @@ +cordova.define("cordova-plugin-request-location-accuracy.RequestLocationAccuracy", function(require, exports, module) { +/** + * Request Location Accuracy plugin + * + * Copyright (c) 2016 Dave Alden (Working Edge Ltd.) + **/ +var RequestLocationAccuracy = function(){ + this.requesting = false; +}; + +/** + * Request location mode priority "no power": the best accuracy possible with zero additional power consumption. + * https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#PRIORITY_NO_POWER + * @type {number} + */ +RequestLocationAccuracy.prototype.REQUEST_PRIORITY_NO_POWER = 0; + +/** + * Request location mode priority "low power": "city" level accuracy (about 10km accuracy) + * https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#PRIORITY_LOW_POWER + * @type {number} + */ +RequestLocationAccuracy.prototype.REQUEST_PRIORITY_LOW_POWER = 1; + +/** + * Request location mode priority "balanced power": "block" level accuracy (about 100 meter accuracy) + * https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#PRIORITY_BALANCED_POWER_ACCURACY + * @type {number} + */ +RequestLocationAccuracy.prototype.REQUEST_PRIORITY_BALANCED_POWER_ACCURACY = 2; + +/** + * Request location mode priority "high accuracy": the most accurate locations available. This will use GPS hardware to retrieve positions. + * https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#PRIORITY_HIGH_ACCURACY + * @type {number} + */ +RequestLocationAccuracy.prototype.REQUEST_PRIORITY_HIGH_ACCURACY = 3; + + +/** + * Success due to current location settings already satisfying requested accuracy + * @type {number} + */ +RequestLocationAccuracy.prototype.SUCCESS_SETTINGS_SATISFIED = 0; + +/** + * Success due to user agreeing to requested accuracy change + * @type {number} + */ +RequestLocationAccuracy.prototype.SUCCESS_USER_AGREED = 1; + +/** + * Error due an unresolved request already being in progress. + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_ALREADY_REQUESTING = -1; + +/** + * Error due invalid action requested + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_INVALID_ACTION = 0; + +/** + * Error due invalid accuracy requested + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_INVALID_ACCURACY = 1; + +/** + * Error due to exception in the native code + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_EXCEPTION = 2; + +/** + * Error due to not being able to change location accuracy to requested state + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_CANNOT_CHANGE_ACCURACY = 3; + +/** + * Error due to user rejecting requested accuracy change + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_USER_DISAGREED = 4; + +/** + * Error due to failure to connect to Google Play Services API + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_GOOGLE_API_CONNECTION_FAILED = 5; + +/** + * Requests a specific accuracy for Location Services. + * + * @param [Function} successCallback - callback to be invoked on successful resolution of the requested accuracy. + * A single object argument will be passed which has two keys: "code" in an integer corresponding to a SUCCESS constant and indicates the reason for success; + * "message" is a string containing a description of the success. + * @param {Function} errorCallback - callback to be invoked on failure to resolve the requested accuracy. + * A single object argument will be passed which has two keys: "code" in an integer corresponding to an ERROR constant and indicates the reason for failure; + * "message" is a string containing a description of the error. + * @param {Integer} accuracy - The location accuracy to request defined by an integer corresponding to a REQUEST constant. + */ +RequestLocationAccuracy.prototype.request = function(successCallback, errorCallback, accuracy) { + var _this = this; + + if(this.requesting){ + return errorCallback({ + code: _this.ERROR_ALREADY_REQUESTING, + message: "A request is already in progress" + }); + } + + this.requesting = true; + + return cordova.exec(function(data){ + _this.requesting = false; + successCallback(data) + }, + function(err) { + _this.requesting = false; + errorCallback(err); + }, + 'RequestLocationAccuracy', + 'request', + [accuracy]); +}; + +/** + * Indicates if a request is currently in progress. + * + * @param [Function} successCallback - callback to pass result to. + * This is passed a boolean argument indicating if a request is currently in progress; + */ +RequestLocationAccuracy.prototype.isRequesting = function(successCallback) { + successCallback(!!this.requesting); +}; + +/** + * Indicates if it is possible to request a specific location accuracy. + * This will return true if the app is authorized to use location. + * + * @param [Function} successCallback - callback to pass result to. + * This is passed a boolean argument indicating if a request can be made. + */ +RequestLocationAccuracy.prototype.canRequest = function(successCallback) { + return cordova.exec(successCallback, null, 'RequestLocationAccuracy', 'canRequest', []); +}; + +module.exports = new RequestLocationAccuracy(); + + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-splashscreen/www/splashscreen.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-splashscreen/www/splashscreen.js new file mode 100644 index 00000000..5beaa5fd --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-splashscreen/www/splashscreen.js @@ -0,0 +1,36 @@ +cordova.define("cordova-plugin-splashscreen.SplashScreen", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = require('cordova/exec'); + +var splashscreen = { + show:function() { + exec(null, null, "SplashScreen", "show", []); + }, + hide:function() { + exec(null, null, "SplashScreen", "hide", []); + } +}; + +module.exports = splashscreen; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-statusbar/www/statusbar.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-statusbar/www/statusbar.js new file mode 100644 index 00000000..708186f9 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-plugin-statusbar/www/statusbar.js @@ -0,0 +1,116 @@ +cordova.define("cordova-plugin-statusbar.statusbar", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/* global cordova */ + +var exec = require('cordova/exec'); + +var namedColors = { + "black": "#000000", + "darkGray": "#A9A9A9", + "lightGray": "#D3D3D3", + "white": "#FFFFFF", + "gray": "#808080", + "red": "#FF0000", + "green": "#00FF00", + "blue": "#0000FF", + "cyan": "#00FFFF", + "yellow": "#FFFF00", + "magenta": "#FF00FF", + "orange": "#FFA500", + "purple": "#800080", + "brown": "#A52A2A" +}; + +var StatusBar = { + + isVisible: true, + + overlaysWebView: function (doOverlay) { + exec(null, null, "StatusBar", "overlaysWebView", [doOverlay]); + }, + + styleDefault: function () { + // dark text ( to be used on a light background ) + exec(null, null, "StatusBar", "styleDefault", []); + }, + + styleLightContent: function () { + // light text ( to be used on a dark background ) + exec(null, null, "StatusBar", "styleLightContent", []); + }, + + styleBlackTranslucent: function () { + // #88000000 ? Apple says to use lightContent instead + exec(null, null, "StatusBar", "styleBlackTranslucent", []); + }, + + styleBlackOpaque: function () { + // #FF000000 ? Apple says to use lightContent instead + exec(null, null, "StatusBar", "styleBlackOpaque", []); + }, + + backgroundColorByName: function (colorname) { + return StatusBar.backgroundColorByHexString(namedColors[colorname]); + }, + + backgroundColorByHexString: function (hexString) { + if (hexString.charAt(0) !== "#") { + hexString = "#" + hexString; + } + + if (hexString.length === 4) { + var split = hexString.split(""); + hexString = "#" + split[1] + split[1] + split[2] + split[2] + split[3] + split[3]; + } + + exec(null, null, "StatusBar", "backgroundColorByHexString", [hexString]); + }, + + hide: function () { + exec(null, null, "StatusBar", "hide", []); + StatusBar.isVisible = false; + }, + + show: function () { + exec(null, null, "StatusBar", "show", []); + StatusBar.isVisible = true; + } + +}; + +// prime it. setTimeout so that proxy gets time to init +window.setTimeout(function () { + exec(function (res) { + if (typeof res == 'object') { + if (res.type == 'tap') { + cordova.fireWindowEvent('statusTap'); + } + } else { + StatusBar.isVisible = res; + } + }, null, "StatusBar", "_ready", []); +}, 0); + +module.exports = StatusBar; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js new file mode 100644 index 00000000..3f2da516 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js @@ -0,0 +1,920 @@ +cordova.define("cordova-sqlite-storage.SQLitePlugin", function(require, exports, module) { +(function() { + var DB_STATE_INIT, DB_STATE_OPEN, READ_ONLY_REGEX, SQLiteFactory, SQLitePlugin, SQLitePluginTransaction, SelfTest, argsArray, dblocations, iosLocationMap, newSQLError, nextTick, root, txLocks; + + root = this; + + READ_ONLY_REGEX = /^(\s|;)*(?:alter|create|delete|drop|insert|reindex|replace|update)/i; + + DB_STATE_INIT = "INIT"; + + DB_STATE_OPEN = "OPEN"; + + txLocks = {}; + + newSQLError = function(error, code) { + var sqlError; + sqlError = error; + if (!code) { + code = 0; + } + if (!sqlError) { + sqlError = new Error("a plugin had an error but provided no response"); + sqlError.code = code; + } + if (typeof sqlError === "string") { + sqlError = new Error(error); + sqlError.code = code; + } + if (!sqlError.code && sqlError.message) { + sqlError.code = code; + } + if (!sqlError.code && !sqlError.message) { + sqlError = new Error("an unknown error was returned: " + JSON.stringify(sqlError)); + sqlError.code = code; + } + return sqlError; + }; + + nextTick = window.setImmediate || function(fun) { + window.setTimeout(fun, 0); + }; + + + /* + Utility that avoids leaking the arguments object. See + https://www.npmjs.org/package/argsarray + */ + + argsArray = function(fun) { + return function() { + var args, i, len; + len = arguments.length; + if (len) { + args = []; + i = -1; + while (++i < len) { + args[i] = arguments[i]; + } + return fun.call(this, args); + } else { + return fun.call(this, []); + } + }; + }; + + SQLitePlugin = function(openargs, openSuccess, openError) { + var dbname; + if (!(openargs && openargs['name'])) { + throw newSQLError("Cannot create a SQLitePlugin db instance without a db name"); + } + dbname = openargs.name; + if (typeof dbname !== 'string') { + throw newSQLError('sqlite plugin database name must be a string'); + } + this.openargs = openargs; + this.dbname = dbname; + this.openSuccess = openSuccess; + this.openError = openError; + this.openSuccess || (this.openSuccess = function() { + console.log("DB opened: " + dbname); + }); + this.openError || (this.openError = function(e) { + console.log(e.message); + }); + this.open(this.openSuccess, this.openError); + }; + + SQLitePlugin.prototype.databaseFeatures = { + isSQLitePluginDatabase: true + }; + + SQLitePlugin.prototype.openDBs = {}; + + SQLitePlugin.prototype.addTransaction = function(t) { + if (!txLocks[this.dbname]) { + txLocks[this.dbname] = { + queue: [], + inProgress: false + }; + } + txLocks[this.dbname].queue.push(t); + if (this.dbname in this.openDBs && this.openDBs[this.dbname] !== DB_STATE_INIT) { + this.startNextTransaction(); + } else { + if (this.dbname in this.openDBs) { + console.log('new transaction is queued, waiting for open operation to finish'); + } else { + console.log('database is closed, new transaction is [stuck] waiting until db is opened again!'); + } + } + }; + + SQLitePlugin.prototype.transaction = function(fn, error, success) { + if (!this.openDBs[this.dbname]) { + error(newSQLError('database not open')); + return; + } + this.addTransaction(new SQLitePluginTransaction(this, fn, error, success, true, false)); + }; + + SQLitePlugin.prototype.readTransaction = function(fn, error, success) { + if (!this.openDBs[this.dbname]) { + error(newSQLError('database not open')); + return; + } + this.addTransaction(new SQLitePluginTransaction(this, fn, error, success, false, true)); + }; + + SQLitePlugin.prototype.startNextTransaction = function() { + var self; + self = this; + nextTick((function(_this) { + return function() { + var txLock; + if (!(_this.dbname in _this.openDBs) || _this.openDBs[_this.dbname] !== DB_STATE_OPEN) { + console.log('cannot start next transaction: database not open'); + return; + } + txLock = txLocks[self.dbname]; + if (!txLock) { + console.log('cannot start next transaction: database connection is lost'); + return; + } else if (txLock.queue.length > 0 && !txLock.inProgress) { + txLock.inProgress = true; + txLock.queue.shift().start(); + } + }; + })(this)); + }; + + SQLitePlugin.prototype.abortAllPendingTransactions = function() { + var j, len1, ref, tx, txLock; + txLock = txLocks[this.dbname]; + if (!!txLock && txLock.queue.length > 0) { + ref = txLock.queue; + for (j = 0, len1 = ref.length; j < len1; j++) { + tx = ref[j]; + tx.abortFromQ(newSQLError('Invalid database handle')); + } + txLock.queue = []; + txLock.inProgress = false; + } + }; + + SQLitePlugin.prototype.open = function(success, error) { + var openerrorcb, opensuccesscb, step2; + if (this.dbname in this.openDBs) { + console.log('database already open: ' + this.dbname); + nextTick((function(_this) { + return function() { + success(_this); + }; + })(this)); + } else { + console.log('OPEN database: ' + this.dbname); + opensuccesscb = (function(_this) { + return function() { + var txLock; + console.log('OPEN database: ' + _this.dbname + ' - OK'); + if (!_this.openDBs[_this.dbname]) { + console.log('database was closed during open operation'); + } + if (_this.dbname in _this.openDBs) { + _this.openDBs[_this.dbname] = DB_STATE_OPEN; + } + if (!!success) { + success(_this); + } + txLock = txLocks[_this.dbname]; + if (!!txLock && txLock.queue.length > 0 && !txLock.inProgress) { + _this.startNextTransaction(); + } + }; + })(this); + openerrorcb = (function(_this) { + return function() { + console.log('OPEN database: ' + _this.dbname + ' FAILED, aborting any pending transactions'); + if (!!error) { + error(newSQLError('Could not open database')); + } + delete _this.openDBs[_this.dbname]; + _this.abortAllPendingTransactions(); + }; + })(this); + this.openDBs[this.dbname] = DB_STATE_INIT; + step2 = (function(_this) { + return function() { + cordova.exec(opensuccesscb, openerrorcb, "SQLitePlugin", "open", [_this.openargs]); + }; + })(this); + cordova.exec(step2, step2, 'SQLitePlugin', 'close', [ + { + path: this.dbname + } + ]); + } + }; + + SQLitePlugin.prototype.close = function(success, error) { + if (this.dbname in this.openDBs) { + if (txLocks[this.dbname] && txLocks[this.dbname].inProgress) { + console.log('cannot close: transaction is in progress'); + error(newSQLError('database cannot be closed while a transaction is in progress')); + return; + } + console.log('CLOSE database: ' + this.dbname); + delete this.openDBs[this.dbname]; + if (txLocks[this.dbname]) { + console.log('closing db with transaction queue length: ' + txLocks[this.dbname].queue.length); + } else { + console.log('closing db with no transaction lock state'); + } + cordova.exec(success, error, "SQLitePlugin", "close", [ + { + path: this.dbname + } + ]); + } else { + console.log('cannot close: database is not open'); + if (error) { + nextTick(function() { + return error(); + }); + } + } + }; + + SQLitePlugin.prototype.executeSql = function(statement, params, success, error) { + var myerror, myfn, mysuccess; + mysuccess = function(t, r) { + if (!!success) { + return success(r); + } + }; + myerror = function(t, e) { + if (!!error) { + return error(e); + } + }; + myfn = function(tx) { + tx.addStatement(statement, params, mysuccess, myerror); + }; + this.addTransaction(new SQLitePluginTransaction(this, myfn, null, null, false, false)); + }; + + SQLitePlugin.prototype.sqlBatch = function(sqlStatements, success, error) { + var batchList, j, len1, myfn, st; + if (!sqlStatements || sqlStatements.constructor !== Array) { + throw newSQLError('sqlBatch expects an array'); + } + batchList = []; + for (j = 0, len1 = sqlStatements.length; j < len1; j++) { + st = sqlStatements[j]; + if (st.constructor === Array) { + if (st.length === 0) { + throw newSQLError('sqlBatch array element of zero (0) length'); + } + batchList.push({ + sql: st[0], + params: st.length === 0 ? [] : st[1] + }); + } else { + batchList.push({ + sql: st, + params: [] + }); + } + } + myfn = function(tx) { + var elem, k, len2, results; + results = []; + for (k = 0, len2 = batchList.length; k < len2; k++) { + elem = batchList[k]; + results.push(tx.addStatement(elem.sql, elem.params, null, null)); + } + return results; + }; + this.addTransaction(new SQLitePluginTransaction(this, myfn, error, success, true, false)); + }; + + SQLitePluginTransaction = function(db, fn, error, success, txlock, readOnly) { + if (typeof fn !== "function") { + + /* + This is consistent with the implementation in Chrome -- it + throws if you pass anything other than a function. This also + prevents us from stalling our txQueue if somebody passes a + false value for fn. + */ + throw newSQLError("transaction expected a function"); + } + this.db = db; + this.fn = fn; + this.error = error; + this.success = success; + this.txlock = txlock; + this.readOnly = readOnly; + this.executes = []; + if (txlock) { + this.addStatement("BEGIN", [], null, function(tx, err) { + throw newSQLError("unable to begin transaction: " + err.message, err.code); + }); + } else { + this.addStatement("SELECT 1", [], null, null); + } + }; + + SQLitePluginTransaction.prototype.start = function() { + var err; + try { + this.fn(this); + this.run(); + } catch (error1) { + err = error1; + txLocks[this.db.dbname].inProgress = false; + this.db.startNextTransaction(); + if (this.error) { + this.error(newSQLError(err)); + } + } + }; + + SQLitePluginTransaction.prototype.executeSql = function(sql, values, success, error) { + if (this.finalized) { + throw { + message: 'InvalidStateError: DOM Exception 11: This transaction is already finalized. Transactions are committed after its success or failure handlers are called. If you are using a Promise to handle callbacks, be aware that implementations following the A+ standard adhere to run-to-completion semantics and so Promise resolution occurs on a subsequent tick and therefore after the transaction commits.', + code: 11 + }; + return; + } + if (this.readOnly && READ_ONLY_REGEX.test(sql)) { + this.handleStatementFailure(error, { + message: 'invalid sql for a read-only transaction' + }); + return; + } + this.addStatement(sql, values, success, error); + }; + + SQLitePluginTransaction.prototype.addStatement = function(sql, values, success, error) { + var j, len1, params, sqlStatement, t, v; + sqlStatement = typeof sql === 'string' ? sql : sql.toString(); + params = []; + if (!!values && values.constructor === Array) { + for (j = 0, len1 = values.length; j < len1; j++) { + v = values[j]; + t = typeof v; + params.push((v === null || v === void 0 ? null : t === 'number' || t === 'string' ? v : v.toString())); + } + } + this.executes.push({ + success: success, + error: error, + sql: sqlStatement, + params: params + }); + }; + + SQLitePluginTransaction.prototype.handleStatementSuccess = function(handler, response) { + var payload, rows; + if (!handler) { + return; + } + rows = response.rows || []; + payload = { + rows: { + item: function(i) { + return rows[i]; + }, + length: rows.length + }, + rowsAffected: response.rowsAffected || 0, + insertId: response.insertId || void 0 + }; + handler(this, payload); + }; + + SQLitePluginTransaction.prototype.handleStatementFailure = function(handler, response) { + if (!handler) { + throw newSQLError("a statement with no error handler failed: " + response.message, response.code); + } + if (handler(this, response) !== false) { + throw newSQLError("a statement error callback did not return false: " + response.message, response.code); + } + }; + + SQLitePluginTransaction.prototype.run = function() { + var batchExecutes, handlerFor, i, mycb, mycbmap, request, tropts, tx, txFailure, waiting; + txFailure = null; + tropts = []; + batchExecutes = this.executes; + waiting = batchExecutes.length; + this.executes = []; + tx = this; + handlerFor = function(index, didSucceed) { + return function(response) { + var err; + if (!txFailure) { + try { + if (didSucceed) { + tx.handleStatementSuccess(batchExecutes[index].success, response); + } else { + tx.handleStatementFailure(batchExecutes[index].error, newSQLError(response)); + } + } catch (error1) { + err = error1; + txFailure = newSQLError(err); + } + } + if (--waiting === 0) { + if (txFailure) { + tx.executes = []; + tx.abort(txFailure); + } else if (tx.executes.length > 0) { + tx.run(); + } else { + tx.finish(); + } + } + }; + }; + mycbmap = {}; + i = 0; + while (i < batchExecutes.length) { + request = batchExecutes[i]; + mycbmap[i] = { + success: handlerFor(i, true), + error: handlerFor(i, false) + }; + tropts.push({ + qid: null, + sql: request.sql, + params: request.params + }); + i++; + } + mycb = function(result) { + var j, q, r, ref, res, resultIndex, type; + for (resultIndex = j = 0, ref = result.length - 1; 0 <= ref ? j <= ref : j >= ref; resultIndex = 0 <= ref ? ++j : --j) { + r = result[resultIndex]; + type = r.type; + res = r.result; + q = mycbmap[resultIndex]; + if (q) { + if (q[type]) { + q[type](res); + } + } + } + }; + cordova.exec(mycb, null, "SQLitePlugin", "backgroundExecuteSqlBatch", [ + { + dbargs: { + dbname: this.db.dbname + }, + executes: tropts + } + ]); + }; + + SQLitePluginTransaction.prototype.abort = function(txFailure) { + var failed, succeeded, tx; + if (this.finalized) { + return; + } + tx = this; + succeeded = function(tx) { + txLocks[tx.db.dbname].inProgress = false; + tx.db.startNextTransaction(); + if (tx.error && typeof tx.error === 'function') { + tx.error(txFailure); + } + }; + failed = function(tx, err) { + txLocks[tx.db.dbname].inProgress = false; + tx.db.startNextTransaction(); + if (tx.error && typeof tx.error === 'function') { + tx.error(newSQLError('error while trying to roll back: ' + err.message, err.code)); + } + }; + this.finalized = true; + if (this.txlock) { + this.addStatement("ROLLBACK", [], succeeded, failed); + this.run(); + } else { + succeeded(tx); + } + }; + + SQLitePluginTransaction.prototype.finish = function() { + var failed, succeeded, tx; + if (this.finalized) { + return; + } + tx = this; + succeeded = function(tx) { + txLocks[tx.db.dbname].inProgress = false; + tx.db.startNextTransaction(); + if (tx.success && typeof tx.success === 'function') { + tx.success(); + } + }; + failed = function(tx, err) { + txLocks[tx.db.dbname].inProgress = false; + tx.db.startNextTransaction(); + if (tx.error && typeof tx.error === 'function') { + tx.error(newSQLError('error while trying to commit: ' + err.message, err.code)); + } + }; + this.finalized = true; + if (this.txlock) { + this.addStatement("COMMIT", [], succeeded, failed); + this.run(); + } else { + succeeded(tx); + } + }; + + SQLitePluginTransaction.prototype.abortFromQ = function(sqlerror) { + if (this.error) { + this.error(sqlerror); + } + }; + + dblocations = ["docs", "libs", "nosync"]; + + iosLocationMap = { + 'default': 'nosync', + 'Documents': 'docs', + 'Library': 'libs' + }; + + SQLiteFactory = { + + /* + NOTE: this function should NOT be translated from Javascript + back to CoffeeScript by js2coffee. + If this function is edited in Javascript then someone will + have to translate it back to CoffeeScript by hand. + */ + openDatabase: argsArray(function(args) { + var dblocation, errorcb, okcb, openargs; + if (args.length < 1 || !args[0]) { + throw newSQLError('Sorry missing mandatory open arguments object in openDatabase call'); + } + if (args[0].constructor === String) { + throw newSQLError('Sorry first openDatabase argument must be an object'); + } + openargs = args[0]; + if (!openargs.name) { + throw newSQLError('Database name value is missing in openDatabase call'); + } + if (!openargs.iosDatabaseLocation && !openargs.location && openargs.location !== 0) { + throw newSQLError('Database location or iosDatabaseLocation setting is now mandatory in openDatabase call.'); + } + if (!!openargs.location && !!openargs.iosDatabaseLocation) { + throw newSQLError('AMBIGUOUS: both location and iosDatabaseLocation settings are present in openDatabase call. Please use either setting, not both.'); + } + dblocation = !!openargs.location && openargs.location === 'default' ? iosLocationMap['default'] : !!openargs.iosDatabaseLocation ? iosLocationMap[openargs.iosDatabaseLocation] : dblocations[openargs.location]; + if (!dblocation) { + throw newSQLError('Valid iOS database location could not be determined in openDatabase call'); + } + openargs.dblocation = dblocation; + if (!!openargs.createFromLocation && openargs.createFromLocation === 1) { + openargs.createFromResource = "1"; + } + if (!!openargs.androidDatabaseProvider && !!openargs.androidDatabaseImplementation) { + throw newSQLError('AMBIGUOUS: both androidDatabaseProvider and deprecated androidDatabaseImplementation settings are present in openDatabase call. Please drop androidDatabaseImplementation in favor of androidDatabaseProvider.'); + } + if (openargs.androidDatabaseProvider !== void 0 && openargs.androidDatabaseProvider !== 'default' && openargs.androidDatabaseProvider !== 'system') { + throw newSQLError("Incorrect androidDatabaseProvider value. Valid values are: 'default', 'system'"); + } + if (!!openargs.androidDatabaseProvider && openargs.androidDatabaseProvider === 'system') { + openargs.androidOldDatabaseImplementation = 1; + } + if (!!openargs.androidDatabaseImplementation && openargs.androidDatabaseImplementation === 2) { + openargs.androidOldDatabaseImplementation = 1; + } + if (!!openargs.androidLockWorkaround && openargs.androidLockWorkaround === 1) { + openargs.androidBugWorkaround = 1; + } + okcb = null; + errorcb = null; + if (args.length >= 2) { + okcb = args[1]; + if (args.length > 2) { + errorcb = args[2]; + } + } + return new SQLitePlugin(openargs, okcb, errorcb); + }), + deleteDatabase: function(first, success, error) { + var args, dblocation, dbname; + args = {}; + if (first.constructor === String) { + throw newSQLError('Sorry first deleteDatabase argument must be an object'); + } else { + if (!(first && first['name'])) { + throw new Error("Please specify db name"); + } + dbname = first.name; + if (typeof dbname !== 'string') { + throw newSQLError('delete database name must be a string'); + } + args.path = dbname; + } + if (!first.iosDatabaseLocation && !first.location && first.location !== 0) { + throw newSQLError('Database location or iosDatabaseLocation setting is now mandatory in deleteDatabase call.'); + } + if (!!first.location && !!first.iosDatabaseLocation) { + throw newSQLError('AMBIGUOUS: both location and iosDatabaseLocation settings are present in deleteDatabase call. Please use either setting value, not both.'); + } + dblocation = !!first.location && first.location === 'default' ? iosLocationMap['default'] : !!first.iosDatabaseLocation ? iosLocationMap[first.iosDatabaseLocation] : dblocations[first.location]; + if (!dblocation) { + throw newSQLError('Valid iOS database location could not be determined in deleteDatabase call'); + } + args.dblocation = dblocation; + delete SQLitePlugin.prototype.openDBs[args.path]; + return cordova.exec(success, error, "SQLitePlugin", "delete", [args]); + } + }; + + SelfTest = { + DBNAME: '___$$$___litehelpers___$$$___test___$$$___.db', + start: function(successcb, errorcb) { + SQLiteFactory.deleteDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, (function() { + return SelfTest.step1(successcb, errorcb); + }), (function() { + return SelfTest.step1(successcb, errorcb); + })); + }, + step1: function(successcb, errorcb) { + SQLiteFactory.openDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, function(db) { + var check1; + check1 = false; + db.transaction(function(tx) { + tx.executeSql('SELECT UPPER("Test") AS upperText', [], function(ignored, resutSet) { + if (!resutSet.rows) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows'); + } + if (!resutSet.rows.length) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.length'); + } + if (resutSet.rows.length !== 1) { + return SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.length value: " + resutSet.rows.length + " (expected: 1)"); + } + if (!resutSet.rows.item(0).upperText) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.item(0).upperText'); + } + if (resutSet.rows.item(0).upperText !== 'TEST') { + return SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.item(0).upperText value: " + (resutSet.rows.item(0).upperText) + " (expected: 'TEST')"); + } + check1 = true; + }, function(ignored, tx_sql_err) { + return SelfTest.finishWithError(errorcb, "TX SQL error: " + tx_sql_err); + }); + }, function(tx_err) { + return SelfTest.finishWithError(errorcb, "TRANSACTION error: " + tx_err); + }, function() { + if (!check1) { + return SelfTest.finishWithError(errorcb, 'Did not get expected upperText result data'); + } + db.executeSql('BEGIN', null, function(ignored) { + return nextTick(function() { + delete db.openDBs[SelfTest.DBNAME]; + delete txLocks[SelfTest.DBNAME]; + nextTick(function() { + db.transaction(function(tx2) { + tx2.executeSql('SELECT 1'); + }, function(tx_err) { + if (!tx_err) { + return SelfTest.finishWithError(errorcb, 'Missing error object'); + } + SelfTest.step2(successcb, errorcb); + }, function() { + return SelfTest.finishWithError(errorcb, 'Missing error object'); + }); + }); + }); + }); + }); + }, function(open_err) { + return SelfTest.finishWithError(errorcb, "Open database error: " + open_err); + }); + }, + step2: function(successcb, errorcb) { + SQLiteFactory.openDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, function(db) { + db.transaction(function(tx) { + tx.executeSql('SELECT ? AS myResult', [null], function(ignored, resutSet) { + if (!resutSet.rows) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows'); + } + if (!resutSet.rows.length) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.length'); + } + if (resutSet.rows.length !== 1) { + return SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.length value: " + resutSet.rows.length + " (expected: 1)"); + } + SelfTest.step3(successcb, errorcb); + }); + }, function(txError) { + return SelfTest.finishWithError(errorcb, "UNEXPECTED TRANSACTION ERROR: " + txError); + }); + }, function(open_err) { + return SelfTest.finishWithError(errorcb, "Open database error: " + open_err); + }); + }, + step3: function(successcb, errorcb) { + SQLiteFactory.openDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, function(db) { + return db.sqlBatch(['CREATE TABLE TestTable(id integer primary key autoincrement unique, data);', ['INSERT INTO TestTable (data) VALUES (?);', ['test-value']]], function() { + var firstid; + firstid = -1; + return db.executeSql('SELECT id, data FROM TestTable', [], function(resutSet) { + if (!resutSet.rows) { + SelfTest.finishWithError(errorcb, 'Missing resutSet.rows'); + return; + } + if (!resutSet.rows.length) { + SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.length'); + return; + } + if (resutSet.rows.length !== 1) { + SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.length value: " + resutSet.rows.length + " (expected: 1)"); + return; + } + if (resutSet.rows.item(0).id === void 0) { + SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.item(0).id'); + return; + } + firstid = resutSet.rows.item(0).id; + if (!resutSet.rows.item(0).data) { + SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.item(0).data'); + return; + } + if (resutSet.rows.item(0).data !== 'test-value') { + SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.item(0).data value: " + (resutSet.rows.item(0).data) + " (expected: 'test-value')"); + return; + } + return db.transaction(function(tx) { + return tx.executeSql('UPDATE TestTable SET data = ?', ['new-value']); + }, function(tx_err) { + return SelfTest.finishWithError(errorcb, "UPDATE transaction error: " + tx_err); + }, function() { + var readTransactionFinished; + readTransactionFinished = false; + return db.readTransaction(function(tx2) { + return tx2.executeSql('SELECT id, data FROM TestTable', [], function(ignored, resutSet2) { + if (!resutSet2.rows) { + throw newSQLError('Missing resutSet2.rows'); + } + if (!resutSet2.rows.length) { + throw newSQLError('Missing resutSet2.rows.length'); + } + if (resutSet2.rows.length !== 1) { + throw newSQLError("Incorrect resutSet2.rows.length value: " + resutSet2.rows.length + " (expected: 1)"); + } + if (!resutSet2.rows.item(0).id) { + throw newSQLError('Missing resutSet2.rows.item(0).id'); + } + if (resutSet2.rows.item(0).id !== firstid) { + throw newSQLError("resutSet2.rows.item(0).id value " + (resutSet2.rows.item(0).id) + " does not match previous primary key id value (" + firstid + ")"); + } + if (!resutSet2.rows.item(0).data) { + throw newSQLError('Missing resutSet2.rows.item(0).data'); + } + if (resutSet2.rows.item(0).data !== 'new-value') { + throw newSQLError("Incorrect resutSet2.rows.item(0).data value: " + (resutSet2.rows.item(0).data) + " (expected: 'test-value')"); + } + return readTransactionFinished = true; + }); + }, function(tx2_err) { + return SelfTest.finishWithError(errorcb, "readTransaction error: " + tx2_err); + }, function() { + if (!readTransactionFinished) { + SelfTest.finishWithError(errorcb, 'readTransaction did not finish'); + return; + } + return db.transaction(function(tx3) { + tx3.executeSql('DELETE FROM TestTable'); + return tx3.executeSql('INSERT INTO TestTable (data) VALUES(?)', [123]); + }, function(tx3_err) { + return SelfTest.finishWithError(errorcb, "DELETE transaction error: " + tx3_err); + }, function() { + var secondReadTransactionFinished; + secondReadTransactionFinished = false; + return db.readTransaction(function(tx4) { + return tx4.executeSql('SELECT id, data FROM TestTable', [], function(ignored, resutSet3) { + if (!resutSet3.rows) { + throw newSQLError('Missing resutSet3.rows'); + } + if (!resutSet3.rows.length) { + throw newSQLError('Missing resutSet3.rows.length'); + } + if (resutSet3.rows.length !== 1) { + throw newSQLError("Incorrect resutSet3.rows.length value: " + resutSet3.rows.length + " (expected: 1)"); + } + if (!resutSet3.rows.item(0).id) { + throw newSQLError('Missing resutSet3.rows.item(0).id'); + } + if (resutSet3.rows.item(0).id === firstid) { + throw newSQLError("resutSet3.rows.item(0).id value " + (resutSet3.rows.item(0).id) + " incorrectly matches previous unique key id value value (" + firstid + ")"); + } + if (!resutSet3.rows.item(0).data) { + throw newSQLError('Missing resutSet3.rows.item(0).data'); + } + if (resutSet3.rows.item(0).data !== 123) { + throw newSQLError("Incorrect resutSet3.rows.item(0).data value: " + (resutSet3.rows.item(0).data) + " (expected 123)"); + } + return secondReadTransactionFinished = true; + }); + }, function(tx4_err) { + return SelfTest.finishWithError(errorcb, "second readTransaction error: " + tx4_err); + }, function() { + if (!secondReadTransactionFinished) { + SelfTest.finishWithError(errorcb, 'second readTransaction did not finish'); + return; + } + db.close(function() { + SelfTest.cleanupAndFinish(successcb, errorcb); + }, function(close_err) { + SelfTest.finishWithError(errorcb, "close error: " + close_err); + }); + }); + }); + }); + }); + }, function(select_err) { + return SelfTest.finishWithError(errorcb, "SELECT error: " + select_err); + }); + }, function(batch_err) { + return SelfTest.finishWithError(errorcb, "sql batch error: " + batch_err); + }); + }, function(open_err) { + return SelfTest.finishWithError(errorcb, "Open database error: " + open_err); + }); + }, + cleanupAndFinish: function(successcb, errorcb) { + SQLiteFactory.deleteDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, successcb, function(cleanup_err) { + SelfTest.finishWithError(errorcb, "CLEANUP DELETE ERROR: " + cleanup_err); + }); + }, + finishWithError: function(errorcb, message) { + console.log("selfTest ERROR with message: " + message); + SQLiteFactory.deleteDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, function() { + errorcb(newSQLError(message)); + }, function(err2) { + console.log("selfTest CLEANUP DELETE ERROR " + err2); + errorcb(newSQLError("CLEANUP DELETE ERROR: " + err2 + " for error: " + message)); + }); + } + }; + + root.sqlitePlugin = { + sqliteFeatures: { + isSQLitePlugin: true + }, + echoTest: function(okcb, errorcb) { + var error, ok; + ok = function(s) { + if (s === 'test-string') { + return okcb(); + } else { + return errorcb("Mismatch: got: '" + s + "' expected 'test-string'"); + } + }; + error = function(e) { + return errorcb(e); + }; + return cordova.exec(ok, error, "SQLitePlugin", "echoStringValue", [ + { + value: 'test-string' + } + ]); + }, + selfTest: SelfTest.start, + openDatabase: SQLiteFactory.openDatabase, + deleteDatabase: SQLiteFactory.deleteDatabase + }; + +}).call(this); + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/android/launchnavigator.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/android/launchnavigator.js new file mode 100644 index 00000000..50c7e7db --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/android/launchnavigator.js @@ -0,0 +1,328 @@ +cordova.define("uk.co.workingedge.phonegap.plugin.launchnavigator.LaunchNavigator", function(require, exports, module) { +/* + * Copyright (c) 2014 Dave Alden (http://github.com/dpa99c) + * Copyright (c) 2014 Working Edge Ltd. (http://www.workingedge.co.uk) + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +var ln = {}, + common = launchnavigator; + +/** + * Launch modes supported by Google Maps on Android + * @type {object} + */ +ln.LAUNCH_MODE = { + MAPS: "maps", + TURN_BY_TURN: "turn-by-turn", + GEO: "geo" +}; + +// Add the Android-specific option to pass in for geo: protocol, letting the native app chooser decide. +common.APP.GEO = "geo"; +common.SUPPORTS_DEST_NAME[common.PLATFORM.ANDROID].push(common.APP.GEO); +common.APPS_BY_PLATFORM[common.PLATFORM.ANDROID].splice(1, 0, common.APP.GEO); //insert at [1] below [User select] +common.APP_NAMES[common.APP.GEO] = "[Geo intent chooser]"; + +// Add apps that support the geo: protocol +function onDiscoverSupportedApps(supportedApps){ + for(var appName in supportedApps){ + var packageName = supportedApps[appName]; + common.APP[appName.toUpperCase().replace(" ","_")] = packageName; + common.APP_NAMES[packageName] = appName; + common.APPS_BY_PLATFORM[common.PLATFORM.ANDROID].push(packageName); + common.SUPPORTS_DEST_NAME[common.PLATFORM.ANDROID].push(packageName); + } +} + +function onDiscoverSupportedAppsError(error){ + console.error("Error discovering list of supported apps: "+error); +} + +/** + * Returns a list indicating which apps are installed and available on the current device. + * @param {function} success - callback to invoke on successful determination of availability. Will be passed a key/value object where the key is the app name and the value is a boolean indicating whether the app is available. + * @param {function} error - callback to invoke on error while determining availability. Will be passed a single string argument containing the error message. + */ +ln.availableApps = function(success, error){ + cordova.exec( + success, + error, + 'LaunchNavigator', + 'availableApps', + [] + ); +}; + +/** + * Determines if the given app is installed and available on the current device. + * @param {string} appName - name of the app to check availability for. Define as a constant using ln.APP + * @param {function} success - callback to invoke on successful determination of availability. Will be passed a single boolean argument indicating the availability of the app. + * @param {function} error - callback to invoke on error while determining availability. Will be passed a single string argument containing the error message. + */ +ln.isAppAvailable = function(appName, success, error){ + common.util.validateApp(appName); + cordova.exec(function(result){ + success(!!result); + }, error, 'LaunchNavigator', 'isAppAvailable', [appName]); +}; + +/** + * Opens navigator app to navigate to given destination, specified by either place name or lat/lon. + * If a start location is not also specified, current location will be used for the start. + * + * @param {string/number[]} destination (required) - destination location to use for navigation. + * Either: + * - a {string} containing the address. e.g. "Buckingham Palace, London" + * - an {array}, where the first element is the latitude and the second element is a longitude, as decimal numbers. e.g. [50.1, -4.0] + * + * @param {object} options (optional) - optional parameters: + * + * - {function} successCallback - A callback to invoke when the navigation app is successfully launched. + * + * - {function} errorCallback - A callback to invoke if an error is encountered while launching the app. + * A single string argument containing the error message will be passed in. + * + * - {string} app - navigation app to use for directions, as a constant. e.g. launchnavigator.APP.GOOGLE_MAPS + * If not specified, defaults to user selection via native picker UI. + * + * - {string} destinationName - nickname to display in app for destination. e.g. "Bob's House". + * + * - {mixed} start - start location to use for navigation. If not specified, the current location of the device will be used. + * Either: + * - a {string} containing the address. e.g. "Buckingham Palace, London" + * - a {string} containing a latitude/longitude coordinate. e.g. "50.1. -4.0" + * - an {array}, where the first element is the latitude and the second element is a longitude, as decimal numbers. e.g. [50.1, -4.0] + * + * - {string} startName - nickname to display in app for start. e.g. "My Place". + * + * - {string} transportMode - transportation mode for navigation. + * Can only be specified if navigationMode == "turn-by-turn". + * Accepted values are "driving", "walking", "bicycling" or "transit". + * Defaults to "driving" if not specified. + * + * - {string} launchModeGoogleMaps - mode in which to open Google Maps app: + * - `launchnavigator.LAUNCH_MODE.MAPS` or `launchnavigator.LAUNCH_MODE.TURN_BY_TURN` + * - Defaults to `launchnavigator.LAUNCH_MODE.MAPS` if not specified. + * + * - {boolean} enableDebug - if true, debug log output will be generated by the plugin. Defaults to false. + * + * - {object} extras - a key/value map of extra app-specific parameters. For example, to tell Google Maps to display Satellite view in "maps" launch mode: `{"t": "k"}` + * + * - {string} appSelectionDialogHeader - text to display in the native picker which enables user to select which navigation app to launch. + * Defaults to "Select app for navigation" if not specified. + * + * - {string} appSelectionCancelButton - text to display for the cancel button in the native picker which enables user to select which navigation app to launch. + * Defaults to "Cancel" if not specified. + * + * - {array} appSelectionList - list of apps, defined as `launchnavigator.APP` constants, which should be displayed in the picker if the app is available. + * This can be used to restrict which apps are displayed, even if they are installed. By default, all available apps will be displayed. + * + * - {boolean} enableGeocoding - if true, and input location type(s) doesn't match those required by the app, use geocoding to obtain the address/coords as required. Defaults to true. + */ +ln.navigate = function(destination, options) { + options = common.util.conformNavigateOptions(arguments); + + var dType, sType = "none"; + + // Input validation + var throwError = function(errMsg){ + if(options.errorCallback){ + options.errorCallback(errMsg); + } + throw new Error(errMsg); + }; + + if(!destination){ + throwError("No destination was specified"); + } + + if(options.extras && typeof options.extras !== "object"){ + throwError("'options.extras' must be a key/value object"); + } + + options.app = options.app || common.APP.USER_SELECT; + options.enableGeocoding = typeof options.enableGeocoding !== "undefined" ? options.enableGeocoding : true; + + // If app is user-selection + if(options.app === common.APP.USER_SELECT){ + // Invoke user-selection UI and return (as it will re-invoke this method) + return common.userSelect(destination, options); + } + + destination = common.util.extractCoordsFromLocationString(destination); + if(typeof(destination) === "object"){ + if(typeof destination.length === "undefined") throw "destination must be a string or an array"; + dType = "pos"; + }else{ + dType = "name"; + } + if(options.start){ + options.start = common.util.extractCoordsFromLocationString(options.start); + if(typeof(options.start) === "object"){ + if(typeof options.start.length === "undefined") throw "start must be a string or an array"; + sType = "pos"; + }else{ + sType = "name"; + } + } + + var transportMode = null; + if(options.transportMode){ + common.util.validateTransportMode(options.transportMode); + transportMode = options.transportMode.charAt(0); + } + + // Default to Google Maps if not specified + if(!options.app) options.app = common.APP.GOOGLE_MAPS; + common.util.validateApp(options.app); + + if(!options.launchModeGoogleMaps) options.launchModeGoogleMaps = ln.LAUNCH_MODE.MAPS; + common.util.validateLaunchMode(options.launchModeGoogleMaps); + + if(options.extras) options.extras = JSON.stringify(options.extras); + + cordova.exec( + options.successCallback, + options.errorCallback, + 'LaunchNavigator', + 'navigate', + [ + options.app, + dType, + destination, + options.destinationName, + sType, + options.start, + options.startName, + transportMode, + options.launchModeGoogleMaps, + options.enableDebug || false, + options.extras, + options.enableGeocoding + ] + ); +}; + +/***************************** + * Platform-specific overrides + *****************************/ + + +/** + * Indicates if an app on a given platform supports specification of transport mode. + * Android-specific implementation supports additional specification of launch mode. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @param {string} launchMode (optional) - only applies to Google Maps on Android. Specified as a constant in `launchnavigator.LAUNCH_MODE`. e.g. `launchnavigator.LAUNCH_MODE.MAPS`. + * @return {boolean} - true if app/platform combination supports specification of transport mode. + */ +ln.supportsTransportMode = function(app, platform, launchMode){ + common.util.validateApp(app); + common.util.validatePlatform(platform); + + var result; + if(launchMode && platform === common.PLATFORM.ANDROID && app === common.APP.GOOGLE_MAPS){ + common.util.validateLaunchMode(launchMode); + result = launchMode === ln.LAUNCH_MODE.TURN_BY_TURN; + }else{ + result = common._supportsTransportMode(app, platform); + } + return result; +}; +common._supportsTransportMode = common.supportsTransportMode; + +/** + * Returns the list of transport modes supported by an app on a given platform. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @param {string} launchMode (optional) - only applies to Google Maps on Android. Specified as a constant in `launchnavigator.LAUNCH_MODE`. e.g. `launchnavigator.LAUNCH_MODE.MAPS`. + * @return {string[]} - list of transports modes as constants in `launchnavigator.TRANSPORT_MODE`. + * If app/platform combination doesn't support specification of transport mode, the list will be empty; + */ +ln.getTransportModes = function(app, platform, launchMode){ + if(ln.supportsTransportMode(app, platform, launchMode)){ + return common.TRANSPORT_MODES[platform][app]; + } + return []; +}; + +/** + * Indicates if an app on a given platform supports specification of start location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @param {string} launchMode (optional) - only applies to Google Maps on Android. Specified as a constant in `launchnavigator.LAUNCH_MODE`. e.g. `launchnavigator.LAUNCH_MODE.MAPS`. + * @return {boolean} - true if app/platform combination supports specification of start location. + */ +ln.supportsStart = function(app, platform, launchMode){ + common.util.validateApp(app); + common.util.validatePlatform(platform); + + var result; + if(launchMode && platform === common.PLATFORM.ANDROID && app === common.APP.GOOGLE_MAPS){ + common.util.validateLaunchMode(launchMode); + result = launchMode === ln.LAUNCH_MODE.MAPS; + }else{ + result = common._supportsStart(app, platform); + } + return result; +}; +common._supportsStart = common.supportsStart; + +/** + * Indicates if an app on a given platform supports specification of a custom nickname for destination location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @param {string} launchMode (optional) - only applies to Google Maps on Android. Specified as a constant in `launchnavigator.LAUNCH_MODE`. e.g. `launchnavigator.LAUNCH_MODE.MAPS`. + * @return {boolean} - true if app/platform combination supports specification of destination location. + */ +ln.supportsDestName = function(app, platform, launchMode){ + common.util.validateApp(app); + common.util.validatePlatform(platform); + if(launchMode && platform === common.PLATFORM.ANDROID && app === common.APP.GOOGLE_MAPS){ + common.util.validateLaunchMode(launchMode); + result = launchMode === ln.LAUNCH_MODE.GEO; + }else{ + result = common._supportsDestName(app, platform); + } + return result; +}; +common._supportsDestName = common.supportsDestName; + + +/************ + * Bootstrap + ************/ + +// Discover supported apps +cordova.exec( + onDiscoverSupportedApps, + onDiscoverSupportedAppsError, + 'LaunchNavigator', + 'discoverSupportedApps', + [] +); + +module.exports = ln; +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/common.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/common.js new file mode 100644 index 00000000..bbf2d16a --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/common.js @@ -0,0 +1,866 @@ +cordova.define("uk.co.workingedge.phonegap.plugin.launchnavigator.Common", function(require, exports, module) { +/* + * Copyright (c) 2014 Dave Alden (http://github.com/dpa99c) + * Copyright (c) 2014 Working Edge Ltd. (http://www.workingedge.co.uk) + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + + +var ln = {}; + +/********************* + * Internal properties + *********************/ + +var DEFAULT_appSelectionDialogHeaderText = "Select app for navigation", + DEFAULT_appSelectionCancelButtonText = "Cancel", + DEFAULT_rememberChoicePromptDialogHeaderText = "Remember your choice?", + DEFAULT_rememberChoicePromptDialogBodyText = "Use the same app for navigating next time?", + DEFAULT_rememberChoicePromptDialogYesButtonText = "Yes", + DEFAULT_rememberChoicePromptDialogNoButtonText = "No"; + +var store; + +var emptyFn = function(){}; + +/******************** + * Internal functions + ********************/ + +var ensureStore = function(){ + store = localforage.createInstance({ + name: "launchnavigator" + }); +}; + +var setItem = function(key, value, callback){ + ensureStore(); + return store.setItem(key, value, callback); +}; + +var getItem = function(key, callback){ + ensureStore(); + return store.getItem(key, function(err, value){ + callback(value); + }); +}; + +var removeItem = function(key, callback){ + ensureStore(); + return store.removeItem(key, callback); +}; + +var itemExists = function(key, callback){ + ensureStore(); + return store.getItem(key, function(err, value){ + callback(value !== null); + }); +}; + +/****************** + * Public Constants + ******************/ + +/** + * Supported platforms + * @type {object} + */ +ln.PLATFORM = { + ANDROID: "android", + IOS: "ios", + WINDOWS: "windows" +}; + +/** + * string constants, used to identify apps in native code + * @type {object} + */ +ln.APP = { + USER_SELECT: "user_select", + APPLE_MAPS: "apple_maps", + GOOGLE_MAPS: "google_maps", + WAZE: "waze", + CITYMAPPER: "citymapper", + NAVIGON: "navigon", + TRANSIT_APP: "transit_app", + YANDEX: "yandex", + UBER: "uber", + TOMTOM: "tomtom", + BING_MAPS: "bing_maps", + SYGIC: "sygic", + HERE_MAPS: "here_maps", + MOOVIT: "moovit", + LYFT: "lyft", + MAPS_ME: "maps_me", + CABIFY: "cabify", + BAIDU: "baidu", + TAXIS_99: "taxis_99", + GAODE: "gaode" +}; + +/** + * Explicitly supported apps by platform + * @type {object} + */ +ln.APPS_BY_PLATFORM = {}; +ln.APPS_BY_PLATFORM[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.GOOGLE_MAPS, + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.WAZE, + ln.APP.YANDEX, + ln.APP.SYGIC, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.LYFT, + ln.APP.MAPS_ME, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.APPS_BY_PLATFORM[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS, + ln.APP.GOOGLE_MAPS, + ln.APP.WAZE, + ln.APP.CITYMAPPER, + ln.APP.NAVIGON, + ln.APP.TRANSIT_APP, + ln.APP.YANDEX, + ln.APP.UBER, + ln.APP.TOMTOM, + ln.APP.SYGIC, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.LYFT, + ln.APP.MAPS_ME, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.APPS_BY_PLATFORM[ln.PLATFORM.WINDOWS] = [ + ln.APP.BING_MAPS +]; + +/** + * Stock maps app that is always present on each platform + * @type {object} + */ +ln.STOCK_APP = {}; +ln.STOCK_APP[ln.PLATFORM.ANDROID] = ln.APP.GOOGLE_MAPS; +ln.STOCK_APP[ln.PLATFORM.IOS] = ln.APP.APPLE_MAPS; +ln.STOCK_APP[ln.PLATFORM.WINDOWS] = ln.APP.BING_MAPS; + +/** + * Display names for supported apps + * @type {object} + */ +ln.APP_NAMES = {}; +ln.APP_NAMES[ln.APP.USER_SELECT] = "[User select]"; +ln.APP_NAMES[ln.APP.APPLE_MAPS] = "Apple Maps"; +ln.APP_NAMES[ln.APP.GOOGLE_MAPS] = "Google Maps"; +ln.APP_NAMES[ln.APP.WAZE] = "Waze"; +ln.APP_NAMES[ln.APP.CITYMAPPER] = "Citymapper"; +ln.APP_NAMES[ln.APP.NAVIGON] = "Navigon"; +ln.APP_NAMES[ln.APP.TRANSIT_APP] = "Transit App"; +ln.APP_NAMES[ln.APP.YANDEX] = "Yandex Navigator"; +ln.APP_NAMES[ln.APP.UBER] = "Uber"; +ln.APP_NAMES[ln.APP.TOMTOM] = "Tomtom"; +ln.APP_NAMES[ln.APP.BING_MAPS] = "Bing Maps"; +ln.APP_NAMES[ln.APP.SYGIC] = "Sygic"; +ln.APP_NAMES[ln.APP.HERE_MAPS] = "HERE Maps"; +ln.APP_NAMES[ln.APP.MOOVIT] = "Moovit"; +ln.APP_NAMES[ln.APP.LYFT] = "Lyft"; +ln.APP_NAMES[ln.APP.MAPS_ME] = "MAPS.ME"; +ln.APP_NAMES[ln.APP.CABIFY] = "Cabify"; +ln.APP_NAMES[ln.APP.BAIDU] = "Baidu Maps"; +ln.APP_NAMES[ln.APP.TAXIS_99] = "99 Taxi"; +ln.APP_NAMES[ln.APP.GAODE] = "Gaode Maps (Amap)"; + +/** + * All possible transport modes + * @type {object} + */ +ln.TRANSPORT_MODE = { + DRIVING: "driving", + WALKING: "walking", + BICYCLING: "bicycling", + TRANSIT: "transit" +}; + +/** + * Supported transport modes by apps and platform + * @type {object} + */ +ln.TRANSPORT_MODES = {}; +// Android +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID] = {}; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.USER_SELECT] = [ // Allow all + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.GOOGLE_MAPS] = [ // Only launchMode=turn-by-turn + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.SYGIC] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.MAPS_ME] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.BAIDU] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.GAODE] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; + +// Windows +ln.TRANSPORT_MODES[ln.PLATFORM.WINDOWS] = {}; +ln.TRANSPORT_MODES[ln.PLATFORM.WINDOWS][ln.APP.BING_MAPS] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.TRANSIT +]; + +// iOS +ln.TRANSPORT_MODES[ln.PLATFORM.IOS] = {}; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.USER_SELECT] = [ // Allow all + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.GOOGLE_MAPS] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.APPLE_MAPS] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.SYGIC] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.MAPS_ME] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.BAIDU] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.GAODE] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; + +/** + * Apps by platform that support specifying a start location + * @type {object} + */ +ln.SUPPORTS_START = {}; +ln.SUPPORTS_START[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.GOOGLE_MAPS, // Only launchMode=maps + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.YANDEX, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.LYFT, + ln.APP.MAPS_ME, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.SUPPORTS_START[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS, + ln.APP.GOOGLE_MAPS, + ln.APP.CITYMAPPER, + ln.APP.TRANSIT_APP, + ln.APP.YANDEX, + ln.APP.UBER, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.LYFT, + ln.APP.MAPS_ME, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.SUPPORTS_START[ln.PLATFORM.WINDOWS] = [ + ln.APP.BING_MAPS +]; + +/** + * Apps by platform that support specifying a start nickname + * @type {object} + */ +ln.SUPPORTS_START_NAME = {}; +ln.SUPPORTS_START_NAME[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.SUPPORTS_START_NAME[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS, // Only launchMode=mapkit + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; + +/** + * Apps by platform that support specifying a destination nickname + * @type {object} + */ +ln.SUPPORTS_DEST_NAME = {}; +ln.SUPPORTS_DEST_NAME[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.GOOGLE_MAPS, // only launchMode=geo + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.SUPPORTS_DEST_NAME[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS, // Only launchMode=mapkit + ln.APP.CITYMAPPER, + ln.APP.NAVIGON, + ln.APP.UBER, + ln.APP.TOMTOM, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; + +/** + * Apps by platform that support specifying a launch mode + * @type {object} + */ +ln.SUPPORTS_LAUNCH_MODE = {}; +ln.SUPPORTS_LAUNCH_MODE[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.GOOGLE_MAPS +]; +ln.SUPPORTS_LAUNCH_MODE[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS +]; + +ln.COORDS_REGEX = /^[-\d.]+,[\s]*[-\d.]+$/; + + + +/****************** + * Public API + ******************/ + +/** + * Returns the display name of the specified app. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @return {string} - app display name. e.g. "Google Maps". + */ +ln.getAppDisplayName = function(app){ + ln.util.validateApp(app); + return ln.APP_NAMES[app]; +}; + +/** + * Returns list of supported apps on a given platform. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {string[]} - apps supported on specified platform as a list of `launchnavigator.APP` constants. + */ +ln.getAppsForPlatform = function(platform){ + ln.util.validatePlatform(platform); + return ln.APPS_BY_PLATFORM[platform]; +}; + +/** + * Indicates if an app on a given platform supports specification of transport mode. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {boolean} - true if app/platform combination supports specification of transport mode. + */ +ln.supportsTransportMode = function(app, platform){ + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.TRANSPORT_MODES[platform] && ln.util.objectContainsKey(ln.TRANSPORT_MODES[platform], app); +}; + +/** + * Returns the list of transport modes supported by an app on a given platform. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {string[]} - list of transports modes as constants in `launchnavigator.TRANSPORT_MODE`. + * If app/platform combination doesn't support specification of transport mode, the list will be empty; + */ +ln.getTransportModes = function(app, platform){ + if(ln.supportsTransportMode(app, platform)){ + return ln.TRANSPORT_MODES[platform][app]; + } + return []; +}; + +/** + * Indicates if an app on a given platform supports specification of launch mode. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.ANDROID`. + * @return {boolean} - true if app/platform combination supports specification of transport mode. + */ +ln.supportsLaunchMode = function(app, platform) { + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.SUPPORTS_LAUNCH_MODE[platform] && ln.util.arrayContainsValue(ln.SUPPORTS_LAUNCH_MODE[platform], app); +}; + +/** + * Indicates if an app on a given platform supports specification of start location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {boolean} - true if app/platform combination supports specification of start location. + */ +ln.supportsStart = function(app, platform){ + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.SUPPORTS_START[platform] && ln.util.arrayContainsValue(ln.SUPPORTS_START[platform], app); +}; + +/** + * Indicates if an app on a given platform supports specification of a custom nickname for start location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {boolean} - true if app/platform combination supports specification of start location. + */ +ln.supportsStartName = function(app, platform){ + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.SUPPORTS_START_NAME[platform] && ln.util.arrayContainsValue(ln.SUPPORTS_START_NAME[platform], app); +}; + +/** + * Indicates if an app on a given platform supports specification of a custom nickname for destination location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {boolean} - true if app/platform combination supports specification of destination location. + */ +ln.supportsDestName = function(app, platform){ + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.SUPPORTS_DEST_NAME[platform] && ln.util.arrayContainsValue(ln.SUPPORTS_DEST_NAME[platform], app); +}; + + +/** + * + * @param {string/number[]} destination (required) - destination location to use for navigation - see launchnavigator.navigate() + * @param {object} [options={}] - optional parameters - see launchnavigator.navigate() + * @param {function} successCallback - function executed in case of success + * @param {function} errorCallback - function executed in case of error + */ +ln.userSelect = function(destination, options, successCallback, errorCallback){ + var userSelectDisplayed, app; + + options = options || {}; + options.errorCallback = options.errorCallback || errorCallback || emptyFn; + options.successCallback = options.successCallback || successCallback || emptyFn; + + // app selection + options.appSelection = options.appSelection || {}; + options.appSelection.dialogPositionX = options.appSelection.dialogPositionX || 550; + options.appSelection.dialogPositionY = options.appSelection.dialogPositionY || 500; + options.appSelection.callback = options.appSelection.callback || emptyFn; + options.appSelection.rememberChoice = options.appSelection.rememberChoice || {}; + options.appSelection.rememberChoice.enabled = typeof options.appSelection.rememberChoice.enabled !== "undefined" ? options.appSelection.rememberChoice.enabled : "prompt"; + options.appSelection.rememberChoice.prompt = options.appSelection.rememberChoice.prompt || {}; + options.appSelection.rememberChoice.prompt.callback = options.appSelection.rememberChoice.prompt.callback || emptyFn; + + var buttonList = [], buttonMap = {}; + + if(userSelectDisplayed) return; + + var launchApp = function(){ + options.app = app; + launchnavigator.navigate(destination, options); + }; + + var displayChooser = function(){ + userSelectDisplayed = true; + window.plugins.actionsheet.show({ + 'androidTheme': options.appSelection.androidTheme || window.plugins.actionsheet.ANDROID_THEMES.THEME_HOLO_LIGHT, + 'title': options.appSelection.dialogHeaderText || DEFAULT_appSelectionDialogHeaderText, + 'buttonLabels': buttonList, + 'androidEnableCancelButton' : true, // default false + //'winphoneEnableCancelButton' : true, // default false + 'addCancelButtonWithLabel': options.appSelection.cancelButtonText || DEFAULT_appSelectionCancelButtonText, + 'position': [options.appSelection.dialogPositionX, options.appSelection.dialogPositionY] // for iPad pass in the [x, y] position of the popover + }, onChooseApp); + }; + + var onChooseApp = function (btnNumber){ + userSelectDisplayed = false; + var idx = btnNumber - 1; + app = buttonMap[idx]; + if(app !== "cancel"){ + options.appSelection.callback(app); + if(options.appSelection.rememberChoice.enabled === true || options.appSelection.rememberChoice.enabled === "true"){ + rememberUserChoiceAndLaunch(); + }else if(options.appSelection.rememberChoice.enabled === false || options.appSelection.rememberChoice.enabled === "false"){ + // Don't remember, just launch app + launchApp(); + }else{ + // Default + checkIfAlreadyPrompted(); + } + } else { + options.errorCallback('cancelled'); + } + }; + + var rememberUserChoiceAndLaunch = function(){ + setItem("choice", app, function(){ + launchApp(); + }); + }; + + var checkForChoice = function(availableApps){ + getItem("choice", function(choice){ + if(choice){ + if(availableApps[choice]){ + app = choice; + launchApp(); + }else{ + // Chosen app is no longer available on device + ln.appSelection.userChoice.clear(function(){ + ln.appSelection.userPrompted.clear(function(){ + displayChooser(); + }); + }) + } + }else{ + displayChooser(); + } + }) + }; + + // Check if user has already been prompted whether to remember their choice + var checkIfAlreadyPrompted = function(){ + getItem("prompted", function(prompted){ + if(prompted){ + launchApp(); + }else{ + promptUser(); + } + }); + }; + + // Prompt user whether to remember their choice + var promptUser = function(){ + if(options.appSelection.rememberChoice.promptFn){ + options.appSelection.rememberChoice.promptFn(handleUserPromptChoice); + }else{ + // Show prompt using cordova dialogs + navigator.notification.confirm( + options.appSelection.rememberChoice.prompt.bodyText || DEFAULT_rememberChoicePromptDialogBodyText, + function(idx){ + handleUserPromptChoice(idx === 1); + }, + options.appSelection.rememberChoice.prompt.headerText || DEFAULT_rememberChoicePromptDialogHeaderText, + [ + options.appSelection.rememberChoice.prompt.yesButtonText || DEFAULT_rememberChoicePromptDialogYesButtonText, + options.appSelection.rememberChoice.prompt.noButtonText || DEFAULT_rememberChoicePromptDialogNoButtonText + ] + ); + } + }; + + var handleUserPromptChoice = function(shouldRemember){ + options.appSelection.rememberChoice.prompt.callback(shouldRemember); + setItem("prompted", true, function(){ + if(shouldRemember){ + rememberUserChoiceAndLaunch(); + }else{ + launchApp(); + } + }); + }; + + + // Get list of available apps + launchnavigator.availableApps(function(apps){ + for(var _app in apps){ + var isAvailable = apps[_app]; + if(!isAvailable) continue; + if(options.appSelection.list && options.appSelection.list.length > 0 && !ln.util.arrayContainsValue(options.appSelection.list, _app)) continue; + buttonList.push(ln.getAppDisplayName(_app)); + buttonMap[buttonList.length-1] = _app; + } + + if(buttonList.length === 0){ + return options.errorCallback("No supported navigation apps are available on the device"); + } + + if(buttonList.length === 1){ + app = buttonMap[0]; + return launchApp(); + } + + buttonMap[buttonList.length] = "cancel"; // Add an entry for cancel button + + // Check if a user choice exists + checkForChoice(apps); + + }, options.errorCallback); +}; + +/***************************** + * App selection API functions + *****************************/ +ln.appSelection = { + userChoice: {}, + userPrompted: {} +}; + +/** + * Indicates whether a user choice exists for a preferred navigator app. + * @param {function} cb - function to pass result to: will receive a boolean argument. + */ +ln.appSelection.userChoice.exists = function(cb){ + itemExists("choice", cb); +}; + +/** + * Returns current user choice of preferred navigator app. + * @param {function} cb - function to pass result to: will receive a string argument indicating the app, which is a constant in `launchnavigator.APP`. + * If no current choice exists, value will be null. + */ +ln.appSelection.userChoice.get = function(cb){ + getItem("choice", cb); +}; + +/** + * Sets the current user choice of preferred navigator app. + * @param {string} app - app to set as preferred choice as a constant in `launchnavigator.APP`. + * @param {function} cb - function to call once operation is complete. + */ +ln.appSelection.userChoice.set = function(app, cb){ + setItem("choice", app, cb); +}; + +/** + * Clears current user choice of preferred navigator app. + * @param {function} cb - function to call once operation is complete. + */ +ln.appSelection.userChoice.clear = function(cb){ + removeItem("choice", cb); +}; + +/** + * Indicates whether user has already been prompted whether to remember their choice a preferred navigator app. + * @param {function} cb - function to pass result to: will receive a boolean argument. + */ +ln.appSelection.userPrompted.get = function(cb){ + itemExists("prompted", cb); +}; + +/** + * Sets flag indicating user has already been prompted whether to remember their choice a preferred navigator app. + * @param {function} cb - function to call once operation is complete. + */ +ln.appSelection.userPrompted.set = function(cb){ + setItem("prompted", true, cb); +}; + +/** + * Clears flag which indicates if user has already been prompted whether to remember their choice a preferred navigator app. + * @param {function} cb - function to call once operation is complete. + */ +ln.appSelection.userPrompted.clear = function(cb){ + removeItem("prompted", cb); +}; + +/******************* + * Utility functions + *******************/ +ln.util = {}; +ln.util.arrayContainsValue = function (a, obj) { + var i = a.length; + while (i--) { + if (a[i] === obj) { + return true; + } + } + return false; +}; + +ln.util.objectContainsKey = function (o, key) { + for(var k in o){ + if(k === key){ + return true; + } + } + return false; +}; + +ln.util.objectContainsValue = function (o, value) { + for(var k in o){ + if(o[k] === value){ + return true; + } + } + return false; +}; + +ln.util.countKeysInObject = function (o){ + var count = 0; + for(var k in o){ + count++; + } + return count; +}; + +ln.util.isValidApp = function(app){ + if(app === "none") return true; // native chooser + return ln.util.objectContainsValue(ln.APP, app); +}; + +ln.util.isValidPlatform = function(platform){ + return ln.util.objectContainsValue(ln.PLATFORM, platform); +}; + +ln.util.isValidTransportMode = function(transportMode) { + return ln.util.objectContainsValue(ln.TRANSPORT_MODE, transportMode); +}; + +ln.util.validateApp = function(app){ + if(!ln.util.isValidApp(app)){ + throw new Error("'"+app+"' is not a recognised app"); + } +}; + +ln.util.validatePlatform = function(platform){ + if(!ln.util.isValidPlatform(platform)){ + throw new Error("'"+platform+"' is not a recognised platform"); + } +}; + +ln.util.validateTransportMode = function(transportMode){ + if(!ln.util.isValidTransportMode(transportMode)){ + throw new Error("'"+transportMode+"' is not a recognised transport mode"); + } +}; + +ln.util.extractCoordsFromLocationString = function(location){ + if(location && typeof(location) === "string" && location.match(ln.COORDS_REGEX)){ + location = location.replace(/\s*/g,''); + var parts = location.split(","); + location = [parts[0], parts[1]]; + } + return location; +}; + +ln.util.isValidLaunchMode = function(launchMode){ + for(var LAUNCH_MODE in ln.LAUNCH_MODE){ + if(launchMode === ln.LAUNCH_MODE[LAUNCH_MODE]) return true; + } + return false; +}; + +ln.util.validateLaunchMode = function(launchMode){ + if(!ln.util.isValidLaunchMode(launchMode)){ + throw new Error("'"+launchMode+"' is not a recognised launch mode"); + } +}; + +ln.util.conformNavigateOptions = function(args){ + var options; + if(args.length > 1 && typeof args[1] === "function"){ + // assume (dest, success, error, opts) + options = (args.length > 3 && typeof args[3] === "object") ? args[3] : {}; + options.successCallback = args[1]; + if(args.length > 2 && typeof args[2] === "function"){ + options.errorCallback = args[2]; + } + }else{ + // assume (dest, opts) + options = (args.length > 1 && typeof args[1] === "object") ? args[1] : {}; + } + return options; +}; + + +module.exports = ln; + +}); diff --git a/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/localforage.v1.5.0.min.js b/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/localforage.v1.5.0.min.js new file mode 100644 index 00000000..5ba7d281 --- /dev/null +++ b/platforms/android/app/build/intermediates/assets/debug/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/localforage.v1.5.0.min.js @@ -0,0 +1,9 @@ +cordova.define("uk.co.workingedge.phonegap.plugin.launchnavigator.LocalForage", function(require, exports, module) { +/*! + localForage -- Offline Storage, Improved + Version 1.5.0 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 2.0 +*/ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.localforage=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;ge;e++)d[e]=a.charCodeAt(e);return c}function m(a){return new ja(function(b){var c=a.transaction(ka,"readwrite"),d=i([""]);c.objectStore(ka).put(d,"key"),c.onabort=function(a){a.preventDefault(),a.stopPropagation(),b(!1)},c.oncomplete=function(){var a=navigator.userAgent.match(/Chrome\/(\d+)/),c=navigator.userAgent.match(/Edge\//);b(c||!a||parseInt(a[1],10)>=43)}})["catch"](function(){return!1})}function n(a){return"boolean"==typeof ha?ja.resolve(ha):m(a).then(function(a){return ha=a})}function o(a){var b=ia[a.name],c={};c.promise=new ja(function(a){c.resolve=a}),b.deferredOperations.push(c),b.dbReady?b.dbReady=b.dbReady.then(function(){return c.promise}):b.dbReady=c.promise}function p(a){var b=ia[a.name],c=b.deferredOperations.pop();c&&c.resolve()}function q(a,b){return new ja(function(c,d){if(a.db){if(!b)return c(a.db);o(a),a.db.close()}var e=[a.name];b&&e.push(a.version);var f=ga.open.apply(ga,e);b&&(f.onupgradeneeded=function(b){var c=f.result;try{c.createObjectStore(a.storeName),b.oldVersion<=1&&c.createObjectStore(ka)}catch(d){if("ConstraintError"!==d.name)throw d;console.warn('The database "'+a.name+'" has been upgraded from version '+b.oldVersion+" to version "+b.newVersion+', but the storage "'+a.storeName+'" already exists.')}}),f.onerror=function(a){a.preventDefault(),d(f.error)},f.onsuccess=function(){c(f.result),p(a)}})}function r(a){return q(a,!1)}function s(a){return q(a,!0)}function t(a,b){if(!a.db)return!0;var c=!a.db.objectStoreNames.contains(a.storeName),d=a.versiona.db.version;if(d&&(a.version!==b&&console.warn('The database "'+a.name+"\" can't be downgraded from version "+a.db.version+" to version "+a.version+"."),a.version=a.db.version),e||c){if(c){var f=a.db.version+1;f>a.version&&(a.version=f)}return!0}return!1}function u(a){return new ja(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function v(a){var b=l(atob(a.data));return i([b],{type:a.type})}function w(a){return a&&a.__local_forage_encoded_blob}function x(a){var b=this,c=b._initReady().then(function(){var a=ia[b._dbInfo.name];return a&&a.dbReady?a.dbReady:void 0});return k(c,a,a),c}function y(a){function b(){return ja.resolve()}var c=this,d={db:null};if(a)for(var e in a)d[e]=a[e];ia||(ia={});var f=ia[d.name];f||(f={forages:[],db:null,dbReady:null,deferredOperations:[]},ia[d.name]=f),f.forages.push(c),c._initReady||(c._initReady=c.ready,c.ready=x);for(var g=[],h=0;ha?void b(null):void c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=!1,h=f.openCursor();h.onsuccess=function(){var c=h.result;return c?void(0===a?b(c.key):g?b(c.key):(g=!0,c.advance(a))):void b(null)},h.onerror=function(){d(h.error)}})["catch"](d)});return j(d,b),d}function G(a){var b=this,c=new ja(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b["continue"]()):void a(g)},f.onerror=function(){c(f.error)}})["catch"](c)});return j(c,a),c}function H(a){var b,c,d,e,f,g=.75*a.length,h=a.length,i=0;"="===a[a.length-1]&&(g--,"="===a[a.length-2]&&g--);var j=new ArrayBuffer(g),k=new Uint8Array(j);for(b=0;h>b;b+=4)c=na.indexOf(a[b]),d=na.indexOf(a[b+1]),e=na.indexOf(a[b+2]),f=na.indexOf(a[b+3]),k[i++]=c<<2|d>>4,k[i++]=(15&d)<<4|e>>2,k[i++]=(3&e)<<6|63&f;return j}function I(a){var b,c=new Uint8Array(a),d="";for(b=0;b>2],d+=na[(3&c[b])<<4|c[b+1]>>4],d+=na[(15&c[b+1])<<2|c[b+2]>>6],d+=na[63&c[b+2]];return c.length%3===2?d=d.substring(0,d.length-1)+"=":c.length%3===1&&(d=d.substring(0,d.length-2)+"=="),d}function J(a,b){var c="";if(a&&(c=Ea.call(a)),a&&("[object ArrayBuffer]"===c||a.buffer&&"[object ArrayBuffer]"===Ea.call(a.buffer))){var d,e=qa;a instanceof ArrayBuffer?(d=a,e+=sa):(d=a.buffer,"[object Int8Array]"===c?e+=ua:"[object Uint8Array]"===c?e+=va:"[object Uint8ClampedArray]"===c?e+=wa:"[object Int16Array]"===c?e+=xa:"[object Uint16Array]"===c?e+=za:"[object Int32Array]"===c?e+=ya:"[object Uint32Array]"===c?e+=Aa:"[object Float32Array]"===c?e+=Ba:"[object Float64Array]"===c?e+=Ca:b(new Error("Failed to get type for BinaryArray"))),b(e+I(d))}else if("[object Blob]"===c){var f=new FileReader;f.onload=function(){var c=oa+a.type+"~"+I(this.result);b(qa+ta+c)},f.readAsArrayBuffer(a)}else try{b(JSON.stringify(a))}catch(g){console.error("Couldn't convert value into a JSON string: ",a),b(null,g)}}function K(a){if(a.substring(0,ra)!==qa)return JSON.parse(a);var b,c=a.substring(Da),d=a.substring(ra,Da);if(d===ta&&pa.test(c)){var e=c.match(pa);b=e[1],c=c.substring(e[0].length)}var f=H(c);switch(d){case sa:return f;case ta:return i([f],{type:b});case ua:return new Int8Array(f);case va:return new Uint8Array(f);case wa:return new Uint8ClampedArray(f);case xa:return new Int16Array(f);case za:return new Uint16Array(f);case ya:return new Int32Array(f);case Aa:return new Uint32Array(f);case Ba:return new Float32Array(f);case Ca:return new Float64Array(f);default:throw new Error("Unkown type: "+d)}}function L(a){var b=this,c={db:null};if(a)for(var d in a)c[d]="string"!=typeof a[d]?a[d].toString():a[d];var e=new ja(function(a,d){try{c.db=openDatabase(c.name,String(c.version),c.description,c.size)}catch(e){return d(e)}c.db.transaction(function(e){e.executeSql("CREATE TABLE IF NOT EXISTS "+c.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],function(){b._dbInfo=c,a()},function(a,b){d(b)})})});return c.serializer=Fa,e}function M(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=new ja(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName+" WHERE key = ? LIMIT 1",[a],function(a,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),b(d)},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function N(a,b){var c=this,d=new ja(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName,[],function(c,d){for(var f=d.rows,g=f.length,h=0;g>h;h++){var i=f.item(h),j=i.value;if(j&&(j=e.serializer.deserialize(j)),j=a(j,i.key,h+1),void 0!==j)return void b(j)}b()},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function O(a,b,c,d){var e=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var f=new ja(function(f,g){e.ready().then(function(){void 0===b&&(b=null);var h=b,i=e._dbInfo;i.serializer.serialize(b,function(b,j){j?g(j):i.db.transaction(function(c){c.executeSql("INSERT OR REPLACE INTO "+i.storeName+" (key, value) VALUES (?, ?)",[a,b],function(){f(h)},function(a,b){g(b)})},function(b){if(b.code===b.QUOTA_ERR){if(d>0)return void f(O.apply(e,[a,h,c,d-1]));g(b)}})})})["catch"](g)});return j(f,c),f}function P(a,b,c){return O.apply(this,[a,b,c,1])}function Q(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=new ja(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("DELETE FROM "+e.storeName+" WHERE key = ?",[a],function(){b()},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function R(a){var b=this,c=new ja(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("DELETE FROM "+d.storeName,[],function(){a()},function(a,b){c(b)})})})["catch"](c)});return j(c,a),c}function S(a){var b=this,c=new ja(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT COUNT(key) as c FROM "+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})})["catch"](c)});return j(c,a),c}function T(a,b){var c=this,d=new ja(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT key FROM "+e.storeName+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function U(a){var b=this,c=new ja(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT key FROM "+d.storeName,[],function(b,c){for(var d=[],e=0;e=0;c--){var d=localStorage.key(c);0===d.indexOf(a)&&localStorage.removeItem(d)}});return j(c,a),c}function X(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo,d=localStorage.getItem(b.keyPrefix+a);return d&&(d=b.serializer.deserialize(d)),d});return j(d,b),d}function Y(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo,d=b.keyPrefix,e=d.length,f=localStorage.length,g=1,h=0;f>h;h++){var i=localStorage.key(h);if(0===i.indexOf(d)){var j=localStorage.getItem(i);if(j&&(j=b.serializer.deserialize(j)),j=a(j,i.substring(e),g++),void 0!==j)return j}}});return j(d,b),d}function Z(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=localStorage.key(a)}catch(e){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return j(d,b),d}function $(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo,c=localStorage.length,d=[],e=0;c>e;e++)0===localStorage.key(e).indexOf(a.keyPrefix)&&d.push(localStorage.key(e).substring(a.keyPrefix.length));return d});return j(c,a),c}function _(a){var b=this,c=b.keys().then(function(a){return a.length});return j(c,a),c}function aa(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo;localStorage.removeItem(b.keyPrefix+a)});return j(d,b),d}function ba(a,b,c){var d=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var e=d.ready().then(function(){void 0===b&&(b=null);var c=b;return new ja(function(e,f){var g=d._dbInfo;g.serializer.serialize(b,function(b,d){if(d)f(d);else try{localStorage.setItem(g.keyPrefix+a,b),e(c)}catch(h){"QuotaExceededError"!==h.name&&"NS_ERROR_DOM_QUOTA_REACHED"!==h.name||f(h),f(h)}})})});return j(e,c),e}function ca(a,b){a[b]=function(){var c=arguments;return a.ready().then(function(){return a[b].apply(a,c)})}}function da(){for(var a=1;ac;c++){var e=a[c];this.supports(e)&&b.push(e)}return b},a.prototype._wrapLibraryMethodsWithReady=function(){for(var a=0;a + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml new file mode 100644 index 00000000..9f6dcc0d --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties new file mode 100644 index 00000000..583ac571 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties @@ -0,0 +1,125 @@ +#Sun Feb 17 13:37:36 IST 2019 +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/mipmap-ldpi/icon.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/mipmap-ldpi_icon.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-mdpi-v4/common_google_signin_btn_text_dark_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-xhdpi-v4/notification_bg_low_pressed.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/layout/fingerprint_dialog_content.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_fingerprint_dialog_content.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-anydpi-v21/ic_fingerprint_success.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-anydpi-v21_ic_fingerprint_success.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable/notification_icon_background.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_icon_background.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_icon_disabled.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_disabled.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-xhdpi/ic_fp_40px.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fp_40px.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_icon_light.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-xxxhdpi/ic_fingerprint_success.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fingerprint_success.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_text_dark_normal.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark_normal.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-hdpi/ic_fingerprint_success.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fingerprint_success.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-hdpi-v4/googleg_disabled_color_18.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_googleg_disabled_color_18.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout/notification_action.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_action.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-ldpi/ic_fingerprint_error.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-ldpi_ic_fingerprint_error.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-land-mdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-mdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-mdpi-v4/notification_bg_low_pressed.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_low_pressed.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xxhdpi-v4/googleg_standard_color_18.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_googleg_standard_color_18.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout-v16/notification_template_custom_big.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout-v16_notification_template_custom_big.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_icon_dark.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-port-xxhdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xxhdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xxhdpi-v4/common_google_signin_btn_icon_dark_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/mipmap-xxxhdpi/icon.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xxxhdpi_icon.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-xhdpi/ic_fingerprint_success.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fingerprint_success.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-xhdpi-v4/notification_bg_normal.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_normal.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-hdpi/ic_fp_40px.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fp_40px.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xhdpi-v4/common_google_signin_btn_icon_light_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-hdpi-v4/common_google_signin_btn_icon_dark_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-hdpi-v4/notification_bg_low_pressed.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_low_pressed.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-mdpi/ic_fingerprint_error.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fingerprint_error.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_icon_dark_normal.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark_normal.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-hdpi-v4/googleg_standard_color_18.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_googleg_standard_color_18.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_text_light_normal.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light_normal.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/mipmap-hdpi/icon.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/mipmap-hdpi_icon.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xxhdpi-v4/common_google_signin_btn_text_dark_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_icon_light_focused.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light_focused.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-xxhdpi/ic_fingerprint_error.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fingerprint_error.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-hdpi-v4/common_google_signin_btn_text_light_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_template_big_media_narrow_custom.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_narrow_custom.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_template_big_media_narrow.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_narrow.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-xxhdpi/ic_fingerprint_success.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fingerprint_success.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-v21/notification_action_background.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-v21_notification_action_background.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_media_action.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_media_action.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/mipmap-xhdpi/icon.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xhdpi_icon.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-xxhdpi/ic_fp_40px.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fp_40px.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/xml/config.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/xml_config.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/mipmap-mdpi/icon.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/mipmap-mdpi_icon.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-hdpi-v4/common_full_open_on_phone.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_full_open_on_phone.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-mdpi-v4/googleg_disabled_color_18.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_googleg_disabled_color_18.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_template_big_media.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-ldpi/ic_fingerprint_success.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-ldpi_ic_fingerprint_success.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-hdpi-v4/common_google_signin_btn_text_dark_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_text_light.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/layout/fingerprint_dialog_container.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_fingerprint_dialog_container.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xxhdpi-v4/common_google_signin_btn_icon_light_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-xxxhdpi/ic_fingerprint_error.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fingerprint_error.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/xml/camera_provider_paths.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/xml_camera_provider_paths.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout/notification_template_icon_group.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_icon_group.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-xhdpi-v4/notify_panel_notification_icon_bg.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_text_disabled.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_disabled.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xhdpi-v4/googleg_disabled_color_18.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_googleg_disabled_color_18.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable/notification_bg.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_bg.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-land-hdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-hdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout-v21/notification_template_icon_group.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_template_icon_group.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout/notification_action_tombstone.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_action_tombstone.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-land-ldpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-ldpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-xhdpi-v4/notification_bg_low_normal.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-mdpi-v4/common_google_signin_btn_icon_light_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-mdpi/ic_fingerprint_success.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fingerprint_success.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-hdpi-v4/notification_bg_low_normal.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout/notification_template_part_time.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_part_time.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-port-mdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-mdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-mdpi-v4/notification_bg_low_normal.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_icon_dark_focused.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark_focused.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-nodpi/android_robot.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-nodpi_android_robot.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/mipmap-xxhdpi/icon.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xxhdpi_icon.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-xxxhdpi/ic_fp_40px.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fp_40px.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout-v21/notification_action_tombstone.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_action_tombstone.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_media_cancel_action.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_media_cancel_action.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-land-xhdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xhdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable/notification_tile_bg.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_tile_bg.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout-v21/notification_action.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_action.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-port-xxxhdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xxxhdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xhdpi-v4/common_google_signin_btn_icon_dark_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-mdpi-v4/googleg_standard_color_18.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_googleg_standard_color_18.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/color/common_google_signin_btn_tint.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_tint.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xhdpi-v4/common_google_signin_btn_text_light_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xxhdpi-v4/googleg_disabled_color_18.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_googleg_disabled_color_18.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_template_lines_media.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_lines_media.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_text_light_focused.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light_focused.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/color/common_google_signin_btn_text_light.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_text_light.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xhdpi-v4/googleg_standard_color_18.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_googleg_standard_color_18.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable/notification_bg_low.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_bg_low.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-hdpi-v4/common_google_signin_btn_icon_light_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_text_dark.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-mdpi-v4/common_google_signin_btn_icon_dark_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xxhdpi-v4/common_google_signin_btn_text_light_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout-v21/notification_template_custom_big.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_template_custom_big.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xhdpi-v4/common_google_signin_btn_text_dark_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-port-xhdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xhdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_template_big_media_custom.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_custom.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-mdpi-v4/notification_bg_normal.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_normal.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-xhdpi-v4/common_full_open_on_phone.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_full_open_on_phone.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_icon_light_normal.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light_normal.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/color/common_google_signin_btn_text_dark.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_text_dark.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/layout/notification_template_part_chronometer.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_part_chronometer.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-mdpi-v4/notification_bg_normal_pressed.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-port-hdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-hdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable-mdpi-v4/common_google_signin_btn_text_light_normal_background.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-land-xxhdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xxhdpi_screen.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-mdpi/ic_fp_40px.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fp_40px.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-anydpi-v21/ic_fingerprint_error.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-anydpi-v21_ic_fingerprint_error.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/res/drawable/common_google_signin_btn_text_dark_focused.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark_focused.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-port-ldpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-ldpi_screen.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/res/drawable-land-xxxhdpi/screen.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xxxhdpi_screen.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/res/drawable-hdpi-v4/notification_bg_normal.9.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_normal.9.png.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-hdpi/ic_fingerprint_error.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fingerprint_error.png.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_template_media_custom.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_media_custom.xml.flat +/home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/res/layout/notification_template_media.xml=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_media.xml.flat +/opt/lampp/htdocs/pd_officer/platforms/android/app/build/generated/res/pngs/debug/drawable-xhdpi/ic_fingerprint_error.png=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fingerprint_error.png.flat diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-af/values-af.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-af/values-af.xml new file mode 100644 index 00000000..44db3ee7 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-af/values-af.xml @@ -0,0 +1,22 @@ + + + "Aktiveer" + "%1$s sal nie werk nie tensy jy Google Play-dienste aktiveer." + "Aktiveer Google Play-dienste" + "Installeer" + "%1$s sal nie sonder Google Play Dienste werk nie, wat nie op jou toestel is nie." + "Kry Google Play-dienste" + "Beskikbaarheid van Google Play-dienste" + "Google Play Services-fout" + "%1$s ondervind probleme met Google Play Dienste. Probeer asseblief weer." + "%1$s sal nie werk sonder Google Play Dienste nie, wat nie deur jou toestel gesteun word nie." + "Dateer op" + "%1$s sal nie werk nie tensy jy Google Play Dienste opdateer." + "Dateer Google Play-dienste op" + "%1$s sal nie sonder Google Play-dienste werk nie, wat tans opdateer." + "Nuwe weergawe van Google Play-dienste is nodig. Dit sal binnekort self opdateer." + "Maak oop op foon" + "Meld aan" + "Meld aan met Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-am/values-am.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-am/values-am.xml new file mode 100644 index 00000000..e4412437 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-am/values-am.xml @@ -0,0 +1,22 @@ + + + "አንቃ" + "Google Play አገልግሎቶችን ካላነቁ በስተቀር %1$s አይሰራም።" + "Google Play አገልግሎቶችን ያንቁ" + "ጫን" + "%1$s ያለ Google Play አገልግሎቶች አይሰራም፣ እነሱ ደግሞ በመሣሪያዎ ላይ የሉም።" + "Google Play አገልግሎቶችን ያግኙ" + "Google Play አገልግሎቶች ተገኝነት" + "የGoogle Play አገልግሎቶች ስህተት" + "%1$s በGoogle Play አገልግሎቶች ላይ ችግሮች እያጋጠሙት ነው። እባክዎ እንደገና ይሞክሩ።" + "%1$s ያለGoogle Play አገልግሎቶች አይሄድም፣ እነዚህም በመሣሪያዎ አይደገፉም።" + "ያዘምኑ" + "Google Play አገልግሎቶችን ካላዘመኑ በስተቀር ድረስ %1$s አይሰራም።" + "Google Play አገልግሎቶችን ያዘምኑ" + "%1$s ያለ Google Play አገልግሎቶች አይሰራም፣ እነሱ ደግሞ በአሁኑ ጊዜ በመዘመን ላይ ናቸው።" + "አዲስ የGoogle Play አገልግሎቶች ስሪት ያስፈልጋል። በቅርቡ እራሱን ያዘምናል።" + "ስልክ ላይ ክፈት" + "ግባ" + "በGoogle ይግቡ" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ar/values-ar.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ar/values-ar.xml new file mode 100644 index 00000000..063db8c7 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ar/values-ar.xml @@ -0,0 +1,22 @@ + + + "تمكين" + "‏لن يعمل %1$s ما لم يتم تمكين خدمات Google Play." + "‏تمكين خدمات Google Play" + "تثبيت" + "‏لن يتم تشغيل %1$s بدون خدمات Google Play، والتي لا تتوفر على جهازك." + "‏الحصول على خدمات Google Play" + "‏مدى توفّر خدمات Google Play" + "‏خطأ في خدمات Google Play" + "‏لدى %1$s مشكلة في خدمات Google Play. يُرجى إعادة المحاولة." + "‏لن يتم تشغيل %1$s بدون خدمات Google Play التي لا يوفرها جهازك." + "تحديث" + "‏لن يتم تشغيل %1$s ما لم يتم تحديث خدمات Google Play." + "‏تحديث خدمات Google Play" + "‏لن يتم تشغيل %1$s بدون خدمات Google Play، والتي يتم تحديثها حاليًا." + "‏يجب توفر إصدار جديد من خدمات Google Play. سيتم تحديثها تلقائيًا قريبًا." + "فتح على الهاتف" + "تسجل الدخول" + "‏تسجيل الدخول عبر Google" + "+999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-az/values-az.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-az/values-az.xml new file mode 100644 index 00000000..d1b30aea --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-az/values-az.xml @@ -0,0 +1,22 @@ + + + "Aktiv edin" + "%1$s Google Play xidmətlərini aktiv edənə kimi işləməyəcək." + "Google Play xidmətlərini aktiv edin" + "Quraşdırın" + "%1$s cihazınızda mövcud olmayan Google Play xidmətləri olmadan çalışmayacaq." + "Google Play xidmətlərini əldə edin" + "Google Play xidmətlərinin əlçatımlılığı" + "Google Play xidmətləri xətası" + "%1$s tətbiqi ilə Google Play xidmətləri arasında problem var. Daha sonra yenidən cəhd edin." + "Cihazınız tərəfindən dəstəklənməyən Google Play xidmətləri olmadan %1$s tətbiqi işləməyəcək." + "Güncəlləyin" + "%1$s Google Play xidmətləri yeniləmə halda çalışmaz." + "Google Play xidmətlərini güncəlləşdirin" + "%1$s hal-hazırda güncəllənən Google Play xidmətləri olmadan çalışmayacaq." + "Google Play xidmətlərinin yeni versiyası lazımdır. Qısa müddətə özünü yeniləyəcək." + "Telefonda açın" + "Daxil olun" + "Google ilə daxil olun" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml new file mode 100644 index 00000000..ca413efc --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml @@ -0,0 +1,22 @@ + + + "Omogući" + "%1$s neće funkcionisati ako ne omogućite Google Play usluge." + "Omogućite Google Play usluge" + "Instaliraj" + "%1$s ne može da se pokrene bez Google Play usluga, koje nisu instalirane na uređaju." + "Preuzmite Google Play usluge" + "Dostupnost Google Play usluga" + "Greška Google Play usluga" + "%1$s ima problema sa Google Play uslugama. Probajte ponovo." + "%1$s ne može da se pokrene bez Google Play usluga, koje uređaj ne podržava." + "Ažuriraj" + "%1$s ne može da se pokrene ako ne ažurirate Google Play usluge." + "Ažurirajte Google Play usluge" + "%1$s ne može da se pokrene bez Google Play usluga, koje se trenutno ažuriraju." + "Potrebna je nova verzija Google Play usluga. Uskoro će se ažurirati." + "Otvori na telefonu" + "Prijavi me" + "Prijavi me na Google" + ">999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-be/values-be.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-be/values-be.xml new file mode 100644 index 00000000..cca8b48b --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-be/values-be.xml @@ -0,0 +1,22 @@ + + + "Уключыць" + "%1$s не будзе працаваць, пакуль вы не ўключыце службы Google Play." + "Уключыць службы Google Play" + "Усталяваць" + "%1$s не будзе працаваць без службаў Google Play, якія адсутнічаюць на вашай прыладзе." + "Атрымаць службы Google Play" + "Даступнасць сэрвісаў Google Play" + "Памылка службаў Google Play" + "У праграмы %1$s узніклі праблемы са службамі Google Play. Паўтарыце спробу." + "%1$s не будзе працаваць без службаў Google Play, якія не падтрымліваюцца вашай прыладай." + "Абнавіць" + "%1$s не будзе працаваць, пакуль вы не абновіце службы Google Play." + "Абнаўленне службаў Google Play" + "%1$s не будзе працаваць без службаў Google Play, якія ў цяперашні час абнаўляюцца." + "Патрабуецца новая версія служб Google Play. Яна абновіцца аўтаматычна ў бліжэйшы час." + "Адкрыць на тэлефоне" + "Увайсцi" + "Увайсці праз Google" + "больш за 999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bg/values-bg.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bg/values-bg.xml new file mode 100644 index 00000000..2ad9728e --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bg/values-bg.xml @@ -0,0 +1,22 @@ + + + "Активиране" + "%1$s няма да работи, освен ако не активирате услугите за Google Play." + "Активиране на услугите за Google Play" + "Инсталиране" + "%1$s няма да се изпълнява, тъй като услугите за Google Play не са инсталирани на устройството ви." + "Изтегляне на услугите за Google Play" + "Наличност на услугите за Google Play" + "Грешка в услугите за Google Play" + "%1$s има проблеми с услугите за Google Play. Моля, опитайте отново." + "%1$s няма да се изпълнява, тъй като услугите за Google Play не се поддържат от устройството ви." + "Актуализиране" + "%1$s няма да се изпълнява, освен ако не актуализирате услугите за Google Play." + "Актуализиране на услугите за Google Play" + "%1$s няма да се изпълнява без услугите за Google Play. Понастоящем те се актуализират." + "Необходима е нова версия на услугите за Google Play. Скоро тя ще се актуализира автоматично." + "Отваряне на телефона" + "Вход" + "Вход с Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bn/values-bn.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bn/values-bn.xml new file mode 100644 index 00000000..91520d57 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bn/values-bn.xml @@ -0,0 +1,22 @@ + + + "সক্ষম করুন" + "আপনি Google Play পরিষেবা সক্ষম না করা পর্যন্ত %1$s কাজ করবে না।" + "Google Play পরিষেবা সক্ষম করুন" + "ইনস্টল করুন" + "Google Play পরিষেবা ছাড়া %1$s চলবে না, যা আপনার ডিভাইসে অনুপস্থিত।" + "Google Play পরিষেবা পান" + "Google Play পরিষেবার উপলভ্যতা" + "Google Play পরিষেবার ত্রুটি" + "Google Play পরিষেবাগুলির সাথে %1$s এর সমস্যা হচ্ছে৷ অনুগ্রহ করে আবার চেষ্টা করুন৷" + "Google Play পরিষেবা ছাড়া %1$s চলবে না, যেটি আপনার ডিভাইসে সমর্থিত নয়৷" + "আপডেট করুন" + "আপনি Google Play পরিষেবা আপডেট না করা পর্যন্ত %1$s চলবে না।" + "Google Play পরিষেবা আপডেট করুন" + "Google Play পরিষেবা ছাড়া %1$s চলবে না যা বর্তমানে আপডেট হচ্ছে।" + "Google Play পরিষেবার নতুন ভার্সন প্রয়োজন৷ খুব শীঘ্রই এটা নিজেই আপডেট হবে৷" + "ফোনে খুলুন" + "সাইন-ইন করুন" + "Google এর মাধ্যমে সাইন-ইন করুন" + "৯৯৯+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bs/values-bs.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bs/values-bs.xml new file mode 100644 index 00000000..7f186ab5 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-bs/values-bs.xml @@ -0,0 +1,22 @@ + + + "Omogući" + "Aplikacija %1$s neće raditi ako ne omogućite Google Play usluge." + "Omogućite Google Play usluge" + "Instaliraj" + "Aplikacija %1$s neće raditi bez Google Play usluga, kojih na vašem uređaju nema." + "Nabavite Google Play usluge" + "Dostupnost Google Play usluga" + "Greška Google Play usluge" + "Aplikacija %1$s ima problema s Google Play uslugama. Pokušajte ponovo." + "Aplikacija %1$s neće raditi bez Google Play usluga, koje vaš uređaj ne podržava." + "Ažuriraj" + "Aplikacija %1$s neće raditi ako ne ažurirate Google Play usluge." + "Ažuriranje Google Play usluga" + "Aplikacija %1$s neće raditi bez Google Play usluga, koje se trenutno ažuriraju." + "Potrebna je nova verzija Google Play usluga. Ubrzo će se samo ažurirati." + "Otvori na telefonu" + "Prijavi se" + "Prijavi se pomoću Googlea" + ">999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ca/values-ca.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ca/values-ca.xml new file mode 100644 index 00000000..b02f335c --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ca/values-ca.xml @@ -0,0 +1,22 @@ + + + "Activa" + "%1$s no funcionarà si no actives Serveis de Google Play." + "Activa Serveis de Google Play" + "Instal·la" + "%1$s no s\'executarà si Serveis de Google Play no està instal·lat al dispositiu." + "Obtén Serveis de Google Play" + "Disponibilitat de serveis de Google Play" + "Error de Serveis de Google Play" + "%1$s té problemes amb Serveis de Google Play. Torna-ho a provar." + "%1$s no es pot executar sense Serveis de Google Play, que no és compatible amb el teu dispositiu." + "Actualitza" + "%1$s no s\'executarà si no actualitzes Serveis de Google Play." + "Actualitza Serveis de Google Play" + "%1$s no s\'executarà sense Serveis de Google Play, que s\'està actualitzant en aquest moment." + "Cal una nova versió de Serveis de Google Play. S\'actualitzarà automàticament aviat." + "Obre al telèfon" + "Inicia sessió" + "Inicia la sessió amb Google" + "+999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-cs/values-cs.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-cs/values-cs.xml new file mode 100644 index 00000000..1ddfd274 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-cs/values-cs.xml @@ -0,0 +1,22 @@ + + + "Povolit" + "Ke spuštění aplikace %1$s je třeba aktivovat služby Google Play." + "Aktivace služeb Google Play" + "Instalovat" + "Ke spuštění aplikace %1$s jsou potřeba služby Google Play, které v zařízení nemáte." + "Instalace služeb Google Play" + "Dostupnost služeb Google Play" + "Chyba služeb Google Play" + "Aplikace %1$s má potíže se službami Google Play. Zkuste to prosím znovu." + "Ke spuštění aplikace %1$s jsou potřeba služby Google Play, které v tomto zařízení nejsou podporovány." + "Aktualizovat" + "Ke spuštění aplikace %1$s je třeba aktualizovat služby Google Play." + "Aktualizace služeb Google Play" + "Ke spuštění aplikace %1$s jsou potřeba služby Google Play, které jsou právě aktualizovány." + "Je vyžadována nová verze služeb Google Play. Nová verze se brzy sama nainstaluje." + "Otevřít v telefonu" + "Přihlásit se" + "Přihlásit se k účtu Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-da/values-da.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-da/values-da.xml new file mode 100644 index 00000000..8420cc41 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-da/values-da.xml @@ -0,0 +1,32 @@ + + + "Aktivér" + "Du skal aktivere Google Play-tjenester, for at %1$s kan fungere." + "Aktivér Google Play-tjenester" + "Installer" + "Du skal installere Google Play-tjenester, før %1$s kan køre på din enhed." + "Hent Google Play-tjenester" + "Google Play-tjenesters tilgængelighed" + "Fejl i Google Play-tjenester" + "%1$s har problemer med Google Play-tjenester. Prøv igen." + "%1$s fungerer ikke uden Google Play-tjenester, som ikke understøttes på din enhed." + "Opdater" + "%1$s kan ikke køre, medmindre du opdaterer Google Play-tjenester." + "Opdater Google Play-tjenester" + "%1$s kan ikke køre uden Google Play-tjenester, som i øjeblikket opdateres." + "Du skal bruge en ny version af Google Play-tjenester. Opdateringen gennemføres automatisk om et øjeblik." + "Åbn på telefonen" + "Log ind" + "Log ind med Google" + Fingeraftryk Login + Annuller + Bekræft fingeraftryk for at fortsætte + Rør sensor + Fingeraftryk ikke genkendt. Prøv igen. + Ok + Fingeraftryk godkendt + Brug backup + Et nyt fingeraftryk blev tilføjet til denne enhed så din adgangskode er krævet. + Sikring af skærmlås krævet! + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-de/values-de.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-de/values-de.xml new file mode 100644 index 00000000..e697c73a --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-de/values-de.xml @@ -0,0 +1,32 @@ + + + "Aktivieren" + "%1$s funktioniert erst nach der Aktivierung der Google Play-Dienste." + "Google Play-Dienste aktivieren" + "Installieren" + "Zur Nutzung von %1$s sind die Google Play-Dienste erforderlich, die auf deinem Gerät nicht installiert sind." + "Google Play-Dienste installieren" + "Verfügbarkeit von Google Play-Diensten" + "Fehler bei Zugriff auf Google Play-Dienste" + "%1$s hat Probleme mit Google Play-Diensten. Bitte versuche es noch einmal." + "Zur Nutzung von %1$s sind Google Play-Dienste erforderlich, die auf deinem Gerät nicht unterstützt werden." + "Aktualisieren" + "%1$s wird nur ausgeführt, wenn du die Google Play-Dienste aktualisierst." + "Google Play-Dienste aktualisieren" + "Zur Nutzung von %1$s sind Google Play-Dienste erforderlich, die gerade aktualisiert werden." + "Eine neue Version der Google Play-Dienste wird benötigt. Diese wird in Kürze automatisch aktualisiert." + "Auf Smartphone öffnen" + "Anmelden" + "Über Google anmelden" + Authentifizierung + Abbrechen + Fingerabdruck bestätigen + Fingerabdrucksensor + Fingerabdruck nicht erkannt. Versuchen Sie es erneut + OK + Authentifiziert + Passwort + Ein neuer Fingerabdruck wurde gespeichert. Bitte geben Sie ihr Passwort ein. + Passwortgeschützter Sperrbildschirm benötigt + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-el/values-el.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-el/values-el.xml new file mode 100644 index 00000000..b5e2c541 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-el/values-el.xml @@ -0,0 +1,32 @@ + + + "Ενεργοποίηση" + "Η εφαρμογή %1$s δεν θα λειτουργήσει εάν δεν έχετε ενεργοποιήσει τις υπηρεσίες Google Play." + "Ενεργοποίηση υπηρεσιών Google Play" + "Εγκατάσταση" + "Η εφαρμογή %1$s δεν μπορεί να εκτελεστεί χωρίς τις υπηρεσίες Google Play, οι οποίες λείπουν από τη συσκευή σας." + "Λήψη υπηρεσιών Google Play" + "Διαθεσιμότητα υπηρεσιών Google Play" + "Σφάλμα Υπηρεσιών Google Play" + "Η εφαρμογή %1$s αντιμετωπίζει κάποιο πρόβλημα με τις υπηρεσίες Google Play. Προσπαθήστε ξανά." + "Η εφαρμογή %1$s δεν θα εκτελεστεί χωρίς τις υπηρεσίες Google Play, οι οποίες δεν υποστηρίζονται από τη συσκευή σας." + "Ενημέρωση" + "Η εφαρμογή %1$s θα εκτελεστεί αφού ενημερώσετε τις Υπηρεσίες Google Play." + "Ενημέρωση υπηρεσιών Google Play" + "Η εφαρμογή %1$s δεν θα εκτελεστεί χωρίς τις υπηρεσίες Google Play, οι οποίες ενημερώνονται αυτήν τη στιγμή." + "Απαιτείται νέα έκδοση των υπηρεσιών Google Play. Θα ενημερωθεί σύντομα." + "Άνοιγμα σε τηλέφωνο" + "Σύνδεση" + "Συνδεθείτε με το Google" + Ελεγχος αποτυπώματος + Ακύρωση + Επιβεβαίωση αποτυπώματος + Αιθηστήρας αφής + Σφάλμα. Προσπαθήστε ξανά + Ok + Σωστό αποτύπωμα + Χρήση αρχείου + Νεο αποτύπωμα προστέθηκε , απαιτείται ο κωδικός σας. + Απαιτείται κλειδωμα οθόνης + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rAU/values-en-rAU.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rAU/values-en-rAU.xml new file mode 100644 index 00000000..553bf481 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rAU/values-en-rAU.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rGB/values-en-rGB.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rGB/values-en-rGB.xml new file mode 100644 index 00000000..ac70ab4c --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rGB/values-en-rGB.xml @@ -0,0 +1,22 @@ + + + "Enable" + "%1$s won\'t work unless you enable Google Play services." + "Enable Google Play services" + "Install" + "%1$s won\'t run without Google Play services, which are missing from your device." + "Get Google Play services" + "Google Play services availability" + "Google Play services error" + "%1$s is having trouble with Google Play services. Please try again." + "%1$s won\'t run without Google Play services, which are not supported by your device." + "Update" + "%1$s won\'t run unless you update Google Play services." + "Update Google Play services" + "%1$s won\'t run without Google Play services, which are currently updating." + "New version of Google Play services needed. It will update itself shortly." + "Open on phone" + "Sign In" + "Sign in with Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rIN/values-en-rIN.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rIN/values-en-rIN.xml new file mode 100644 index 00000000..553bf481 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-en-rIN/values-en-rIN.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-es-rUS/values-es-rUS.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-es-rUS/values-es-rUS.xml new file mode 100644 index 00000000..608b5b8e --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-es-rUS/values-es-rUS.xml @@ -0,0 +1,22 @@ + + + "Habilitar" + "%1$s no funcionará a menos que habilites los servicios de Google Play." + "Habilitar servicios de Google Play" + "Instalar" + "%1$s no se ejecutará si los Servicios de Google Play no están instalados en tu dispositivo." + "Obtener servicios de Google Play" + "Disp. de los Servicios de Google‌‌‌ Play" + "Error de Google Play Services" + "%1$s tiene problemas con los servicios de Google Play. Vuelve a intentarlo." + "%1$s no se ejecutará sin los servicios de Google Play, que no son compatibles con tu dispositivo." + "Actualizar" + "%1$s no se ejecutará a menos que actualices los servicios de Google Play." + "Actualizar servicios de Google Play" + "%1$s no se ejecutará sin los servicios de Google Play. La plataforma se está actualizando en este momento." + "Se necesita una nueva versión de los servicios de Google Play. Se actualizarán automáticamente en breve." + "Abrir en el teléfono" + "Acceder" + "Acceder con Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-es/values-es.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-es/values-es.xml new file mode 100644 index 00000000..a5905df7 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-es/values-es.xml @@ -0,0 +1,32 @@ + + + "Habilitar" + "%1$s no funcionará hasta que no habilites Servicios de Google Play." + "Habilita Servicios de Google Play" + "Instalar" + "%1$s no se ejecutará si los Servicios de Google Play no están instalados en tu dispositivo." + "Descargar Servicios de Google Play" + "Disponibilidad Servicios de Google Play" + "Error de Servicios de Google Play" + "La aplicación %1$s tiene problemas con los Servicios de Google Play. Vuelve a intentarlo." + "No es posible ejecutar la aplicación %1$s sin los Servicios de Google Play, que no son compatibles con tu dispositivo." + "Actualizar" + "%1$s no funcionará hasta que no actualices Servicios de Google Play." + "Actualiza Servicios de Google Play" + "%1$s no se ejecutará hasta que finalice la actualización en curso de Servicios de Google Play." + "Se necesita una nueva versión de Servicios de Google Play. Se actualizará en breve." + "Abrir en teléfono" + "Iniciar sesión" + "Iniciar sesión con Google" + Autenticación de Huellas Digitales + Cancelar + Confirmar la huella digital para continuar + Sensor tactil + No se reconoce la huella digital. Inténtalo de nuevo. + De Acuerdo + Reconocido de huella dactilar + El Respaldo + Una nueva huella digital fue agregada a este dispositivo, por lo que se requiere la contraseña. + ¡Requiere pantalla de bloqueo seguro! + "+999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-et/values-et.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-et/values-et.xml new file mode 100644 index 00000000..bc344736 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-et/values-et.xml @@ -0,0 +1,22 @@ + + + "Luba" + "Rakendus %1$s töötab ainult siis, kui lubate Google Play teenused." + "Google Play teenuste lubamine" + "Installi" + "Rakendus %1$s töötab ainult koos Google Play teenustega, mida teie seadmes pole." + "Google Play teenuste hankimine" + "Google Play teenuste saadavalolek" + "Viga Google Play teenustes" + "Rakendusel %1$s on probleeme Google Play teenustega. Proovige uuesti." + "Rakendus %1$s töötab ainult koos Google Play teenustega, mida teie seadmes ei toetata." + "Värskenda" + "Rakenduse %1$s töötamiseks peate värskendama Google Play teenuseid." + "Google Play teenuste värskendamine" + "Rakendus %1$s töötab ainult koos Google Play teenustega, mida praegu värskendatakse." + "Vajalik on Google Play teenuste uus versioon. See värskendab end peagi." + "Ava telefonis" + "Logi sisse" + "Logi sisse Google\'i kontoga" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-eu/values-eu.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-eu/values-eu.xml new file mode 100644 index 00000000..cd204688 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-eu/values-eu.xml @@ -0,0 +1,22 @@ + + + "Gaitu" + "%1$s aplikazioak ez du funtzionatuko Google Play zerbitzuak gaitzen ez badituzu." + "Gaitu Google Play zerbitzuak" + "Instalatu" + "%1$s ez da exekutatuko Google Play zerbitzurik gabe, baina ez dituzu gailuan." + "Lortu Google Play zerbitzuak" + "Google Play zerbitzuen erabilgarritasuna" + "Google Play zerbitzuen errorea" + "%1$s aplikazioak arazoak ditu Google Play zerbitzuekin. Saiatu berriro." + "%1$s aplikazioa ezin da erabili Google Play zerbitzurik gabe, eta zure gailua ez da zerbitzuokin bateragarria." + "Eguneratu" + "%1$s ez da exekutatuko Google Play zerbitzuak eguneratzen ez badituzu." + "Eguneratu Google Play zerbitzuak" + "%1$s ez da exekutatuko Google Play zerbitzurik gabe; une honetan eguneratzen ari dira zerbitzuok." + "Google Play zerbitzuen bertsio berria behar da. Berehala eguneratuko da automatikoki." + "Ireki telefonoan" + "Hasi saioa" + "Hasi saioa Google-n" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fa/values-fa.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fa/values-fa.xml new file mode 100644 index 00000000..5ccdeacd --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fa/values-fa.xml @@ -0,0 +1,22 @@ + + + "فعال کردن" + "‏تا وقتی سرویس‌های Google Play را فعال نکنید، %1$s کار نمی‌کند." + "‏‫فعال کردن سرویس‌های Google Play" + "نصب" + "‏%1$s بدون خدمات Google Play که در دستگاه شما وجود ندارد اجرا نمی‌شود." + "‏دریافت سرویس‌های Google Play" + "‏قابلیت دسترسی خدمات Google Play" + "‏خطا در خدمات Google Play" + "‏%1$s برای استفاده از خدمات Google Play با مشکل روبرو است. لطفاً دوباره امتحان کنید." + "‏%1$s بدون خدمات Google Play که در دستگاه شما پشتیبانی نمی‌شود، اجرا نخواهد شد." + "به‌روزرسانی" + "‏تاز مانی که سرویس‌های Google Play را به‌روزرسانی نکنید، %1$s اجرا نمی‌شود." + "‏‫به‌روزرسانی سرویس‌های Google Play" + "‏%1$s بدون سرویس‌های Google Play که درحال حاضر درحال به‌روزرسانی هستند، کار نمی‌کند." + "‏نسخه جدید سرویس‌های Google Play نیاز است. به‌زودی به‌طور خودکار به‌روزرسانی می‌شود." + "باز کردن در تلفن" + "ورود به سیستم" + "‏ورود به سیستم با Google‎" + "۹۹۹+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fi/values-fi.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fi/values-fi.xml new file mode 100644 index 00000000..d7062293 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fi/values-fi.xml @@ -0,0 +1,22 @@ + + + "Ota käyttöön" + "%1$s ei toimi, ellet ota Google Play Palveluita käyttöön." + "Ota Google Play Palvelut käyttöön" + "Asenna" + "%1$s ei toimi ilman Google Play Palveluita, jotka puuttuvat laitteeltasi." + "Asenna Google Play Palvelut" + "Google Play Palveluiden saatavuus" + "Virhe Google Play -palveluissa" + "Sovelluksella %1$s on ongelmia Google Play Palveluiden kanssa. Yritä uudelleen." + "%1$s ei toimi ilman Google Play Palveluita, joita laitteesi ei tue." + "Päivitä" + "%1$s ei toimi, ellet päivitä Google Play Palveluita." + "Päivitä Google Play Palvelut" + "%1$s ei toimi ilman Google Play Palveluita, joita päivitetään tällä hetkellä." + "Uusi Google Play Palveluiden versio tarvitaan. Se päivittyy pian." + "Avaa puhelimessa" + "Kirjaudu sisään" + "Kirjaudu Google-tilille" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fr-rCA/values-fr-rCA.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fr-rCA/values-fr-rCA.xml new file mode 100644 index 00000000..217a9e04 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fr-rCA/values-fr-rCA.xml @@ -0,0 +1,22 @@ + + + "Activer" + "%1$s ne fonctionnera pas tant que vous n\'aurez pas activé les services Google Play." + "Activer les services Google Play" + "Installer" + "%1$s ne fonctionnera pas sans les services Google Play, qui ne sont pas installés sur votre appareil." + "Installer les services Google Play" + "Disponibilité des services Google Play" + "Erreur liée aux services Google Play" + "L\'application %1$s éprouve un problème avec les services Google Play. Veuillez réessayer." + "L\'application %1$s ne fonctionnera pas sans les services Google Play, qui ne sont pas pris en charge par votre appareil." + "Mettre à jour" + "%1$s ne fonctionnera pas tant que vous n\'aurez pas mis à jour les services Google Play." + "Mettre à jour les services Google Play" + "%1$s ne fonctionnera pas sans les services Google Play, qui sont actuellement mis à jour." + "La nouvelle version des services Google Play est nécessaire. Elle sera bientôt installée automatiquement." + "Ouvrir sur le téléphone" + "Connexion" + "Se connecter avec Google" + ">999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fr/values-fr.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fr/values-fr.xml new file mode 100644 index 00000000..0e1412a8 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-fr/values-fr.xml @@ -0,0 +1,32 @@ + + + "Activer" + "%1$s ne fonctionnera pas tant que vous n\'aurez pas activé les services Google Play." + "Activer les services Google Play" + "Installer" + "%1$s ne fonctionnera pas sans les services Google Play, qui ne sont pas installés sur votre appareil." + "Installer les services Google Play" + "Disponibilité des services Google Play" + "Erreur liée aux services Google Play" + "L\'application %1$s rencontre des problèmes avec les services Google Play. Veuillez réessayer." + "%1$s ne fonctionnera pas sans les services Google Play, qui ne sont pas compatibles avec votre appareil." + "Mettre à jour" + "%1$s ne fonctionnera pas tant que vous n\'aurez pas mis à jour les services Google Play." + "Mettre à jour les services Google Play" + "%1$s ne fonctionnera pas sans les services Google Play, qui sont en cours de mise à jour." + "La nouvelle version des services Google Play est nécessaire. Elle sera bientôt installée automatiquement." + "Ouvrir sur le téléphone" + "Se connecter" + "Se connecter avec Google" + Authentification par empreinte digitale + Annuler + Confirmer l\'empreinte pour continuer + Toucher le capteur + Empreinte non reconnue. Essayer à nouveau. + Ok + Empreinte reconnue + Utiliser la sauvegarde + Une nouvelle empreinte digitale a été ajoutée à ce dispositif, de sorte que votre mot de passe est nécessaire. + Écran de verrouillage sécurisé nécessaire! + ">999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-gl/values-gl.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-gl/values-gl.xml new file mode 100644 index 00000000..a5e0f45c --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-gl/values-gl.xml @@ -0,0 +1,22 @@ + + + "Activar" + "%1$s non funcionará a menos que actives os servizos de Google Play." + "Activar servizos de Google Play" + "Instalar" + "%1$s non se executará se o teu dispositivo non ten instalados os servizos de Google Play." + "Descargar servizos de Google Play" + "Dispoñibilidade dos servizos de Play" + "Erro nos servizos de Google Play" + "%1$s ten problemas cos servizos de Google Play. Téntao de novo." + "%1$s non se executará sen os servizos de Google Play, que non son compatibles co teu dispositivo." + "Actualizar" + "%1$s non se executará a menos que actualices os servizos de Google Play." + "Actualizar os servizos de Google Play" + "%1$s non se executará sen os servizos de Google Play, que se están actualizando neste momento." + "Necesítase a nova versión dos servizos de Google Play. Actualizarase en breve." + "Abrir no teléfono" + "Iniciar sesión" + "Iniciar sesión con Google" + ">999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-gu/values-gu.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-gu/values-gu.xml new file mode 100644 index 00000000..6301898b --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-gu/values-gu.xml @@ -0,0 +1,22 @@ + + + "સક્ષમ કરો" + "તમે Google Play સેવાઓ સક્ષમ કરશો નહીં ત્યાં સુધી %1$s કાર્ય કરશે નહીં." + "Google Play સેવાઓ સક્ષમ કરો" + "ઇન્સ્ટૉલ કરો" + "%1$s, Google Play સેવાઓ વગર ચાલશે નહીં, જે તમારા ઉપકરણમાંથી ખૂટે છે." + "Google Play સેવાઓ મેળવો" + "Google Play સેવાઓની ઉપલબ્ધતા" + "Google Play સેવાઓની ભૂલ" + "%1$s ને Google Play સેવાઓમાં મુશ્કેલી આવી રહી છે. કૃપા કરીને ફરી પ્રયાસ કરો." + "%1$s, Google Play સેવાઓ વગર ચાલશે નહીં, જે તમારા ઉપકરણ દ્વારા સમર્થિત નથી." + "અપડેટ કરો" + "તમે Google Play સેવાઓ અપડેટ કરશો નહીં ત્યાં સુધી %1$s શરૂ થશે નહીં." + "Google Play સેવાઓ અપડેટ કરો" + "%1$s, Google Play સેવાઓ વગર શરૂ થશે નહીં, જે વર્તમાનમાં અપડેટ થઈ રહી છે." + "Google Play સેવાઓના નવા સંસ્કરણની જરૂર છે. તે ટૂંક સમયમાં પોતાને અપડેટ કરશે." + "ફોનમાં ખોલો" + "સાઇન ઇન કરો" + "Google માં સાઇન ઇન કરો" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hi/values-hi.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hi/values-hi.xml new file mode 100644 index 00000000..c026ac95 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hi/values-hi.xml @@ -0,0 +1,22 @@ + + + "चालू करें" + "जब तक आप Google Play सेवाएं चालू नहीं करते, %1$s काम नहीं करेगा." + "Google Play सेवाएं चालू करें" + "इंस्टॉल करें" + "%1$s उन Google Play सेवाओं के बिना नहीं चलेगा जो आपके डिवाइस में उपलब्ध नहीं हैं." + "Google Play सेवाएं इंस्टॉल करें" + "Google Play सेवाएं उपलब्ध हैं" + "Google Play सेवाओं से जुड़ी गड़बड़ी" + "%1$s को Google Play सेवाओं के साथ समस्या आ रही है. कृपया फिर से कोशिश करें." + "%1$s उन Google Play सेवाओं के बिना नहीं चलेगा, जो आपके डिवाइस पर काम नहीं करती हैं." + "अपडेट करें" + "%1$s तब तक नहीं चलेगा जब तक आप Google Play सेवाओं को अपडेट नहीं करते." + "Google Play सेवाओं को अपडेट करें" + "%1$s उन Google Play सेवाओं के बिना नहीं चलेगा जो अभी अपडेट हो रही हैं." + "Google Play सेवाओं के नए वर्शन की ज़रूरत है. यह जल्द ही अपने आप अपडेट हो जाएगा." + "फ़ोन पर खोलें" + "साइन इन करें" + "Google के ज़रिए साइन इन करें" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hr/values-hr.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hr/values-hr.xml new file mode 100644 index 00000000..a63074eb --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hr/values-hr.xml @@ -0,0 +1,22 @@ + + + "Omogući" + "%1$s neće funkcionirati ako ne omogućite usluge Google Playa." + "Omogućivanje usluga Google Playa" + "Instaliraj" + "%1$s neće funkcionirati bez usluga Google Playa koje nisu instalirane na vašem uređaju." + "Preuzimanje usluga Google Playa" + "Dostupnost usluga za Google Play" + "Pogreška Usluga za Google Play" + "%1$s ima poteškoća s uslugama Google Playa. Pokušajte ponovo." + "%1$s neće funkcionirati bez usluga Google Playa koje vaš uređaj ne podržava." + "Ažuriraj" + "%1$s neće funkcionirati ako ne ažurirate Google Play usluge." + "Ažuriranje usluga Google Playa" + "%1$s neće se pokrenuti bez usluga Google Playa koje se trenutačno ažuriraju." + "Potrebna je nova verzija usluga Google Playa. Uskoro će se ažurirati." + "Otvori na telefonu" + "Prijava" + "Prijava putem Googlea" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hu/values-hu.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hu/values-hu.xml new file mode 100644 index 00000000..658eb880 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hu/values-hu.xml @@ -0,0 +1,22 @@ + + + "Engedélyezés" + "A(z) %1$s alkalmazás csak akkor működik, ha engedélyezi a Google Play-szolgáltatásokat." + "Google Play-szolgáltatások engedélyezése" + "Telepítés" + "A(z) %1$s alkalmazás nem fut a Google Play-szolgáltatások nélkül, amelyek hiányoznak az eszközről." + "A Google Play-szolgáltatások beszerzése" + "Google Play-szolgáltatások elérhetősége" + "Google Play-szolgáltatások – hiba" + "A(z) %1$s alkalmazás problémába ütközött a Google Play-szolgáltatások használata során. Próbálkozzon újra." + "A(z) %1$s alkalmazás nem fut a Google Play-szolgáltatások nélkül, amelyeket eszköze nem támogat." + "Frissítés" + "A(z) %1$s alkalmazás csak akkor fog működni, ha frissíti a Google Play-szolgáltatásokat." + "A Google Play-szolgáltatások frissítése" + "A(z) %1$s alkalmazás nem fut a Google Play-szolgáltatások nélkül, amelyek frissítése folyamatban van." + "A Google Play-szolgáltatások új verziójára van szükség. A szolgáltatás hamarosan frissíti önmagát." + "Megnyitás a telefonon" + "Bejelentkezés" + "Bejelentkezés Google-fiókkal" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hy/values-hy.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hy/values-hy.xml new file mode 100644 index 00000000..f8649472 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-hy/values-hy.xml @@ -0,0 +1,22 @@ + + + "Միացնել" + "%1$s հավելվածը չի աշխատի մինչև չմիացնեք Google Play ծառայությունները:" + "Միացնել Google Play ծառայությունները" + "Տեղադրել" + "%1$s հավելվածը չի աշխատի առանց Google Play ծառայությունների, որոնք չկան ձեր սարքում:" + "Տեղադրել Google Play ծառայությունները" + "Google Play ծառայությունների հասանելիություն" + "Google Play ծառայությունների սխալ կա" + "%1$s հավելվածը Google Play ծառայությունների հետ կապված խնդիր ունի: Փորձեք նորից:" + "%1$s հավելվածը չի աշխատի առանց Google Play ծառայությունների, որոնք ձեր սարքում չեն աջակցվում:" + "Թարմացնել" + "%1$s հավելվածը չի աշխատի մինչև չթարմացնեք Google Play ծառայությունները:" + "Թարմացնել Google Play ծառայությունները" + "%1$s հավելվածը չի աշխատի առանց Google Play ծառայությունների, որոնք այս պահին թարմացվում են:" + "Անհրաժեշտ է Google Play ծառայությունների նոր տարբերակը: Այն շուտով կթարմացվի ավտոմատ կերպով:" + "Բացել հեռախոսով" + "Մուտք գործել" + "Մուտք գործել Google-ով" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-in/values-in.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-in/values-in.xml new file mode 100644 index 00000000..02db1325 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-in/values-in.xml @@ -0,0 +1,22 @@ + + + "Aktifkan" + "%1$s tidak akan berfungsi jika layanan Google Play tidak diaktifkan." + "Aktifkan layanan Google Play" + "Instal" + "%1$s tidak akan berjalan tanpa layanan Google Play, yang tidak ada di perangkat Anda." + "Dapatkan layanan Google Play" + "Ketersediaan layanan Google Play" + "Kesalahan layanan Google Play" + "%1$s mengalami masalah dengan layanan Google Play. Coba lagi." + "%1$s tidak akan berjalan tanpa layanan Google Play, yang tidak didukung oleh perangkat Anda." + "Update" + "%1$s tidak akan berjalan jika layanan Google Play tidak diperbarui." + "Perbarui layanan Google Play" + "%1$s tidak akan berjalan tanpa layanan Google Play, yang saat ini sedang diperbarui." + "Perlu versi baru layanan Google Play. Akan segera memperbarui sendiri." + "Buka di ponsel" + "Masuk" + "Masuk dengan Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-is/values-is.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-is/values-is.xml new file mode 100644 index 00000000..ea32ffc1 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-is/values-is.xml @@ -0,0 +1,22 @@ + + + "Kveikja" + "%1$s virkar ekki nema þú gerir þjónustu Google Play virka." + "Virkja þjónustu Google Play" + "Setja upp" + "%1$s getur ekki keyrt án þjónustu Google Play, sem vantar í tækið þitt." + "Sækja þjónustu Google Play" + "Staða þjónustu Google Play" + "Villa í þjónustu Google Play" + "%1$s á í vandræðum með þjónustu Google Play. Reyndu aftur." + "%1$s getur ekki keyrt án þjónustu Google Play, sem er ekki studd af tækinu þínu." + "Uppfæra" + "%1$s getur ekki keyrt nema þú uppfærir þjónustu Google Play." + "Uppfæra þjónustu Google Play" + "%1$s getur ekki keyrt án þjónustu Google Play, sem verið er að uppfæra." + "Nýja útgáfu af þjónustu Google Play vantar. Hún uppfærir sig sjálf innan skamms." + "Opna í símanum" + "Skrá inn" + "Skrá inn með Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-it/values-it.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-it/values-it.xml new file mode 100644 index 00000000..ebbf00ad --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-it/values-it.xml @@ -0,0 +1,32 @@ + + + "Attiva" + "%1$s non funzionerà se non attivi Google Play Services." + "Attiva Google Play Services" + "Installa" + "L\'app %1$s non funzionerà senza Google Play Services, non presente sul tuo dispositivo." + "Installa Google Play Services" + "Disponibilità di Google Play Services" + "Errore Google Play Services" + "%1$s sta riscontrando problemi con Google Play Services. Riprova." + "%1$s non funzionerà senza Google Play Services, non supportati dal tuo dispositivo." + "Aggiorna" + "%1$s non funzionerà se non aggiorni Google Play Services." + "Aggiorna Google Play Services" + "%1$s non funzionerà senza Google Play Services, attualmente in fase di aggiornamento." + "È richiesta una nuova versione di Google Play Services. L\'aggiornamento automatico verrà eseguito a breve." + "Apri sul telefono" + "Accedi" + "Accedi con Google" + Autenticazione impronta digitale + Cancella + Conferma l\'impronta digitale per continuare + Sensore Touch + Impronta digitale non riconosciuta. Riprova. + Ok + Impronta digitale riconosciuta + Usa backup + Una nuova impronta è stata aggiunta a questo dispositivo, quindi è necessaria la tua password + Blocco schermo richiesto! + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-iw/values-iw.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-iw/values-iw.xml new file mode 100644 index 00000000..bede72c4 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-iw/values-iw.xml @@ -0,0 +1,22 @@ + + + "הפעל" + "‏האפליקציה %1$s לא תפעל אם לא תפעיל את שירותי Google Play." + "‏הפעל את שירותי Google Play" + "התקן" + "‏האפליקציה %1$s לא תפעל ללא שירותי Google Play, שאינם מותקנים במכשיר." + "‏קבל את שירותי Google Play" + "‏זמינות של שירותי Google Play" + "‏שגיאה בשירותי Google Play" + "‏%1$s נתקלה בבעיה בשירותי Google Play. נסה שוב." + "‏%1$s לא תפעל ללא שירותי Google Play, שאינם נתמכים במכשיר שלך." + "עדכן" + "‏%1$s לא יפעל אם לא תעדכן את שירותי Google Play." + "‏עדכון שירותי Google Play" + "‏האפליקציה %1$s לא תפעל ללא שירותי Google Play, שמתעדכנים כרגע." + "‏דרושה גרסה חדשה של שירותי Google Play. הגרסה תתעדכן בעצמה תוך זמן קצר." + "פתח בטלפון" + "כניסה" + "‏היכנס באמצעות Google" + "‎999+‎" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ja/values-ja.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ja/values-ja.xml new file mode 100644 index 00000000..96b1498d --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ja/values-ja.xml @@ -0,0 +1,22 @@ + + + "有効にする" + "%1$sの実行には、Google Play開発者サービスの有効化が必要です。" + "Google Play開発者サービスの有効化" + "インストール" + "「%1$s」の実行には Google Play 開発者サービスが必要ですが、お使いの端末にはインストールされていません。" + "Google Play開発者サービスの入手" + "Google Play 開発者サービスの利用" + "Google Play開発者サービスのエラー" + "「%1$s」で Google Play 開発者サービスに問題が発生しています。もう一度お試しください。" + "「%1$s」の実行には Google Play 開発者サービスが必要ですが、お使いの端末ではサポートされていません。" + "更新" + "%1$sの実行にはGoogle Play開発者サービスの更新が必要です。" + "Google Play開発者サービスの更新" + "%1$sの実行にはGoogle Play開発者サービスが必要ですが、このサービスは現在更新中です。" + "Google Play開発者サービスの新しいバージョンが必要です。まもなく自動更新されます。" + "スマートフォンで開く" + "ログイン" + "Googleにログイン" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ka/values-ka.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ka/values-ka.xml new file mode 100644 index 00000000..bb59fb4a --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ka/values-ka.xml @@ -0,0 +1,22 @@ + + + "ჩართვა" + "%1$s ვერ იმუშავებს Google Play Services-ის ჩართვამდე." + "Google Play Services-ის ჩართვა" + "ინსტალაცია" + "%1$s ვერ გაეშვება Google Play Services-ის გარეშე, რომელიც აკლია თქვენს მოწყობილობას." + "Google Play Services-ის ჩამოტვირთვა" + "Google Play services-ის ხელმისაწვდომობა" + "Google Play Services-ის შეცდომა" + "%1$s-ს Google Play Services-თან პრობლემა შეექმნა. გთხოვთ, ცადოთ ხელახლა." + "%1$s ვერ გაეშვება Google Play Services-ის გარეშე, რომლებიც მხარდაუჭერელია თქვენი მოწყობილობის მიერ." + "განახლება" + "%1$s ვერ გაეშვება, თუ Google Play სერვისებს არ განაახლებთ." + "განაახლეთ Google Play Services" + "%1$s ვერ გაეშვება Google Play Services-ის გარეშე, რომელთა განახლებაც ამჟამად მიმდინარეობს." + "საჭიროა Google Play Services-ის ახალი ვერსია. ის მალე განახლდება." + "ტელეფონში გახსნა" + "შესვლა" + "Google-ით შესვლა" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-kk/values-kk.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-kk/values-kk.xml new file mode 100644 index 00000000..627da46e --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-kk/values-kk.xml @@ -0,0 +1,22 @@ + + + "Қосу" + "Google Play қызметтерін қоспасаңыз, %1$s жұмыс істемейді." + "Google Play қызметтерін қосу" + "Орнату" + "Google Play қызметтері құрылғыда болмағандықтан, %1$s іске қосылмайды." + "Google Play қызметтерін алу" + "Google Play қызметтерінің қолжетімділігі" + "Google Play қызметтерінің қатесі" + "%1$s қолданбасында Google Play қызметіне байланысты белгісіз қате шықты. Әрекетті қайталаңыз." + "%1$s қолданбасы құрылғыңызда қолдау көрсетілмейтін Google Play қызметінсіз жұмыс істемейді." + "Жаңарту" + "Google Play қызметтерін жаңартпасаңыз, %1$s іске қосылмайды." + "Google Play қызметтерін жаңарту" + "Қазіргі уақытта жаңартылып жатқан Google Play қызметтерінсіз %1$s іске қосылмайды." + "Google Play қызметтерінің жаңа нұсқасы қажет. Ол қысқа уақыттан кейін өзі жаңарады." + "Телефонда ашу" + "Кіру" + "Google арқылы кіру" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-km/values-km.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-km/values-km.xml new file mode 100644 index 00000000..e98ef605 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-km/values-km.xml @@ -0,0 +1,22 @@ + + + "បើក" + "%1$s នឹងមិនដំណើរការទេ លុះត្រាតែអ្នកបើកសេវាកម្ម Google Play។" + "បើកសេវាកម្ម Google Play" + "ដំឡើង" + "%1$s នឹងមិនដំណើរការទេ ប្រសិនបើមិនមានសេវាកម្មនានារបស់ Google Play ដែលបានបាត់ពីឧបករណ៍របស់អ្នក។" + "ទាញយកសេវាកម្ម Google Play" + "លទ្ធភាព​ប្រើប្រាស់សេវាកម្ម Google Play" + "កំហុស​​សេវាកម្ម​ Google កម្សាន្ត" + "%1$s កំពុងមានបញ្ហាជាមួយសេវាកម្មរបស់ Google Play ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។" + "%1$s នឹងមិនដំណើរការដោយគ្មានសេវាកម្មរបស់ Google Play ដែលឧបករណ៍របស់អ្នកមិនគាំទ្រនោះទេ។" + "អាប់ដេត" + "%1$s នឹងមិនដំណើរការទេ លុះត្រាតែអ្នកធ្វើបច្ចុប្បន្នភាពសេវាកម្ម Google Play។" + "អាប់ដេតសេវាកម្ម Google Play" + "%1$s នឹងមិនដំណើរការទេ បើមិនមានសេវាកម្ម Google Play ដោយសារតែវាកំពុងអាប់ដេត។" + "តម្រូវឲ្យមានកំណែថ្មីនៃសេវាកម្ម Google Play។ វានឹងអាប់ដេតដោយខ្លួនវានៅពេលបន្តិចទៀតនេះ។" + "បើកតាមទូរស័ព្ទ" + "ចូល" + "ចូលដោយប្រើ Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-kn/values-kn.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-kn/values-kn.xml new file mode 100644 index 00000000..377a3fd5 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-kn/values-kn.xml @@ -0,0 +1,22 @@ + + + "ಸಕ್ರಿಯಗೊಳಿಸು" + "Google Play ಸೇವೆಗಳನ್ನು ನೀವು ಸಕ್ರಿಯಗೊಳಿಸದ ಹೊರತು %1$s ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ." + "Google Play ಸೇವೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ" + "ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ" + "ನಿಮ್ಮ ಸಾಧನದಿಂದ ಕಾಣೆಯಾಗಿರುವ %1$s, Google Play ಸೇವೆಗಳಿಲ್ಲದೆ ರನ್ ಆಗುವುದಿಲ್ಲ." + "Google Play ಸೇವೆಗಳನ್ನು ಪಡೆಯಿರಿ" + "Google Play ಸೇವೆಗಳ ಲಭ್ಯತೆ" + "Google Play ಸೇವೆಗಳ ದೋಷ" + "Google Play ಸೇವೆಗಳಲ್ಲಿ %1$s ಸಮಸ್ಯೆಯನ್ನು ಹೊಂದಿದೆ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ." + "ನಿಮ್ಮ ಸಾಧನದ ಮೂಲಕ ಬೆಂಬಲಿಸದಿರುವ Google Play ಸೇವೆಗಳಿಲ್ಲದೆ %1$s ರನ್‌ ಆಗುವುದಿಲ್ಲ." + "ಅಪ್‌ಡೇಟ್‌ ಮಾಡು" + "ನೀವು Google Play ಸೇವೆಗಳನ್ನು ನವೀಕರಿಸದ ಹೊರತು %1$s ರನ್ ಆಗುವುದಿಲ್ಲ." + "Google ಪ್ಲೇ ಸೇವೆಗಳನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಿ" + "Google Play ಸೇವೆಗಳಿಲ್ಲದೆ ಪ್ರಸ್ತುತ ಅಪ್‌ಡೇಟ್ ಆಗುತ್ತಿರುವ %1$s ರನ್ ಆಗುವುದಿಲ್ಲ." + "Google Play ಸೇವೆಗಳ ಹೊಸ ಆವೃತ್ತಿ ಅಗತ್ಯವಿದೆ. ಸದ್ಯದಲ್ಲೇ ಅದು ತಾನಾಗಿಯೇ ಅಪ್‌ಡೇಟ್ ಆಗುತ್ತದೆ." + "ಫೋನ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ" + "ಸೈನ್ ಇನ್" + "Google ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿ" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ko/values-ko.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ko/values-ko.xml new file mode 100644 index 00000000..cf55dbd1 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ko/values-ko.xml @@ -0,0 +1,22 @@ + + + "사용 설정" + "Google Play 서비스를 사용하도록 설정해야 %1$s이(가) 작동합니다." + "Google Play 서비스 사용" + "설치" + "기기에 Google Play 서비스가 설치되어 있어야 %1$s이(가) 실행됩니다." + "Google Play 서비스 설치" + "Google Play 서비스 사용 가능 여부" + "Google Play 서비스 오류" + "%1$s에서 Google Play 서비스를 사용하는 데 문제가 있습니다. 다시 시도하세요." + "%1$s은(는) Google Play 서비스 없이는 실행되지 않으나, 기기에서 Google Play 서비스를 지원하지 않습니다." + "업데이트" + "Google Play 서비스를 업데이트해야 %1$s이(가) 실행됩니다." + "Google Play 서비스 업데이트" + "현재 업데이트 중인 Google Play 서비스가 있어야 %1$s이(가) 실행됩니다." + "새 버전의 Google Play 서비스가 필요합니다. 곧 자동으로 업데이트됩니다." + "스마트폰에서 열기" + "로그인" + "Google 계정으로 로그인" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ky/values-ky.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ky/values-ky.xml new file mode 100644 index 00000000..a1476ba2 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ky/values-ky.xml @@ -0,0 +1,22 @@ + + + "Иштетүү" + "Google Play кызматтарын иштетмейиңизче %1$s иштебейт." + "Google Play кызматтарын иштетүү" + "Орнотуу" + "Google Play кызматтарысыз %1$s иштебейт. Алар түзмөгүңүздө жок болуп жатат." + "Google Play кызматтарын алуу" + "Google Play кызматтарынын иштеши" + "Google Play кызматтарынын катасы" + "%1$s колдонмосунун Google Play кызматтары менен иштөөдө көйгөй чыкты. Кайра аракет кылыңыз." + "%1$s колдонмосу сиздин түзмөгүңүздө колдоого алынбаган Google Play кызматтары болбосо иштебейт." + "Жаңыртуу" + "Google Play кызматтары жаңыртылмайынча %1$s иштебейт." + "Google Play кызматтарын жаңыртуу" + "Google Play кызматтарысыз %1$s иштебейт, алар учурда жаңыртылууда." + "Google Play кызматтарынын жаңы версиясы талап кылынат. Бир аздан кийин ал өзү эле жаңыртылат." + "Телефондо ачык" + "Кирүү" + "Google менен кирүү" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lo/values-lo.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lo/values-lo.xml new file mode 100644 index 00000000..2d74d0c3 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lo/values-lo.xml @@ -0,0 +1,22 @@ + + + "ເປີດນຳໃຊ້" + "%1$s ຈະບໍ່ສາມາດໃຊ້ງານໄດ້ຈົນກວ່າທ່ານຈະເປີດໃຊ້ງານ​ການ​ບໍ​ລິ​ການ Google Play." + "ເປີດໃຊ້ການ​ບໍ​ລິ​ການ Google Play" + "ຕິດຕັ້ງ" + "%1$s ຈະບໍ່ສາມາດເປີດໃຊ້ໄດ້ຫາກບໍ່ມີການບໍລິການ Google Play ເຊິ່ງແທັບເລັດຂອງທ່ານບໍ່ມີ." + "ຕິດຕັ້ງບໍລິການ Google Play" + "ສະຖານະບໍລິການ Google Play" + "Google Play Services ​ເກີດ​ຄວາມ​ຜິດ​ພາດ" + "%1$s ກຳລັງມີບັນຫາກັບບໍລິການ Google Play. ກະລຸນາລອງໃໝ່ອີກຄັ້ງ." + "%1$s ຈະບໍ່ສາມາດໃຊ້ໄດ້ຫາກບໍ່ມີບໍລິການ Google Play ເຊິ່ງອຸປະກອນຂອງທ່ານບໍ່ຮອງຮັບ." + "ອັບເດດ" + "%1$s ຈະບໍ່ສາມາດເຮັດວຽກໄດ້ຈົນກວ່າທ່ານຈະອັບເດດການ​ບໍ​ລິ​ການ Google Play" + "ອັບເດດການ​ບໍ​ລິ​ການ Google Play" + "%1$s ຈະບໍ່ສາມາດໃຊ້ງານໄດ້ໂດຍທີ່ບໍ່ມີການ​ບໍ​ລິ​ການ Google Play, ເຊິ່ງ​ກຳ​ລັງ​ອັບ​ເດດ​ຢູ່​ໃນ​ປະ​ຈຸ​ບັນ." + "ຈຳ​ເປັນ​ຕ້ອງ​ມີ​ກາ​ນ​ບໍ​ລິ​ການ Google Play ເວີ​ຊັນ​ໃໝ່. ມັນ​ຈະ​ອັບ​ເດດ​ຕົວ​ເອງ​ໄວໆ​ນີ້." + "​ເປີດ​ໃນ​ໂທ​ລະ​ສັບ" + "ລົງຊື່ເຂົ້າໃຊ້" + "ລົງຊື່ເຂົ້າໃຊ້ດ້ວຍ Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lt/values-lt.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lt/values-lt.xml new file mode 100644 index 00000000..0b0e519e --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lt/values-lt.xml @@ -0,0 +1,22 @@ + + + "Įgalinti" + "„%1$s“ neveiks, jei neįgalinsite „Google Play“ paslaugų." + "Įgalinkite „Google Play“ paslaugas" + "Įdiegti" + "Programa „%1$s“ nebus paleidžiama be „Google Play“ paslaugų, kurių nėra įrenginyje." + "Gaukite „Google Play“ paslaugas" + "„Google Play“ paslaugų pasiekiamumas" + "„Google Play“ paslaugų klaida" + "Naudojant programą „%1$s“ kilo problemų dėl „Google Play“ paslaugų. Bandykite dar kartą." + "Programa „%1$s“ nebus paleidžiama be „Google Play“ paslaugų, kurių jūsų įrenginys nepalaiko." + "Atnaujinti" + "„%1$s“ nebus paleidžiama, jei neatnaujinsite „Google Play“ paslaugų." + "Atnaujinkite „Google Play“ paslaugas" + "„%1$s“ nebus paleidžiama be „Google Play“ paslaugų, kurios šiuo metu atnaujinamos." + "Reikia naujos versijos „Google Play“ paslaugų. Jos netrukus bus atnaujintos." + "Atidaryti telefone" + "Prisijungti" + "Prisijungti naudojant „Google“" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lv/values-lv.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lv/values-lv.xml new file mode 100644 index 00000000..78315946 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-lv/values-lv.xml @@ -0,0 +1,22 @@ + + + "Iespējot" + "Lai lietotne %1$s darbotos, ir jāiespējo Google Play pakalpojumi." + "Google Play pakalpojumu iespējošana" + "Instalēt" + "Lai lietotne %1$s darbotos, ierīcē ir jāinstalē Google Play pakalpojumi." + "Google Play pakalpojumu iegūšana" + "Google Play pakalpojumu pieejamība" + "Google Play pakalpojumu kļūda" + "Lietotnē %1$s ir radusies problēma ar Google Play pakalpojumu darbību. Lūdzu, mēģiniet vēlreiz." + "Lai lietotne %1$s darbotos, ir nepieciešami Google Play pakalpojumi, taču jūsu ierīce tos neatbalsta." + "Atjaunināt" + "Lai lietotne %1$s darbotos, jums ir jāatjaunina Google Play pakalpojumi." + "Google Play pakalpojumu atjaunināšana" + "Lai lietotne %1$s darbotos, ir jāinstalē Google Play pakalpojumi. Pašlaik notiek to atjaunināšana." + "Ir nepieciešama jauna Google Play pakalpojumu versija. Drīzumā tā tiks instalēta." + "Atvērt tālrunī" + "Pierakstīties" + "Pierakstīties ar Google kontu" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mk/values-mk.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mk/values-mk.xml new file mode 100644 index 00000000..cd234837 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mk/values-mk.xml @@ -0,0 +1,22 @@ + + + "Овозможи" + "%1$s нема да се извршува ако не овозможите услуги на Google Play." + "Овозможи ги услугите на Google Play" + "Инсталирај" + "%1$s нема да се извршува без услугите на Google Play што ги нема на уредот." + "Преземи ги услугите на Google Play" + "Достапност на услугите на Google Play" + "Грешка на услугите на Google Play" + "%1$s има проблеми со услугите на Google Play. Обидете се повторно." + "%1$s нема да се извршува без услугите на Google Play, што не се подржани од уредов." + "Ажурирај" + "%1$s нема да се извршува ако не ги ажурирате услугите на Google Play." + "Ажурирај ги услугите на Google Play" + "%1$s нема да се извршува без услугите на Google Play што се ажурираат во моментов." + "Потребна е нова верзија на услугите на Google Play. Таа наскоро самата ќе се ажурира." + "Отвори на телефонот" + "Најави се" + "Најави се со Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ml/values-ml.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ml/values-ml.xml new file mode 100644 index 00000000..608f2243 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ml/values-ml.xml @@ -0,0 +1,22 @@ + + + "പ്രവർത്തനക്ഷമമാക്കുക" + "നിങ്ങൾ Google Play സേവനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുന്നില്ലെങ്കിൽ %1$s പ്രവർത്തിക്കില്ല." + "Google Play സേവനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുക" + "ഇന്‍സ്റ്റാള്‍ ചെയ്യുക" + "Google Play സേവനങ്ങളില്ലാതെ %1$s പ്രവർത്തിക്കില്ല, ഈ സേവനങ്ങളാകട്ടെ നിങ്ങളുടെ ഉപകരണത്തിൽ ഇല്ല." + "Google Play സേവനങ്ങൾ നേടുക" + "Google Play സേവന ലഭ്യത" + "Google Play സേവനങ്ങളിലെ പിശക്" + "Google Play സേവനങ്ങളുമായി ബന്ധപ്പെട്ട് %1$s ആപ്പിനെന്തോ പ്രശ്നമുണ്ട്. വീണ്ടും ശ്രമിക്കുക." + "Google Play സേവനങ്ങളില്ലാതെ %1$s പ്രവർത്തിക്കില്ല, സേവനങ്ങളെയാകട്ടെ നിങ്ങളുടെ ഉപകരണം പിന്തുണയ്ക്കുന്നുമില്ല." + "അപ്‌ഡേറ്റുചെയ്യുക" + "നിങ്ങൾ Google Play സേവനങ്ങൾ അപ്‌ഡേറ്റുചെയ്‌തില്ലെങ്കിൽ %1$s പ്രവർത്തിക്കില്ല." + "Google Play സേവനങ്ങൾ അപ്‌ഡേറ്റുചെയ്യുക" + "നിലവിൽ അപ്‌ഡേറ്റുചെയ്യുന്ന Google Play സേവനങ്ങൾ ഇല്ലാതെ %1$s പ്രവർത്തിക്കില്ല." + "Google Play സേവനങ്ങളുടെ പുതിയ പതിപ്പ് ആവശ്യമാണ്. താമസിയാതെ ഇത് സ്വയം അപ്‌ഡേറ്റുചെയ്യും." + "ഫോണിൽ തുറക്കുക" + "സൈൻ ഇൻ ചെയ്യുക" + "Google ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mn/values-mn.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mn/values-mn.xml new file mode 100644 index 00000000..e4232ee6 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mn/values-mn.xml @@ -0,0 +1,22 @@ + + + "Идэвхжүүлэх" + "%1$s нь Google Play үйлчилгээг идэвхжүүлэх хүртэл ажиллахгүй." + "Google Play үйлчилгээг идэвхжүүлэх" + "Суулгах" + "Таны төхөөрөмжид Google Play үйлчилгээ байхгүй тул %1$s ажиллахгүй." + "Google Play үйлчилгээг авах" + "Google Play-н үйлчилгээнүүдийн боломжит байдал" + "Google Наадаан үйлчилгээний алдаа" + "%1$s-г Google Play-н үйлчилгээгээр ашиглахад асуудал гарлаа. Дахин оролдоно уу." + "Таны төхөөрөмж Google Play үйлчилгээг дэмждэггүй учир %1$s ажиллахгүй." + "Шинэчлэх" + "%1$s нь таныг Google Play үйлчилгээнүүдийг шинэчлэхээс нааш ажиллахгүй." + "Google Play үйлчилгээг шинэчлэх" + "%1$s нь одоогоор шинэчилж буй Google Play үйлчилгээгүйгээр ажиллахгүй." + "Google Play үйлчилгээний шинэ хувилбар хэрэгтэй. Энэ нь удахгүй өөрөө өөрийгөө шинэчлэх болно." + "Утсаар нээх" + "Нэвтрэх" + "Google-р нэвтрэх:" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mr/values-mr.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mr/values-mr.xml new file mode 100644 index 00000000..dfa9232e --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-mr/values-mr.xml @@ -0,0 +1,22 @@ + + + "सक्षम करा" + "आपण Google Play सेवा सक्षम केल्याशिवाय %1$s हा अॅप कार्य करणार नाही." + "Google Play सेवा सक्षम करा" + "स्‍थापित करा" + "Google Play सेवा आपल्या डिव्हाइसवर उपलब्ध नाही, त्याशिवाय %1$s चालणार नाही." + "Google Play सेवा मिळवा" + "Google Play सेवा उपलब्धता" + "Google Play सेवा एरर" + "%1$s ला Google Play सेवांमध्ये समस्या येत आहे. कृपया पुन्हा प्रयत्न करा." + "तुमचे डिव्हाइस सपोर्ट करत नसलेल्या, Google Play सेवांशिवाय %1$s चालणार नाही." + "अपडेट करा" + "आपण Google Play सेवा अपडेट करेपर्यंत %1$s चालणार नाही." + "Google Play सेवा अपडेट करा" + "सध्‍या अपडेट होत असलेल्‍या, Google Play सेवांशिवाय %1$s चालणार नाही." + "Google Play सेवांच्या नवीन आवृत्तीची आवश्यकता आहे. हे स्वत:ला लवकरच अपडेट करेल." + "फोनवर उघडा" + "साइन इन करा" + "Google सह साइन इन करा" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ms/values-ms.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ms/values-ms.xml new file mode 100644 index 00000000..b86da974 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ms/values-ms.xml @@ -0,0 +1,22 @@ + + + "Dayakan" + "%1$s tidak akan berfungsi melainkan anda mendayakan perkhidmatan Google Play." + "Dayakan perkhidmatan Google Play" + "Pasang" + "%1$s tidak akan berfungsi tanpa perkhidmatan Google Play dan perkhidmatan ini tiada pada peranti anda." + "Dapatkan perkhidmatan Google Play" + "Ketersediaan perkhidmatan Google Play" + "Ralat perkhidmatan Google Play" + "%1$s menghadapi masalah berhubung perkhidmatan Google Play. Sila cuba lagi." + "%1$s tidak akan berfungsi tanpa perkhidmatan Google Play dan perkhidmatan ini tidak disokong oleh peranti anda." + "Kemas kini" + "%1$s tidak akan berfungsi kecuali anda mengemas kini perkhidmatan Google Play." + "Kemaskinikan perkhidmatan Google Play" + "%1$s tidak akan berfungsi tanpa perkhidmatan Google Play dan perkhidmatan ini sedang dikemaskinikan." + "Versi baharu perkhidmatan Google Play diperlukan. Kemas kini automatik akan dijalankan sebentar lagi." + "Buka pada telefon" + "Log masuk" + "Log masuk dengan Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-my/values-my.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-my/values-my.xml new file mode 100644 index 00000000..700467bc --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-my/values-my.xml @@ -0,0 +1,22 @@ + + + "ဖွင့်ရန်" + "Google Play ဝန်ဆောင်မှုများကို မဖွင့်သ၍ %1$s သည်အလုပ်လုပ်မည်မဟုတ်ပါ။" + "Google Play ဝန်ဆောင်မှုများ ဖွင့်ရန်" + "ထည့်သွင်းပါ" + "သင့်တက်ဘလက်တွင် Google Play ဝန်ဆောင်မှုများမရှိသောကြောင့် %1$s ကိုဖွင့်၍မရပါ။" + "Google Play ဝန်ဆောင်မှုများရယူရန်" + "Google Play ဝန်ဆောင်မှုများ ရရှိနိုင်သည်" + "Google Play ဝန်ဆောင်မှုများ အမှား" + "%1$s သည် Google Play ဝန်ဆောင်မှုများနှင့် ပြဿနာအနည်းငယ် ရှိနေပါသည်။ ထပ်လုပ်ကြည့်ပါ။" + "Google Play ဝန်ဆောင်မှုများကို သင့်စက်ပစ္စည်းတွင် ပံ့ပိုးမထားသည့်အတွက် ၎င်းမရှိဘဲ %1$s ကို ဖွင့်၍မရပါ။" + "အပ်ဒိတ်" + "Google Play ဝန်ဆောင်မှုများအား အပ်ဒိတ်မလုပ်ပါက %1$s အလုပ်လုပ်မည် မဟုတ်ပါ။" + "Google Play ဝန်ဆောင်မှုများကို အပ်ဒိတ်လုပ်ရန်" + "Google Play ဝန်ဆောင်မှုများကို လက်ရှိအပ်ဒိတ်လုပ်နေသောကြောင့် %1$s ကိုဖွင့်၍ရမည်မဟုတ်ပါ။" + "Google Play ဝန်ဆောင်မှုဗားရှင်းအသစ်များ လိုအပ်နေသည်။ အချိန်အနည်းငယ်အကြာတွင် ၎င်းကိုယ်တိုင်အပ်ဒိတ်လုပ်ပါ လိမ့်မည်။" + "ဖုန်းပေါ်မှာ ဖွင့်ပါ" + "လက်မှတ်ထိုး ဝင်ရန်" + "Google ဖြင့် လက်မှတ်ထိုးဝင်ရေ" + "၉၉၉+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-nb/values-nb.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-nb/values-nb.xml new file mode 100644 index 00000000..fadd3861 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-nb/values-nb.xml @@ -0,0 +1,22 @@ + + + "Slå på" + "%1$s fungerer ikke med mindre du slår på Google Play-tjenester." + "Slå på Google Play-tjenester" + "Installer" + "%1$s kan ikke kjøre uten Google Play-tjenester, som ikke er installert på enheten din." + "Installer Google Play-tjenester" + "Google Play Tjenester-tilgjengelighet" + "Google Play Tjenester-feil" + "%1$s har problemer med Google Play-tjenester. Prøv på nytt." + "%1$s kan ikke kjøre uten Google Play-tjenester, som ikke støttes av enheten din." + "Oppdater" + "%1$s kjører ikke med mindre du oppdaterer Google Play Tjenester." + "Oppdater Google Play-tjenester" + "%1$s kjører ikke uten Google Play-tjenester, som oppdateres akkurat nå." + "Du må installere en ny versjon av Google Play-tjenester. Appen oppdateres automatisk om en kort stund." + "Åpne på telefonen" + "Logg på" + "Logg på med Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ne/values-ne.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ne/values-ne.xml new file mode 100644 index 00000000..8d1aeeca --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ne/values-ne.xml @@ -0,0 +1,22 @@ + + + "सक्रिय गर्नुहोस्" + "%1$s ले तपाईँले Google Play सेवाहरू सक्षम नगरेसम्म काम गर्दैन।" + "Google Play सेवाहरू सक्षम पार्नुहोस्" + "स्थापना गर्नुहोस्" + "%1$s Google Play services बिना सञ्चालन हुने छैन र तपाईँको यन्त्रमा Google Play services उपलब्ध छैनन्।" + "Google Play सेवाहरू प्राप्त गर्नुहोस्" + "Google Play सेवाको उपलब्धता" + "Google Play सेवाहरूका त्रुटि" + "%1$s लाई Google Play services सँग सहकार्य गर्न समस्या भइरहेको छ। कृपया फेरि प्रयास गर्नुहोस्।" + "%1$s Google Play services बिना सञ्चालन हुने छैन र तपाईँको यन्त्रले Google Play services लाई समर्थन गर्दैन।" + "अद्यावधिक गर्नुहोस्" + "%1$s तपाईंले Google प्ले सेवाहरू अद्यावधिक नगरेसम्म सञ्चालन हुँदैन।" + "Google Play सेवाहरू अद्यावधिक गर्नुहोस्" + "Google Play सेवाहरू %1$s बिना सञ्‍चालन हुँदैन, जुन हाल अद्यावधिक भइरहेका छन्।" + "Google Play सेवाहरूको नयाँ संस्करण आवश्यक छ। यो आफै छिट्टै नै अद्यावधिक हुनेछ।" + "फोनमा खोल्नुहोस्" + "साइन इन गर्नुहोस्" + "Google मार्फत साइन‍ इन गर्नुहोस्" + "९९९+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-nl/values-nl.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-nl/values-nl.xml new file mode 100644 index 00000000..a5b7988e --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-nl/values-nl.xml @@ -0,0 +1,32 @@ + + + "Inschakelen" + "%1$s werkt niet, tenzij je Google Play-services inschakelt." + "Google Play-services inschakelen" + "Installeren" + "%1$s kan niet worden uitgevoerd zonder Google Play-services, die je nog niet op je apparaat hebt." + "Google Play-services ophalen" + "Beschikbaarheid van Google Play-services" + "Fout met Google Play-services" + "%1$s ondervindt problemen met Google Play-services. Probeer het opnieuw." + "%1$s kan niet worden uitgevoerd zonder Google Play-services, die niet worden ondersteund op je apparaat." + "Updaten" + "%1$s kan niet worden uitgevoerd, tenzij je Google Play-services updatet." + "Google Play-services updaten" + "%1$s kan niet worden uitgevoerd zonder Google Play-services, die momenteel worden geüpdatet." + "Er is een nieuwe versie van Google Play-services vereist. De update wordt binnenkort automatisch uitgevoerd." + "Openen op telefoon" + "Inloggen" + "Inloggen met Google" + Authenticatie met vingerafdruk + Annuleer + Vingerafdruk bevestigen om verder te gaan + Aanraaksensor + Vingerafdruk niet herkend.Opnieuw proberen. + OK + Vingerafdruk herkend + Back-up gebruiken + Er werd een nieuwe vingerafdruk aan dit apparaat toegevoegd, waardoor uw wachtwoord is vereist. + Beveiligd vergrendelingsscherm vereist! + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pa/values-pa.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pa/values-pa.xml new file mode 100644 index 00000000..4ca93a59 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pa/values-pa.xml @@ -0,0 +1,22 @@ + + + "ਚਾਲੂ ਕਰੋ" + "%1$s ਕੰਮ ਨਹੀਂ ਕਰੇਗਾ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ Google Play ਸੇਵਾਵਾਂ ਨੂੰ ਚਾਲੂ ਨਹੀਂ ਕਰਦੇ ਹੋ।" + "Google Play ਸੇਵਾਵਾਂ ਨੂੰ ਚਾਲੂ ਕਰੋ" + "ਸਥਾਪਤ ਕਰੋ" + "%1$s Google Play ਸੇਵਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਨਹੀਂ ਚੱਲੇਗੀ, ਜੋ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਤੋਂ ਗੁੰਮ ਹਨ।" + "Google Play ਸੇਵਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ" + "Google Play ਸੇਵਾਵਾਂ ਦੀ ਉਪਲਬਧਤਾ" + "Google Play ਸੇਵਾਵਾਂ ਅਸ਼ੁੱਧੀ" + "%1$s ਨੂੰ Google Play ਸੇਵਾਵਾਂ ਨਾਲ ਸਮੱਸਿਆ ਆ ਰਹੀ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" + "%1$s Google Play ਸੇਵਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਨਹੀਂ ਚੱਲ ਸਕੇਗੀ, ਜੋ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ।" + "ਅੱਪਡੇਟ ਕਰੋ" + "%1$s ਨਹੀਂ ਚੱਲੇਗਾ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ Google Play ਸੇਵਾਵਾਂ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕਰਦੇ ਹੋ।" + "Google Play ਸੇਵਾਵਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ" + "%1$s Google Play ਸੇਵਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਨਹੀਂ ਚੱਲੇਗਾ, ਜੋ ਵਰਤਮਾਨ ਵਿੱਚ ਅੱਪਡੇਟ ਹੋ ਰਹੀਆਂ ਹਨ।" + "Google Play ਸੇਵਾਵਾਂ ਦੇ ਨਵਾਂ ਸੰਸਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਛੇਤੀ ਹੀ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਅੱਪਡੇਟ ਕਰੇਗਾ।" + "ਫ਼ੋਨ \'ਤੇ ਖੋਲ੍ਹੋ" + "ਸਾਈਨ-ਇਨ ਕਰੋ" + "Google ਨਾਲ ਸਾਈਨ-ਇਨ ਕਰੋ" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pl/values-pl.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pl/values-pl.xml new file mode 100644 index 00000000..4b710f89 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pl/values-pl.xml @@ -0,0 +1,22 @@ + + + "Włącz" + "Aplikacja %1$s nie będzie działać, jeśli nie włączysz Usług Google Play." + "Włącz Usługi Google Play" + "Zainstaluj" + "%1$s nie będzie działać, jeśli nie zainstalujesz na urządzeniu Usług Google Play." + "Pobierz Usługi Google Play" + "Dostępność Usług Google Play" + "Błąd Usług Google Play" + "%1$s ma problem z dostępem do Usług Google Play. Spróbuj jeszcze raz." + "%1$s nie będzie działać bez Usług Google Play, które nie są obecnie obsługiwane przez urządzenie." + "Aktualizuj" + "Aplikacja %1$s nie będzie działać, jeśli nie zaktualizujesz Usług Google Play." + "Zaktualizuj Usługi Google Play" + "Aplikacja %1$s nie będzie działać bez Usług Google Play, które są obecnie aktualizowane." + "Wymagana jest nowa wersja Usług Google Play. Wkrótce nastąpi automatyczna aktualizacja." + "Otwórz na telefonie" + "Zaloguj się" + "Zaloguj się przez Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-port/values-port.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-port/values-port.xml new file mode 100644 index 00000000..7a925dc7 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-port/values-port.xml @@ -0,0 +1,4 @@ + + + false + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml new file mode 100644 index 00000000..d401b71e --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml @@ -0,0 +1,22 @@ + + + "Ativar" + "%1$s só funciona com o Google Play Services ativado." + "Ativar o Google Play Services" + "Instalar" + "O app %1$s não funciona sem o Google Play Services, o qual não está instalado no seu dispositivo." + "Instalar o Google Play Services" + "Disponibilidade do Google Play Services" + "Erro do Google Play Services" + "O app %1$s está com problemas com o Google Play Services. Tente novamente." + "O app %1$s não funciona sem o Google Play Services, o qual não é compatível com seu dispositivo." + "Atualizar" + "%1$s só funciona com uma versão atualizada do Google Play Services." + "Atualizar o Google Play Services" + "%1$s não funciona sem o Google Play Services, o qual está sendo atualizado no momento." + "É necessária uma nova versão do Google Play Services. Ele será atualizado em breve." + "Abrir no smartphone" + "Fazer login" + "Fazer login com o Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt-rPT/values-pt-rPT.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt-rPT/values-pt-rPT.xml new file mode 100644 index 00000000..d5f3adc4 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt-rPT/values-pt-rPT.xml @@ -0,0 +1,22 @@ + + + "Ativar" + "O %1$s não funciona enquanto não ativar os serviços do Google Play." + "Ativar serviços do Google Play" + "Instalar" + "O %1$s não é executado sem os Serviços do Google Play, os quais estão em falta no seu dispositivo." + "Obter serviços do Google Play" + "Disponibilidade Serviços do Google Play" + "Erro dos Serviços do Google Play" + "%1$s está a ter problemas com os Serviços do Google Play. Tente novamente." + "Não é possível executar o %1$s sem os Serviços do Google Play, os quais não são compatíveis com o seu dispositivo." + "Atualizar" + "O %1$s não é executado enquanto não atualizar os serviços do Google Play." + "Atualizar serviços do Google Play" + "O %1$s não é executado sem os serviços do Google Play, os quais estão a ser atualizados." + "É necessária uma nova versão dos serviços do Google Play. Esta será atualizada automaticamente em breve." + "Abrir no telemóvel" + "Iniciar sessão" + "Iniciar sessão com o Google" + "+999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt/values-pt.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt/values-pt.xml new file mode 100644 index 00000000..3ff4c72a --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-pt/values-pt.xml @@ -0,0 +1,14 @@ + + + Autenticação de impressão digital + Cancelar + Confirme a impressão digital para continuar + Sensor de toque + impressão digital não reconhecida. Tente novamente. + Ok + impressão digital reconhecida + Use o backup + Uma nova impressão digital foi adicionada a este dispositivo, é necessário o seu código + É necessário um ecrã de bloqueio seguro! + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ro/values-ro.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ro/values-ro.xml new file mode 100644 index 00000000..76d475c7 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ro/values-ro.xml @@ -0,0 +1,22 @@ + + + "Activați" + "%1$s nu va funcționa decât dacă activați serviciile Google Play." + "Activați serviciile Google Play" + "Instalați" + "%1$s nu va rula fără serviciile Google Play, care lipsesc de pe dispozitivul dvs." + "Descărcați serviciile Google Play" + "Disponibilitatea serviciilor Google Play" + "Eroare a serviciilor Google Play" + "%1$s întâmpină probleme privind serviciile Google Play. Încercați din nou." + "%1$s nu va rula fără serviciile Google Play, care nu sunt acceptate de dispozitivul dvs." + "Actualizați" + "%1$s nu va rula decât dacă actualizați serviciile Google Play." + "Actualizați serviciile Google Play" + "%1$s nu va rula fără serviciile Google Play, care momentan se actualizează." + "Este necesară o nouă versiune a serviciilor Google Play. Se vor actualiza automat în curând." + "Deschideți pe telefon" + "Conectați-vă" + "Conectați-vă cu Google" + "˃999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ru/values-ru.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ru/values-ru.xml new file mode 100644 index 00000000..da329458 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ru/values-ru.xml @@ -0,0 +1,22 @@ + + + "Включить" + "Для работы приложения \"%1$s\" требуется включить сервисы Google Play." + "Включите сервисы Google Play" + "Установить" + "Для работы приложения \"%1$s\" требуется установить сервисы Google Play." + "Установите сервисы Google Play" + "Доступность сервисов Google Play" + "Ошибка сервисов Google Play" + "Приложению \"%1$s\" не удается подключиться к сервисам Google Play. Повторите попытку." + "Для работы с приложением \"%1$s\" требуются сервисы Google Play. Они не поддерживаются на вашем устройстве." + "Обновить" + "Чтобы запустить приложение \"%1$s\", обновите сервисы Google Play." + "Обновите сервисы Google Play" + "Сервисы Google Play, необходимые для работы приложения \"%1$s\", в настоящий момент обновляются." + "Версия сервисов Google Play устарела. Они автоматически обновятся в ближайшее время." + "Открыть на телефоне" + "Войти" + "Войти через аккаунт Google" + ">999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-si/values-si.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-si/values-si.xml new file mode 100644 index 00000000..eefa4393 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-si/values-si.xml @@ -0,0 +1,22 @@ + + + "සබල කරන්න" + "ඔබ Google Play සේවා සබල කරන්නේ නම් මිස %1$s වැඩ නොකරනු ඇත." + "Google Play සේවා සබල කරන්න" + "ස්ථාපනය කරන්න" + "ඔබගේ ටැබ්ලට් පරිගණකයේ නැති Google Play සේවා නොමැතිව %1$s ධාවනය නොවනු ඇත." + "Google Play සේවා ලබා ගන්න" + "Google Play සේවාවල ලබා ගත හැකි බව" + "Google Play සේවා දෝෂය" + "%1$s හට Google Play සේවා සමගින් ගැටලු ඇත. කරුණාකර නැවත උත්සාහ කරන්න." + "ඔබගේ උපාංගය මගින් සහාය නොදක්වන, Google Play සේවා නොමැතිව %1$s ධාවනය නොවනු ඇත." + "යාවත්කාලීන කරන්න" + "Google Play සේවා යාවත්කාලීන කරන්නේ නොමැතිව %1$s ධාවනය නොවේ." + "Google Play සේවා යාවත්කාලීන කරන්න" + "දැනට යාවත්කාලීන කරමින් ඇති, Google Play සේවා නොමැතිව %1$s ධාවනය නොවනු ඇත." + "Google Play සේවාවල නව අනුවාදයක් අවශ්‍යයි. එය මද වේලාවකින් එය විසින්ම යාවත්කාලීන වනු ඇත." + "දුරකථනය තුළ විවෘත කරන්න" + "පුරන්න" + "Google සමගින් පුරන්න" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sk/values-sk.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sk/values-sk.xml new file mode 100644 index 00000000..73ac42e9 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sk/values-sk.xml @@ -0,0 +1,22 @@ + + + "Povoliť" + "Aplikácia %1$s bude fungovať až po povolení služieb Google Play." + "Povoliť služby Google Play" + "Inštalovať" + "Na spustenie aplikácie %1$s sa vyžadujú služby Google Play, ktoré na zariadení nemáte." + "Inštalovať služby Google Play" + "Dostupnosť služieb Google Play" + "Chyba služieb Google Play" + "Aplikácia %1$s má problémy so službami Google Play. Skúste to znova." + "Aplikáciu %1$s nebude možné spustiť bez služieb Google Play, ktoré vaše zariadenie nepodporuje." + "Aktualizovať" + "Aplikáciu %1$s bude možné spustiť až po aktualizácii služieb Google Play." + "Aktualizácia služieb Google Play" + "Na spustenie aplikácie %1$s sa vyžadujú služby Google Play, ktoré sa momentálne aktualizujú." + "Vyžaduje sa nová verzia služieb Google Play. Aktualizujú sa automaticky v najbližšom čase." + "Otvoriť v telefóne" + "Prihlásiť sa" + "Prihlásiť sa do účtu Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sl/values-sl.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sl/values-sl.xml new file mode 100644 index 00000000..e0682fb5 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sl/values-sl.xml @@ -0,0 +1,22 @@ + + + "Omogoči" + "Aplikacija %1$s ne bo delovala, če ne omogočite storitev Google Play." + "Omogočanje storitev Google Play" + "Namesti" + "Aplikacija %1$s ne deluje brez storitev Google Play, vendar teh ni v napravi." + "Namestitev storitev Google Play" + "Dostopnost storitev Google Play" + "Napaka storitev Google Play" + "Aplikacija %1$s ima težave s storitvami Google Play. Poskusite znova." + "Aplikacija %1$s ne deluje brez storitev Google Play, ki jih vaša naprava ne podpira." + "Posodobi" + "Aplikacija %1$s ne bo delovala, če ne posodobite storitev Google Play." + "Posodobitev storitev Google Play" + "Aplikacija %1$s ne deluje brez storitev Google Play, ki se trenutno posodabljajo." + "Potrebujete novo različico storitev Google Play. V kratkem se bodo posodobile." + "Odpiranje v telefonu" + "Prijava" + "Prijava z Google Računom" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sq/values-sq.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sq/values-sq.xml new file mode 100644 index 00000000..179a71ff --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sq/values-sq.xml @@ -0,0 +1,22 @@ + + + "Aktivizo" + "%1$s nuk do të funksionojë nëse nuk aktivizon shërbimet e \"Luaj me Google\"." + "Aktivizo shërbimet e \"Luaj me Google\"" + "Instalo" + "%1$s nuk do të funksionojë pa shërbimet e Google Play, të cilat mungojnë në pajisjen tënde." + "Merr shërbimet e \"Luaj me Google\"" + "Disponueshmëria e shërbimeve të Google Play" + "Gabim në shërbimet e \"Luaj me Google\"" + "%1$s ka probleme me shërbimet e Google Play. Provo sërish." + "%1$s nuk do të funksionojë pa shërbimet e Google Play, të cilat nuk mbështeten nga pajisja jote." + "Përditëso" + "%1$s nuk do të funksionojë nëse nuk përditëson shërbimet e \"Luaj me Google\"." + "Përditëso shërbimet e \"Luaj me Google\"" + "%1$s nuk do të funksionojë pa shërbimet e \"Luaj me Google\", të cilat po përditësohen aktualisht." + "Nevojitet një version i ri i shërbimeve të \"Luaj me Google\". Ai do të përditësohet automatikisht së shpejti." + "Hape në telefon" + "Identifikohu" + "Identifikohu me Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sr/values-sr.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sr/values-sr.xml new file mode 100644 index 00000000..64e5a804 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sr/values-sr.xml @@ -0,0 +1,22 @@ + + + "Омогући" + "%1$s неће функционисати ако не омогућите Google Play услуге." + "Омогућите Google Play услуге" + "Инсталирај" + "%1$s не може да се покрене без Google Play услуга, које нису инсталиране на уређају." + "Преузмите Google Play услуге" + "Доступност Google Play услуга" + "Грешка Google Play услуга" + "%1$s има проблема са Google Play услугама. Пробајте поново." + "%1$s не може да се покрене без Google Play услуга, које уређај не подржава." + "Ажурирај" + "%1$s не може да се покрене ако не ажурирате Google Play услуге." + "Ажурирајте Google Play услуге" + "%1$s не може да се покрене без Google Play услуга, које се тренутно ажурирају." + "Потребна је нова верзија Google Play услуга. Ускоро ће се ажурирати." + "Отвори на телефону" + "Пријави ме" + "Пријави ме на Google" + ">999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sv/values-sv.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sv/values-sv.xml new file mode 100644 index 00000000..6b4219aa --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sv/values-sv.xml @@ -0,0 +1,22 @@ + + + "Aktivera" + "%1$s fungerar inte om du inte aktiverar Google Play-tjänster." + "Aktivera Google Play-tjänster" + "Installera" + "%1$s kan inte köras utan Google Play-tjänsterna, som saknas på enheten." + "Hämta Google Play-tjänster" + "Tillgänglighet för Google Plays tjänster" + "Fel på Google Play-tjänster" + "Det har uppstått ett fel mellan %1$s och Google Play-tjänsterna. Försök igen." + "%1$s fungerar inte utan Google Play-tjänsterna, som inte stöds på enheten." + "Uppdatera" + "%1$s kan inte köras om du inte uppdaterar Google Play-tjänsterna." + "Uppdatera Google Play-tjänster" + "%1$s kan inte köras utan Google Play-tjänster, och dessa uppdateras för närvarande." + "En ny version av Google Play-tjänster krävs. Den uppdateras automatiskt inom kort." + "Öppna på mobilen" + "Logga in" + "Logga in med Google" + ">999" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sw/values-sw.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sw/values-sw.xml new file mode 100644 index 00000000..8bcb5367 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-sw/values-sw.xml @@ -0,0 +1,22 @@ + + + "Washa" + "%1$s haitafanya kazi isipokuwa uwashe huduma za Google Play." + "Washa huduma za Google Play" + "Sakinisha" + "%1$s haitafanya kazi bila huduma za Google Play. Huduma hizi hazipatikani kwenye kifaa chako." + "Pata huduma za Google Play" + "Upatikanaji wa huduma za Google Play" + "Hitilafu kwenye huduma za Google Play" + "%1$s inakumbwa na hitilafu ya huduma za Google Play. Tafadhali jaribu tena." + "%1$s haitafanya kazi bila huduma za Google Play. Huduma hizi hazitumiki kwenye kifaa chako." + "Sasisha" + "%1$s haitafanya kazi hadi usasishe huduma za Google Play." + "Sasisha huduma za Google Play" + "%1$s haitafanya kazi bila huduma za Google Play. Huduma hizi zinasasishwa sasa." + "Toleo jipya la huduma za Google Play linahitajika. Litajisasisha baada ya muda mfupi." + "Fungua kwenye simu" + "Ingia katika akaunti" + "Ingia katika akaunti ukitumia Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ta/values-ta.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ta/values-ta.xml new file mode 100644 index 00000000..83e6b539 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ta/values-ta.xml @@ -0,0 +1,22 @@ + + + "இயக்கு" + "Google Play சேவைகளை இயக்கினால் மட்டுமே, %1$s செயல்படும்." + "Google Play சேவைகளை இயக்கவும்" + "நிறுவு" + "Google Play சேவைகள் இருந்தால் மட்டுமே, %1$s இயங்கும். அவை உங்கள் சாதனத்தில் இல்லை." + "Google Play சேவைகளைப் பெறவும்" + "கிடைக்கும் Google Play சேவைகள்" + "Google Play சேவைகள் பிழை" + "Google Play சேவைகளில் சிக்கல் ஏற்பட்டதால், %1$s பயன்பாட்டை அணுக முடியவில்லை. மீண்டும் முயலவும்." + "Google Play சேவைகள் இருந்தால் மட்டுமே %1$s பயன்பாடு இயங்கும். ஆனால், உங்கள் சாதனத்தில் அவை ஆதரிக்கப்படவில்லை." + "புதுப்பி" + "Google Play சேவைகளை இயக்கினால் மட்டுமே, %1$s செயல்படும்." + "Google Play சேவைகளைப் புதுப்பிக்கவும்" + "தற்போது புதுப்பிக்கப்படும், Google Play சேவைகள் இருந்தால் மட்டுமே, %1$s செயல்படும்." + "Google Play சேவைகளின் புதிய பதிப்பு தேவை. அது விரைவில் தானாகவே புதுப்பிக்கப்படும்." + "மொபைலில் திற" + "உள்நுழைக" + "Google மூலம் உள்நுழைக" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-te/values-te.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-te/values-te.xml new file mode 100644 index 00000000..09aecee5 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-te/values-te.xml @@ -0,0 +1,22 @@ + + + "ప్రారంభించు" + "మీరు Google Play సేవలను ప్రారంభిస్తే మినహా %1$s పని చేయదు." + "Google Play సేవలను ప్రారంభించండి" + "ఇన్‌స్టాల్ చేయి" + "%1$s Google Play సేవలు లేకుండా అమలు కాదు, ఆ సేవలు మీ పరికరంలో లేవు." + "Google Play సేవలను పొందండి" + "Google Play సేవల లభ్యత" + "Google Play సేవల ఎర్రర్" + "%1$s Google Play సేవలతో సమస్య కలిగి ఉంది. దయచేసి మళ్లీ ప్రయత్నించండి." + "%1$s Google Play సేవలు లేకుండా అమలు కాదు, ఈ సేవలకు మీ పరికరంలో మద్దతు లేదు." + "అప్‌డేట్ చేయి" + "మీరు Google Play సేవలను నవీకరిస్తే మినహా %1$s అమలు కాదు." + "Google Play సేవలను నవీకరించండి" + "%1$s Google Play సేవలు లేకుండా అమలు కాదు, ఆ సేవలు ప్రస్తుతం నవీకరించబడుతున్నాయి." + "కొత్త Google Play సేవల వెర్షన్ అవసరం. అది కొద్ది సేపట్లో దానంతట అదే అప్‌డేట్ చేయబడుతుంది." + "ఫోన్‌లో తెరువు" + "సైన్ ఇన్ చేయి" + "Googleతో సైన్ ఇన్ చేయి" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-th/values-th.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-th/values-th.xml new file mode 100644 index 00000000..a43aeb8a --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-th/values-th.xml @@ -0,0 +1,22 @@ + + + "เปิดใช้" + "%1$s จะไม่ทำงานจนกว่าคุณจะเปิดใช้บริการ Google Play" + "เปิดใช้บริการ Google Play" + "ติดตั้ง" + "%1$s จะไม่ทำงานหากไม่มีบริการ Google Play ซี่งไม่มีในอุปกรณ์ของคุณ" + "ติดตั้งบริการ Google Play" + "ความพร้อมใช้งานของบริการ Google Play" + "ข้อผิดพลาดของบริการ Google Play" + "%1$s มีปัญหาเกี่ยวกับบริการของ Google Play โปรดลองอีกครั้ง" + "%1$s จะไม่ทำงานหากไม่มีบริการ Google Play ซึ่งอุปกรณ์ของคุณไม่สนับสนุน" + "อัปเดต" + "%1$s จะไม่ทำงานจนกว่าคุณจะอัปเดตบริการ Google Play" + "อัปเดตบริการ Google Play" + "%1$s จะไม่ทำงานหากไม่มีบริการ Google Play ซึ่งกำลังอัปเดตอยู่ในขณะนี้" + "จำเป็นต้องใช้บริการ Google Play เวอร์ชันใหม่ ซึ่งจะอัปเดตอัตโนมัติในอีกไม่ช้า" + "เปิดบนโทรศัพท์" + "ลงชื่อเข้าใช้" + "ลงชื่อเข้าใช้ด้วย Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-tl/values-tl.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-tl/values-tl.xml new file mode 100644 index 00000000..0ad2af68 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-tl/values-tl.xml @@ -0,0 +1,22 @@ + + + "I-enable" + "Hindi gagana ang %1$s maliban kung ie-enable mo ang mga serbisyo ng Google Play." + "I-enable ang mga serbisyo ng Google Play" + "I-install" + "Hindi gagana ang %1$s nang wala ang mga serbisyo ng Google Play na wala sa iyong device." + "Kunin ang mga serbisyo ng Google Play" + "Availability ng serbisyo ng Google Play" + "Error sa Mga Serbisyo ng Google Play" + "Nagkakaproblema ang %1$s sa mga serbisyo ng Google Play. Pakisubukang muli." + "Hindi gagana ang %1$s nang wala ang mga serbisyo ng Google Play, na hindi nasusuportahan ng iyong device." + "I-update" + "Hindi gagana ang %1$s maliban kung i-a-update mo ang mga serbisyo ng Google Play." + "I-update ang mga serbisyo ng Google Play" + "Hindi gagana ang %1$s nang wala ang mga serbisyo ng Google Play na kasalukuyang ina-update." + "Kailangan ang bagong bersyon ng mga serbisyo ng Google Play. Mag-a-update itong mag-isa sa ilang sandali." + "Buksan sa telepono" + "Mag-sign in" + "Mag-sign in sa Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-tr/values-tr.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-tr/values-tr.xml new file mode 100644 index 00000000..c4e087d3 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-tr/values-tr.xml @@ -0,0 +1,22 @@ + + + "Etkinleştir" + "Google Play hizmetlerini etkinleştirmezseniz %1$s çalışmaz." + "Google Play hizmetlerini etkinleştirin" + "Yükle" + "%1$s, şu anda cihazınızda bulunmayan Google Play hizmetleri olmadan çalışmaz." + "Google Play hizmetlerini edinin" + "Google Play hizmetlerinin kullanılabilirliği" + "Google Play Hizmetleri hatası" + "%1$s, Google Play hizmetleriyle ilgili sorun yaşıyor. Lütfen tekrar deneyin." + "%1$s, Google Play hizmetleri olmadan çalışmaz ve bu hizmetler cihazınız tarafından desteklenmiyor." + "Güncelle" + "Google Play hizmetlerini güncellemezseniz %1$s çalışmayacak." + "Google Play hizmetlerini güncelleyin" + "%1$s, şu anda güncellenmekte olan Google Play hizmetleri olmadan çalışmaz." + "Google Play hizmetlerinin yeni sürümü gerekiyor. Kendisini kısa süre içinde güncelleyecektir." + "Telefonda aç" + "Oturum aç" + "Google\'da oturum aç" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-uk/values-uk.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-uk/values-uk.xml new file mode 100644 index 00000000..6325fb6b --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-uk/values-uk.xml @@ -0,0 +1,22 @@ + + + "Увімкнути" + "Додаток %1$s не працюватиме, якщо не ввімкнути сервіси Google Play." + "Увімкнути сервіси Google Play" + "Установити" + "Додаток %1$s не працюватиме без сервісів Google Play, яких немає на вашому пристрої." + "Установити сервіси Google Play" + "Доступність сервісів Google Play" + "Помилка сервісів Google Play" + "У додатку %1$s виникла проблема із сервісами Google Play. Повторіть спробу." + "Додаток %1$s не працюватиме без сервісів Google Play, які не підтримуються на вашому пристрої." + "Оновити" + "Додаток %1$s не працюватиме, якщо не оновити сервіси Google Play." + "Оновіть сервіси Google Play" + "Додаток %1$s не працюватиме без сервісів Google Play, які зараз оновлюються." + "Потрібна нова версія сервісів Google Play. Вони невдовзі оновляться." + "Відкрити на телефоні" + "Увійти" + "Увійти в облік. запис Google" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ur/values-ur.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ur/values-ur.xml new file mode 100644 index 00000000..41ce21a5 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-ur/values-ur.xml @@ -0,0 +1,22 @@ + + + "فعال کریں" + "‏جب تک آپ Google Play سروسز فعال نہیں کر لیتے، %1$s کام نہیں کرے گی۔" + "‏Google Play سروسز فعال کریں" + "انسٹال کریں" + "‏%1$s Google Play سروسز کے بغیر نہیں چلے گی، جو آپ کے آلہ سے غائب ہیں۔" + "‏Google Play سروسز حاصل کریں" + "‏Google Play سروسز کی دستیابی" + "‏Google Play سروسز کی خرابی" + "‏%1$s کو Google Play سروسز کے ساتھ مسئلہ پیش آ رہا ہے۔ براہ کرم دوبارہ کوشش کریں۔" + "‏%1$s Google Play سروسز کے بغیر نہیں چلے گی، جن کی آپ کا آلہ معاونت نہیں کرتا۔" + "اپ ڈیٹ کریں" + "‏جب تک آپ Google Play سروسز اپ ڈیٹ نہیں کر لیتے ہیں %1$s تب تک نہیں چلے گی۔" + "‏Google Play سروسز اپ ڈیٹ کریں" + "‏%1$s Google Play سروسز کے بغیر نہیں چلے گی، جو فی الحال اپ ڈیٹ ہو رہی ہیں۔" + "‏Google Play سروسز کے نئے ورژن کی ضرورت ہے۔ یہ تھوڑی دیر میں خود ہی اپنے آپ کو اپ ڈیٹ کر لے گا۔" + "فون پر کھولیں" + "سائن ان کریں" + "‏Google کے ساتھ سائن ان کریں" + "‎999+‎" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-uz/values-uz.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-uz/values-uz.xml new file mode 100644 index 00000000..31ed5b80 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-uz/values-uz.xml @@ -0,0 +1,22 @@ + + + "Yoqish" + "Google Play xizmatlari yoqilmaguncha, %1$s ishlamaydi." + "Google Play xizmatlarini yoqish" + "O‘rnatish" + "%1$s ishlashi uchun qurilmangizda Google Play xizmatlarini o‘rnatish lozim." + "Google Play xizmatlarini o‘rnatish" + "Google Play xizmatlarining mavjudligi" + "Google Play xizmatlari xatosi" + "%1$s ilovasini Google Play xizmatlariga ulab bo‘lmadi. Qaytadan urinib ko‘ring." + "%1$s ilovasi Google Play xizmatlarisiz ishlamaydi, biroq qurilmangiz ularni qo‘llab-quvvatlamaydi." + "Yangilash" + "Google Play xizmatlari yangilanmaguncha, %1$s ishga tushmaydi." + "Google Play xizmatlarini yangilash" + "%1$s ilovasining ishlashi uchun zarur Google Play xizmatlari hozirda yangilanmoqda." + "Google Play xizmatlarining yangi versiyasi zarur. U o‘zini qisqa vaqt ichida yangilaydi." + "Telefonda ochish" + "Kirish" + "Google orqali kirish" + "999+" + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v16/values-v16.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v16/values-v16.xml new file mode 100644 index 00000000..2e02d692 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v16/values-v16.xml @@ -0,0 +1,4 @@ + + + 4dp + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v21/values-v21.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v21/values-v21.xml new file mode 100644 index 00000000..ec5e5616 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v21/values-v21.xml @@ -0,0 +1,31 @@ + + + @color/secondary_text_default_material_light + 0dp + 0dp + 12dp + + + + + + + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v24/values-v24.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v24/values-v24.xml new file mode 100644 index 00000000..5a38dd74 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v24/values-v24.xml @@ -0,0 +1,7 @@ + + + + + "999+""999+""999+""৯৯৯+""999+"#ff424242#ffffffff#b3ffffff127"Google Play ಸೇವೆಗಳಲ್ಲಿ %1$s ಸಮಸ್ಯೆಯನ್ನು ಹೊಂದಿದೆ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.""%1$s қолданбасында Google Play қызметіне байланысты белгісіз қате шықты. Әрекетті қайталаңыз.""Aplikacija %1$s ima problema s Google Play uslugama. Pokušajte ponovo.""%1$s Google Play సేవలతో సమస్య కలిగి ఉంది. దయచేసి మళ్లీ ప్రయత్నించండి.""%1$s को Google Play सेवाओं के साथ समस्या आ रही है. कृपया फिर से कोशिश करें.""Lietotnē %1$s ir radusies problēma ar Google Play pakalpojumu darbību. Lūdzu, mēģiniet vēlreiz.""%1$s ला Google Play सेवांमध्ये समस्या येत आहे. कृपया पुन्हा प्रयत्न करा.""‏%1$s برای استفاده از خدمات Google Play با مشکل روبرو است. لطفاً دوباره امتحان کنید.""%1$s มีปัญหาเกี่ยวกับบริการของ Google Play โปรดลองอีกครั้ง""%1$s သည် Google Play ဝန်ဆောင်မှုများနှင့် ပြဿနာအနည်းငယ် ရှိနေပါသည်။ ထပ်လုပ်ကြည့်ပါ။""Naudojant programą „%1$s“ kilo problemų dėl „Google Play“ paslaugų. Bandykite dar kartą.""%1$s está a ter problemas com os Serviços do Google Play. Tente novamente.""%1$s inenkinga ngamasevisi e-Google Play. Sicela uzame futhi.""%1$s aplikazioak arazoak ditu Google Play zerbitzuekin. Saiatu berriro.""%1$s ກຳລັງມີບັນຫາກັບບໍລິການ Google Play. ກະລຸນາລອງໃໝ່ອີກຄັ້ງ.""%1$s ਨੂੰ Google Play ਸੇਵਾਵਾਂ ਨਾਲ ਸਮੱਸਿਆ ਆ ਰਹੀ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।""L\'application %1$s éprouve un problème avec les services Google Play. Veuillez réessayer.""%1$s колдонмосунун Google Play кызматтары менен иштөөдө көйгөй чыкты. Кайра аракет кылыңыз.""%1$s, Google Play hizmetleriyle ilgili sorun yaşıyor. Lütfen tekrar deneyin.""%1$s menghadapi masalah berhubung perkhidmatan Google Play. Sila cuba lagi.""%1$s întâmpină probleme privind serviciile Google Play. Încercați din nou.""%1$s đang gặp sự cố với các dịch vụ của Google Play. Hãy thử lại.""%1$s에서 Google Play 서비스를 사용하는 데 문제가 있습니다. 다시 시도하세요.""%1$s ondervindt problemen met Google Play-services. Probeer het opnieuw.""%1$s tiene problemas con los servicios de Google Play. Vuelve a intentarlo.""%1$s ma problem z dostępem do Usług Google Play. Spróbuj jeszcze raz.""‏%1$s کو Google Play سروسز کے ساتھ مسئلہ پیش آ رہا ہے۔ براہ کرم دوبارہ کوشش کریں۔""%1$s hat Probleme mit Google Play-Diensten. Bitte versuche es noch einmal.""‏لدى %1$s مشكلة في خدمات Google Play. يُرجى إعادة المحاولة.""%1$s sta riscontrando problemi con Google Play Services. Riprova.""L\'application %1$s rencontre des problèmes avec les services Google Play. Veuillez réessayer.""%1$s-г Google Play-н үйлчилгээгээр ашиглахад асуудал гарлаа. Дахин оролдоно уу.""%1$s té problemes amb Serveis de Google Play. Torna-ho a provar.""У додатку %1$s виникла проблема із сервісами Google Play. Повторіть спробу.""Rakendusel %1$s on probleeme Google Play teenustega. Proovige uuesti.""%1$s има проблеми с услугите за Google Play. Моля, опитайте отново.""Nagkakaproblema ang %1$s sa mga serbisyo ng Google Play. Pakisubukang muli.""「%1$s」無法存取 Google Play 服務,請再試一次。""%1$s无法访问 Google Play 服务,请重试。""%1$s កំពុងមានបញ្ហាជាមួយសេវាកម្មរបស់ Google Play ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។""%1$s በGoogle Play አገልግሎቶች ላይ ችግሮች እያጋጠሙት ነው። እባክዎ እንደገና ይሞክሩ።""Google Play സേവനങ്ങളുമായി ബന്ധപ്പെട്ട് %1$s ആപ്പിനെന്തോ പ്രശ്നമുണ്ട്. വീണ്ടും ശ്രമിക്കുക.""「%1$s」で Google Play 開発者サービスに問題が発生しています。もう一度お試しください。""O app %1$s está com problemas com o Google Play Services. Tente novamente.""%1$s ને Google Play સેવાઓમાં મુશ્કેલી આવી રહી છે. કૃપા કરીને ફરી પ્રયાસ કરો.""Aplikace %1$s má potíže se službami Google Play. Zkuste to prosím znovu.""%1$s ilovasini Google Play xizmatlariga ulab bo‘lmadi. Qaytadan urinib ko‘ring.""‏%1$s נתקלה בבעיה בשירותי Google Play. נסה שוב.""Приложению \"%1$s\" не удается подключиться к сервисам Google Play. Повторите попытку.""%1$s ondervind probleme met Google Play Dienste. Probeer asseblief weer.""%1$s is having trouble with Google Play services. Please try again.""%1$s հավելվածը Google Play ծառայությունների հետ կապված խնդիր ունի: Փորձեք նորից:""A(z) %1$s alkalmazás problémába ütközött a Google Play-szolgáltatások használata során. Próbálkozzon újra.""У праграмы %1$s узніклі праблемы са службамі Google Play. Паўтарыце спробу.""%1$s tətbiqi ilə Google Play xidmətləri arasında problem var. Daha sonra yenidən cəhd edin.""La aplicación %1$s tiene problemas con los Servicios de Google Play. Vuelve a intentarlo.""Aplikácia %1$s má problémy so službami Google Play. Skúste to znova."12451000%1$s is having trouble with Google Play services. Please try again."%1$s ima poteškoća s uslugama Google Playa. Pokušajte ponovo.""%1$s लाई Google Play services सँग सहकार्य गर्न समस्या भइरहेको छ। कृपया फेरि प्रयास गर्नुहोस्।""%1$s ten problemas cos servizos de Google Play. Téntao de novo.""%1$s ima problema sa Google Play uslugama. Probajte ponovo.""%1$s á í vandræðum með þjónustu Google Play. Reyndu aftur.""%1$s inakumbwa na hitilafu ya huduma za Google Play. Tafadhali jaribu tena.""Η εφαρμογή %1$s αντιμετωπίζει κάποιο πρόβλημα με τις υπηρεσίες Google Play. Προσπαθήστε ξανά.""%1$s ka probleme me shërbimet e Google Play. Provo sërish.""%1$s има проблеми со услугите на Google Play. Обидете се повторно.""%1$s има проблема са Google Play услугама. Пробајте поново.""%1$s හට Google Play සේවා සමගින් ගැටලු ඇත. කරුණාකර නැවත උත්සාහ කරන්න.""%1$s har problemer med Google Play-tjenester. Prøv på nytt.""Det har uppstått ett fel mellan %1$s och Google Play-tjänsterna. Försök igen.""「%1$s」存取 Google Play 服務時發生問題。請稍後再試一次。""%1$s-ს Google Play Services-თან პრობლემა შეექმნა. გთხოვთ, ცადოთ ხელახლა.""Sovelluksella %1$s on ongelmia Google Play Palveluiden kanssa. Yritä uudelleen.""%1$s har problemer med Google Play-tjenester. Prøv igen.""Google Play சேவைகளில் சிக்கல் ஏற்பட்டதால், %1$s பயன்பாட்டை அணுக முடியவில்லை. மீண்டும் முயலவும்.""%1$s mengalami masalah dengan layanan Google Play. Coba lagi.""Google Play পরিষেবাগুলির সাথে %1$s এর সমস্যা হচ্ছে৷ অনুগ্রহ করে আবার চেষ্টা করুন৷""Aplikacija %1$s ima težave s storitvami Google Play. Poskusite znova.""ಸಕ್ರಿಯಗೊಳಿಸು""Google Play ಸೇವೆಗಳನ್ನು ನೀವು ಸಕ್ರಿಯಗೊಳಿಸದ ಹೊರತು %1$s ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ.""Google Play ಸೇವೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ""ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ""ನಿಮ್ಮ ಸಾಧನದಿಂದ ಕಾಣೆಯಾಗಿರುವ %1$s, Google Play ಸೇವೆಗಳಿಲ್ಲದೆ ರನ್ ಆಗುವುದಿಲ್ಲ.""Google Play ಸೇವೆಗಳನ್ನು ಪಡೆಯಿರಿ""Google Play ಸೇವೆಗಳ ಲಭ್ಯತೆ""Google Play ಸೇವೆಗಳ ದೋಷ""ನಿಮ್ಮ ಸಾಧನದ ಮೂಲಕ ಬೆಂಬಲಿಸದಿರುವ Google Play ಸೇವೆಗಳಿಲ್ಲದೆ %1$s ರನ್‌ ಆಗುವುದಿಲ್ಲ.""ಅಪ್‌ಡೇಟ್‌ ಮಾಡು""ನೀವು Google Play ಸೇವೆಗಳನ್ನು ನವೀಕರಿಸದ ಹೊರತು %1$s ರನ್ ಆಗುವುದಿಲ್ಲ.""Google ಪ್ಲೇ ಸೇವೆಗಳನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಿ""Google Play ಸೇವೆಗಳಿಲ್ಲದೆ ಪ್ರಸ್ತುತ ಅಪ್‌ಡೇಟ್ ಆಗುತ್ತಿರುವ %1$s ರನ್ ಆಗುವುದಿಲ್ಲ.""Google Play ಸೇವೆಗಳ ಹೊಸ ಆವೃತ್ತಿ ಅಗತ್ಯವಿದೆ. ಸದ್ಯದಲ್ಲೇ ಅದು ತಾನಾಗಿಯೇ ಅಪ್‌ಡೇಟ್ ಆಗುತ್ತದೆ.""ಫೋನ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ""ಸೈನ್ ಇನ್""Google ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿ""Қосу""Google Play қызметтерін қоспасаңыз, %1$s жұмыс істемейді.""Google Play қызметтерін қосу""Орнату""Google Play қызметтері құрылғыда болмағандықтан, %1$s іске қосылмайды.""Google Play қызметтерін алу""Google Play қызметтерінің қолжетімділігі""Google Play қызметтерінің қатесі""%1$s қолданбасы құрылғыңызда қолдау көрсетілмейтін Google Play қызметінсіз жұмыс істемейді.""Жаңарту""Google Play қызметтерін жаңартпасаңыз, %1$s іске қосылмайды.""Google Play қызметтерін жаңарту""Қазіргі уақытта жаңартылып жатқан Google Play қызметтерінсіз %1$s іске қосылмайды.""Google Play қызметтерінің жаңа нұсқасы қажет. Ол қысқа уақыттан кейін өзі жаңарады.""Телефонда ашу""Кіру""Google арқылы кіру""Omogući""Aplikacija %1$s neće raditi ako ne omogućite Google Play usluge.""Omogućite Google Play usluge""Instaliraj""Aplikacija %1$s neće raditi bez Google Play usluga, kojih na vašem uređaju nema.""Nabavite Google Play usluge""Dostupnost Google Play usluga""Greška Google Play usluge""Aplikacija %1$s neće raditi bez Google Play usluga, koje vaš uređaj ne podržava.""Ažuriraj""Aplikacija %1$s neće raditi ako ne ažurirate Google Play usluge.""Ažuriranje Google Play usluga""Aplikacija %1$s neće raditi bez Google Play usluga, koje se trenutno ažuriraju.""Potrebna je nova verzija Google Play usluga. Ubrzo će se samo ažurirati.""Otvori na telefonu""Prijavi se""Prijavi se pomoću Googlea""ప్రారంభించు""మీరు Google Play సేవలను ప్రారంభిస్తే మినహా %1$s పని చేయదు.""Google Play సేవలను ప్రారంభించండి""ఇన్‌స్టాల్ చేయి""%1$s Google Play సేవలు లేకుండా అమలు కాదు, ఆ సేవలు మీ పరికరంలో లేవు.""Google Play సేవలను పొందండి""Google Play సేవల లభ్యత""Google Play సేవల ఎర్రర్""%1$s Google Play సేవలు లేకుండా అమలు కాదు, ఈ సేవలకు మీ పరికరంలో మద్దతు లేదు.""అప్‌డేట్ చేయి""మీరు Google Play సేవలను నవీకరిస్తే మినహా %1$s అమలు కాదు.""Google Play సేవలను నవీకరించండి""%1$s Google Play సేవలు లేకుండా అమలు కాదు, ఆ సేవలు ప్రస్తుతం నవీకరించబడుతున్నాయి.""కొత్త Google Play సేవల వెర్షన్ అవసరం. అది కొద్ది సేపట్లో దానంతట అదే అప్‌డేట్ చేయబడుతుంది.""ఫోన్‌లో తెరువు""సైన్ ఇన్ చేయి""Googleతో సైన్ ఇన్ చేయి""चालू करें""जब तक आप Google Play सेवाएं चालू नहीं करते, %1$s काम नहीं करेगा.""Google Play सेवाएं चालू करें""इंस्टॉल करें""%1$s उन Google Play सेवाओं के बिना नहीं चलेगा जो आपके डिवाइस में उपलब्ध नहीं हैं.""Google Play सेवाएं इंस्टॉल करें""Google Play सेवाएं उपलब्ध हैं""Google Play सेवाओं से जुड़ी गड़बड़ी""%1$s उन Google Play सेवाओं के बिना नहीं चलेगा, जो आपके डिवाइस पर काम नहीं करती हैं.""अपडेट करें""%1$s तब तक नहीं चलेगा जब तक आप Google Play सेवाओं को अपडेट नहीं करते.""Google Play सेवाओं को अपडेट करें""%1$s उन Google Play सेवाओं के बिना नहीं चलेगा जो अभी अपडेट हो रही हैं.""Google Play सेवाओं के नए वर्शन की ज़रूरत है. यह जल्द ही अपने आप अपडेट हो जाएगा.""फ़ोन पर खोलें""साइन इन करें""Google के ज़रिए साइन इन करें""Iespējot""Lai lietotne %1$s darbotos, ir jāiespējo Google Play pakalpojumi.""Google Play pakalpojumu iespējošana""Instalēt""Lai lietotne %1$s darbotos, ierīcē ir jāinstalē Google Play pakalpojumi.""Google Play pakalpojumu iegūšana""Google Play pakalpojumu pieejamība""Google Play pakalpojumu kļūda""Lai lietotne %1$s darbotos, ir nepieciešami Google Play pakalpojumi, taču jūsu ierīce tos neatbalsta.""Atjaunināt""Lai lietotne %1$s darbotos, jums ir jāatjaunina Google Play pakalpojumi.""Google Play pakalpojumu atjaunināšana""Lai lietotne %1$s darbotos, ir jāinstalē Google Play pakalpojumi. Pašlaik notiek to atjaunināšana.""Ir nepieciešama jauna Google Play pakalpojumu versija. Drīzumā tā tiks instalēta.""Atvērt tālrunī""Pierakstīties""Pierakstīties ar Google kontu""सक्षम करा""आपण Google Play सेवा सक्षम केल्याशिवाय %1$s हा अॅप कार्य करणार नाही.""Google Play सेवा सक्षम करा""स्‍थापित करा""Google Play सेवा आपल्या डिव्हाइसवर उपलब्ध नाही, त्याशिवाय %1$s चालणार नाही.""Google Play सेवा मिळवा""Google Play सेवा उपलब्धता""Google Play सेवा एरर""तुमचे डिव्हाइस सपोर्ट करत नसलेल्या, Google Play सेवांशिवाय %1$s चालणार नाही.""अपडेट करा""आपण Google Play सेवा अपडेट करेपर्यंत %1$s चालणार नाही.""Google Play सेवा अपडेट करा""सध्‍या अपडेट होत असलेल्‍या, Google Play सेवांशिवाय %1$s चालणार नाही.""Google Play सेवांच्या नवीन आवृत्तीची आवश्यकता आहे. हे स्वत:ला लवकरच अपडेट करेल.""फोनवर उघडा""साइन इन करा""Google सह साइन इन करा""فعال کردن""‏تا وقتی سرویس‌های Google Play را فعال نکنید، %1$s کار نمی‌کند.""‏‫فعال کردن سرویس‌های Google Play""نصب""‏%1$s بدون خدمات Google Play که در دستگاه شما وجود ندارد اجرا نمی‌شود.""‏دریافت سرویس‌های Google Play""‏قابلیت دسترسی خدمات Google Play""‏خطا در خدمات Google Play""‏%1$s بدون خدمات Google Play که در دستگاه شما پشتیبانی نمی‌شود، اجرا نخواهد شد.""به‌روزرسانی""‏تاز مانی که سرویس‌های Google Play را به‌روزرسانی نکنید، %1$s اجرا نمی‌شود.""‏‫به‌روزرسانی سرویس‌های Google Play""‏%1$s بدون سرویس‌های Google Play که درحال حاضر درحال به‌روزرسانی هستند، کار نمی‌کند.""‏نسخه جدید سرویس‌های Google Play نیاز است. به‌زودی به‌طور خودکار به‌روزرسانی می‌شود.""باز کردن در تلفن""ورود به سیستم""‏ورود به سیستم با Google‎""เปิดใช้""%1$s จะไม่ทำงานจนกว่าคุณจะเปิดใช้บริการ Google Play""เปิดใช้บริการ Google Play""ติดตั้ง""%1$s จะไม่ทำงานหากไม่มีบริการ Google Play ซี่งไม่มีในอุปกรณ์ของคุณ""ติดตั้งบริการ Google Play""ความพร้อมใช้งานของบริการ Google Play""ข้อผิดพลาดของบริการ Google Play""%1$s จะไม่ทำงานหากไม่มีบริการ Google Play ซึ่งอุปกรณ์ของคุณไม่สนับสนุน""อัปเดต""%1$s จะไม่ทำงานจนกว่าคุณจะอัปเดตบริการ Google Play""อัปเดตบริการ Google Play""%1$s จะไม่ทำงานหากไม่มีบริการ Google Play ซึ่งกำลังอัปเดตอยู่ในขณะนี้""จำเป็นต้องใช้บริการ Google Play เวอร์ชันใหม่ ซึ่งจะอัปเดตอัตโนมัติในอีกไม่ช้า""เปิดบนโทรศัพท์""ลงชื่อเข้าใช้""ลงชื่อเข้าใช้ด้วย Google""ဖွင့်ရန်""Google Play ဝန်ဆောင်မှုများကို မဖွင့်သ၍ %1$s သည်အလုပ်လုပ်မည်မဟုတ်ပါ။""Google Play ဝန်ဆောင်မှုများ ဖွင့်ရန်""ထည့်သွင်းပါ""သင့်တက်ဘလက်တွင် Google Play ဝန်ဆောင်မှုများမရှိသောကြောင့် %1$s ကိုဖွင့်၍မရပါ။""Google Play ဝန်ဆောင်မှုများရယူရန်""Google Play ဝန်ဆောင်မှုများ ရရှိနိုင်သည်""Google Play ဝန်ဆောင်မှုများ အမှား""Google Play ဝန်ဆောင်မှုများကို သင့်စက်ပစ္စည်းတွင် ပံ့ပိုးမထားသည့်အတွက် ၎င်းမရှိဘဲ %1$s ကို ဖွင့်၍မရပါ။""အပ်ဒိတ်""Google Play ဝန်ဆောင်မှုများအား အပ်ဒိတ်မလုပ်ပါက %1$s အလုပ်လုပ်မည် မဟုတ်ပါ။""Google Play ဝန်ဆောင်မှုများကို အပ်ဒိတ်လုပ်ရန်""Google Play ဝန်ဆောင်မှုများကို လက်ရှိအပ်ဒိတ်လုပ်နေသောကြောင့် %1$s ကိုဖွင့်၍ရမည်မဟုတ်ပါ။""Google Play ဝန်ဆောင်မှုဗားရှင်းအသစ်များ လိုအပ်နေသည်။ အချိန်အနည်းငယ်အကြာတွင် ၎င်းကိုယ်တိုင်အပ်ဒိတ်လုပ်ပါ လိမ့်မည်။""ဖုန်းပေါ်မှာ ဖွင့်ပါ""လက်မှတ်ထိုး ဝင်ရန်""Google ဖြင့် လက်မှတ်ထိုးဝင်ရေ""Įgalinti""„%1$s“ neveiks, jei neįgalinsite „Google Play“ paslaugų.""Įgalinkite „Google Play“ paslaugas""Įdiegti""Programa „%1$s“ nebus paleidžiama be „Google Play“ paslaugų, kurių nėra įrenginyje.""Gaukite „Google Play“ paslaugas""„Google Play“ paslaugų pasiekiamumas""„Google Play“ paslaugų klaida""Programa „%1$s“ nebus paleidžiama be „Google Play“ paslaugų, kurių jūsų įrenginys nepalaiko.""Atnaujinti""„%1$s“ nebus paleidžiama, jei neatnaujinsite „Google Play“ paslaugų.""Atnaujinkite „Google Play“ paslaugas""„%1$s“ nebus paleidžiama be „Google Play“ paslaugų, kurios šiuo metu atnaujinamos.""Reikia naujos versijos „Google Play“ paslaugų. Jos netrukus bus atnaujintos.""Atidaryti telefone""Prisijungti""Prisijungti naudojant „Google“""Ativar""O %1$s não funciona enquanto não ativar os serviços do Google Play.""Ativar serviços do Google Play""Instalar""O %1$s não é executado sem os Serviços do Google Play, os quais estão em falta no seu dispositivo.""Obter serviços do Google Play""Disponibilidade Serviços do Google Play""Erro dos Serviços do Google Play""Não é possível executar o %1$s sem os Serviços do Google Play, os quais não são compatíveis com o seu dispositivo.""Atualizar""O %1$s não é executado enquanto não atualizar os serviços do Google Play.""Atualizar serviços do Google Play""O %1$s não é executado sem os serviços do Google Play, os quais estão a ser atualizados.""É necessária uma nova versão dos serviços do Google Play. Esta será atualizada automaticamente em breve.""Abrir no telemóvel""Iniciar sessão""Iniciar sessão com o Google""Nika amandla""I-%1$s ngeke isebenze ngaphandle kokuthi unike amandla amasevisi we-Google Play.""Nika amandla amasevisi we-Google Play""Faka""I-%1$s ngeke ize iqalise ngaphandle kwamasevisi we-Google Play, angekho kusukela kudivayisi yakho.""Thola amasevisi we-Google Play""Ukungatholakali kwamasevisi e-Google Play""Iphutha lamasevisi we-Google Play""%1$s ngeke isebenze ngaphandle kwamasevisi e-Google Play, angasekelwa idivayisi yakho.""Isibuyekezo""I-%1$s ngeke ize iqalise ngaphandle kokuthi ubuyekeze i-Google Play.""Buyekeza amasevisi we-Google Play""I-%1$s ngeke ize iqalise ngaphandle kwamasevisi we-Google Play, okwamanje abuyekezwayo.""Kudingeka inguqulo entsha yamasevisi we-Google Play. Izozibuyekeza ngokwayo maduze.""Vula kufoni""Ngena ngemvume""Ngena ngemvume nge-Google""Gaitu""%1$s aplikazioak ez du funtzionatuko Google Play zerbitzuak gaitzen ez badituzu.""Gaitu Google Play zerbitzuak""Instalatu""%1$s ez da exekutatuko Google Play zerbitzurik gabe, baina ez dituzu gailuan.""Lortu Google Play zerbitzuak""Google Play zerbitzuen erabilgarritasuna""Google Play zerbitzuen errorea""%1$s aplikazioa ezin da erabili Google Play zerbitzurik gabe, eta zure gailua ez da zerbitzuokin bateragarria.""Eguneratu""%1$s ez da exekutatuko Google Play zerbitzuak eguneratzen ez badituzu.""Eguneratu Google Play zerbitzuak""%1$s ez da exekutatuko Google Play zerbitzurik gabe; une honetan eguneratzen ari dira zerbitzuok.""Google Play zerbitzuen bertsio berria behar da. Berehala eguneratuko da automatikoki.""Ireki telefonoan""Hasi saioa""Hasi saioa Google-n""ເປີດນຳໃຊ້""%1$s ຈະບໍ່ສາມາດໃຊ້ງານໄດ້ຈົນກວ່າທ່ານຈະເປີດໃຊ້ງານ​ການ​ບໍ​ລິ​ການ Google Play.""ເປີດໃຊ້ການ​ບໍ​ລິ​ການ Google Play""ຕິດຕັ້ງ""%1$s ຈະບໍ່ສາມາດເປີດໃຊ້ໄດ້ຫາກບໍ່ມີການບໍລິການ Google Play ເຊິ່ງແທັບເລັດຂອງທ່ານບໍ່ມີ.""ຕິດຕັ້ງບໍລິການ Google Play""ສະຖານະບໍລິການ Google Play""Google Play Services ​ເກີດ​ຄວາມ​ຜິດ​ພາດ""%1$s ຈະບໍ່ສາມາດໃຊ້ໄດ້ຫາກບໍ່ມີບໍລິການ Google Play ເຊິ່ງອຸປະກອນຂອງທ່ານບໍ່ຮອງຮັບ.""ອັບເດດ""%1$s ຈະບໍ່ສາມາດເຮັດວຽກໄດ້ຈົນກວ່າທ່ານຈະອັບເດດການ​ບໍ​ລິ​ການ Google Play""ອັບເດດການ​ບໍ​ລິ​ການ Google Play""%1$s ຈະບໍ່ສາມາດໃຊ້ງານໄດ້ໂດຍທີ່ບໍ່ມີການ​ບໍ​ລິ​ການ Google Play, ເຊິ່ງ​ກຳ​ລັງ​ອັບ​ເດດ​ຢູ່​ໃນ​ປະ​ຈຸ​ບັນ.""ຈຳ​ເປັນ​ຕ້ອງ​ມີ​ກາ​ນ​ບໍ​ລິ​ການ Google Play ເວີ​ຊັນ​ໃໝ່. ມັນ​ຈະ​ອັບ​ເດດ​ຕົວ​ເອງ​ໄວໆ​ນີ້.""​ເປີດ​ໃນ​ໂທ​ລະ​ສັບ""ລົງຊື່ເຂົ້າໃຊ້""ລົງຊື່ເຂົ້າໃຊ້ດ້ວຍ Google""ਚਾਲੂ ਕਰੋ""%1$s ਕੰਮ ਨਹੀਂ ਕਰੇਗਾ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ Google Play ਸੇਵਾਵਾਂ ਨੂੰ ਚਾਲੂ ਨਹੀਂ ਕਰਦੇ ਹੋ।""Google Play ਸੇਵਾਵਾਂ ਨੂੰ ਚਾਲੂ ਕਰੋ""ਸਥਾਪਤ ਕਰੋ""%1$s Google Play ਸੇਵਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਨਹੀਂ ਚੱਲੇਗੀ, ਜੋ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਤੋਂ ਗੁੰਮ ਹਨ।""Google Play ਸੇਵਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ""Google Play ਸੇਵਾਵਾਂ ਦੀ ਉਪਲਬਧਤਾ""Google Play ਸੇਵਾਵਾਂ ਅਸ਼ੁੱਧੀ""%1$s Google Play ਸੇਵਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਨਹੀਂ ਚੱਲ ਸਕੇਗੀ, ਜੋ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ।""ਅੱਪਡੇਟ ਕਰੋ""%1$s ਨਹੀਂ ਚੱਲੇਗਾ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ Google Play ਸੇਵਾਵਾਂ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕਰਦੇ ਹੋ।""Google Play ਸੇਵਾਵਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ""%1$s Google Play ਸੇਵਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਨਹੀਂ ਚੱਲੇਗਾ, ਜੋ ਵਰਤਮਾਨ ਵਿੱਚ ਅੱਪਡੇਟ ਹੋ ਰਹੀਆਂ ਹਨ।""Google Play ਸੇਵਾਵਾਂ ਦੇ ਨਵਾਂ ਸੰਸਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਛੇਤੀ ਹੀ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਅੱਪਡੇਟ ਕਰੇਗਾ।""ਫ਼ੋਨ \'ਤੇ ਖੋਲ੍ਹੋ""ਸਾਈਨ-ਇਨ ਕਰੋ""Google ਨਾਲ ਸਾਈਨ-ਇਨ ਕਰੋ""Activer""%1$s ne fonctionnera pas tant que vous n\'aurez pas activé les services Google Play.""Activer les services Google Play""Installer""%1$s ne fonctionnera pas sans les services Google Play, qui ne sont pas installés sur votre appareil.""Installer les services Google Play""Disponibilité des services Google Play""Erreur liée aux services Google Play""L\'application %1$s ne fonctionnera pas sans les services Google Play, qui ne sont pas pris en charge par votre appareil.""Mettre à jour""%1$s ne fonctionnera pas tant que vous n\'aurez pas mis à jour les services Google Play.""Mettre à jour les services Google Play""%1$s ne fonctionnera pas sans les services Google Play, qui sont actuellement mis à jour.""La nouvelle version des services Google Play est nécessaire. Elle sera bientôt installée automatiquement.""Ouvrir sur le téléphone""Connexion""Se connecter avec Google""Иштетүү""Google Play кызматтарын иштетмейиңизче %1$s иштебейт.""Google Play кызматтарын иштетүү""Орнотуу""Google Play кызматтарысыз %1$s иштебейт. Алар түзмөгүңүздө жок болуп жатат.""Google Play кызматтарын алуу""Google Play кызматтарынын иштеши""Google Play кызматтарынын катасы""%1$s колдонмосу сиздин түзмөгүңүздө колдоого алынбаган Google Play кызматтары болбосо иштебейт.""Жаңыртуу""Google Play кызматтары жаңыртылмайынча %1$s иштебейт.""Google Play кызматтарын жаңыртуу""Google Play кызматтарысыз %1$s иштебейт, алар учурда жаңыртылууда.""Google Play кызматтарынын жаңы версиясы талап кылынат. Бир аздан кийин ал өзү эле жаңыртылат.""Телефондо ачык""Кирүү""Google менен кирүү""Etkinleştir""Google Play hizmetlerini etkinleştirmezseniz %1$s çalışmaz.""Google Play hizmetlerini etkinleştirin""Yükle""%1$s, şu anda cihazınızda bulunmayan Google Play hizmetleri olmadan çalışmaz.""Google Play hizmetlerini edinin""Google Play hizmetlerinin kullanılabilirliği""Google Play Hizmetleri hatası""%1$s, Google Play hizmetleri olmadan çalışmaz ve bu hizmetler cihazınız tarafından desteklenmiyor.""Güncelle""Google Play hizmetlerini güncellemezseniz %1$s çalışmayacak.""Google Play hizmetlerini güncelleyin""%1$s, şu anda güncellenmekte olan Google Play hizmetleri olmadan çalışmaz.""Google Play hizmetlerinin yeni sürümü gerekiyor. Kendisini kısa süre içinde güncelleyecektir.""Telefonda aç""Oturum aç""Google\'da oturum aç""Dayakan""%1$s tidak akan berfungsi melainkan anda mendayakan perkhidmatan Google Play.""Dayakan perkhidmatan Google Play""Pasang""%1$s tidak akan berfungsi tanpa perkhidmatan Google Play dan perkhidmatan ini tiada pada peranti anda.""Dapatkan perkhidmatan Google Play""Ketersediaan perkhidmatan Google Play""Ralat perkhidmatan Google Play""%1$s tidak akan berfungsi tanpa perkhidmatan Google Play dan perkhidmatan ini tidak disokong oleh peranti anda.""Kemas kini""%1$s tidak akan berfungsi kecuali anda mengemas kini perkhidmatan Google Play.""Kemaskinikan perkhidmatan Google Play""%1$s tidak akan berfungsi tanpa perkhidmatan Google Play dan perkhidmatan ini sedang dikemaskinikan.""Versi baharu perkhidmatan Google Play diperlukan. Kemas kini automatik akan dijalankan sebentar lagi.""Buka pada telefon""Log masuk""Log masuk dengan Google""Activați""%1$s nu va funcționa decât dacă activați serviciile Google Play.""Activați serviciile Google Play""Instalați""%1$s nu va rula fără serviciile Google Play, care lipsesc de pe dispozitivul dvs.""Descărcați serviciile Google Play""Disponibilitatea serviciilor Google Play""Eroare a serviciilor Google Play""%1$s nu va rula fără serviciile Google Play, care nu sunt acceptate de dispozitivul dvs.""Actualizați""%1$s nu va rula decât dacă actualizați serviciile Google Play.""Actualizați serviciile Google Play""%1$s nu va rula fără serviciile Google Play, care momentan se actualizează.""Este necesară o nouă versiune a serviciilor Google Play. Se vor actualiza automat în curând.""Deschideți pe telefon""Conectați-vă""Conectați-vă cu Google""Bật""%1$s sẽ không hoạt động nếu bạn không bật dịch vụ của Google Play.""Bật dịch vụ của Google Play""Cài đặt""%1$s sẽ không chạy nếu không có dịch vụ của Google Play. Thiết bị của bạn bị thiếu dịch vụ này.""Cài đặt dịch vụ của Google Play""Phạm vi cung cấp các dịch vụ của Google Play""Lỗi dịch vụ của Google Play""%1$s sẽ không chạy nếu không có các dịch vụ của Google Play. Thiết bị của bạn không hỗ trợ các dịch vụ này.""Cập nhật""%1$s sẽ không chạy trừ khi bạn cập nhật Dịch vụ của Google Play.""Cập nhật dịch vụ của Google Play""%1$s sẽ không chạy nếu không có dịch vụ của Google Play. Dịch vụ này hiện đang cập nhật.""Cần phiên bản mới của dịch vụ Google Play. Dịch vụ sẽ sớm tự động cập nhật.""Mở trên điện thoại""Đăng nhập""Đăng nhập bằng Google""사용 설정""Google Play 서비스를 사용하도록 설정해야 %1$s이(가) 작동합니다.""Google Play 서비스 사용""설치""기기에 Google Play 서비스가 설치되어 있어야 %1$s이(가) 실행됩니다.""Google Play 서비스 설치""Google Play 서비스 사용 가능 여부""Google Play 서비스 오류""%1$s은(는) Google Play 서비스 없이는 실행되지 않으나, 기기에서 Google Play 서비스를 지원하지 않습니다.""업데이트""Google Play 서비스를 업데이트해야 %1$s이(가) 실행됩니다.""Google Play 서비스 업데이트""현재 업데이트 중인 Google Play 서비스가 있어야 %1$s이(가) 실행됩니다.""새 버전의 Google Play 서비스가 필요합니다. 곧 자동으로 업데이트됩니다.""스마트폰에서 열기""로그인""Google 계정으로 로그인""Inschakelen""%1$s werkt niet, tenzij je Google Play-services inschakelt.""Google Play-services inschakelen""Installeren""%1$s kan niet worden uitgevoerd zonder Google Play-services, die je nog niet op je apparaat hebt.""Google Play-services ophalen""Beschikbaarheid van Google Play-services""Fout met Google Play-services""%1$s kan niet worden uitgevoerd zonder Google Play-services, die niet worden ondersteund op je apparaat.""Updaten""%1$s kan niet worden uitgevoerd, tenzij je Google Play-services updatet.""Google Play-services updaten""%1$s kan niet worden uitgevoerd zonder Google Play-services, die momenteel worden geüpdatet.""Er is een nieuwe versie van Google Play-services vereist. De update wordt binnenkort automatisch uitgevoerd.""Openen op telefoon""Inloggen""Inloggen met Google""Habilitar""%1$s no funcionará a menos que habilites los servicios de Google Play.""Habilitar servicios de Google Play""Instalar""%1$s no se ejecutará si los Servicios de Google Play no están instalados en tu dispositivo.""Obtener servicios de Google Play""Disp. de los Servicios de Google‌‌‌ Play""Error de Google Play Services""%1$s no se ejecutará sin los servicios de Google Play, que no son compatibles con tu dispositivo.""Actualizar""%1$s no se ejecutará a menos que actualices los servicios de Google Play.""Actualizar servicios de Google Play""%1$s no se ejecutará sin los servicios de Google Play. La plataforma se está actualizando en este momento.""Se necesita una nueva versión de los servicios de Google Play. Se actualizarán automáticamente en breve.""Abrir en el teléfono""Acceder""Acceder con Google""Włącz""Aplikacja %1$s nie będzie działać, jeśli nie włączysz Usług Google Play.""Włącz Usługi Google Play""Zainstaluj""%1$s nie będzie działać, jeśli nie zainstalujesz na urządzeniu Usług Google Play.""Pobierz Usługi Google Play""Dostępność Usług Google Play""Błąd Usług Google Play""%1$s nie będzie działać bez Usług Google Play, które nie są obecnie obsługiwane przez urządzenie.""Aktualizuj""Aplikacja %1$s nie będzie działać, jeśli nie zaktualizujesz Usług Google Play.""Zaktualizuj Usługi Google Play""Aplikacja %1$s nie będzie działać bez Usług Google Play, które są obecnie aktualizowane.""Wymagana jest nowa wersja Usług Google Play. Wkrótce nastąpi automatyczna aktualizacja.""Otwórz na telefonie""Zaloguj się""Zaloguj się przez Google""فعال کریں""‏جب تک آپ Google Play سروسز فعال نہیں کر لیتے، %1$s کام نہیں کرے گی۔""‏Google Play سروسز فعال کریں""انسٹال کریں""‏%1$s Google Play سروسز کے بغیر نہیں چلے گی، جو آپ کے آلہ سے غائب ہیں۔""‏Google Play سروسز حاصل کریں""‏Google Play سروسز کی دستیابی""‏Google Play سروسز کی خرابی""‏%1$s Google Play سروسز کے بغیر نہیں چلے گی، جن کی آپ کا آلہ معاونت نہیں کرتا۔""اپ ڈیٹ کریں""‏جب تک آپ Google Play سروسز اپ ڈیٹ نہیں کر لیتے ہیں %1$s تب تک نہیں چلے گی۔""‏Google Play سروسز اپ ڈیٹ کریں""‏%1$s Google Play سروسز کے بغیر نہیں چلے گی، جو فی الحال اپ ڈیٹ ہو رہی ہیں۔""‏Google Play سروسز کے نئے ورژن کی ضرورت ہے۔ یہ تھوڑی دیر میں خود ہی اپنے آپ کو اپ ڈیٹ کر لے گا۔""فون پر کھولیں""سائن ان کریں""‏Google کے ساتھ سائن ان کریں""Aktivieren""%1$s funktioniert erst nach der Aktivierung der Google Play-Dienste.""Google Play-Dienste aktivieren""Installieren""Zur Nutzung von %1$s sind die Google Play-Dienste erforderlich, die auf deinem Gerät nicht installiert sind.""Google Play-Dienste installieren""Verfügbarkeit von Google Play-Diensten""Fehler bei Zugriff auf Google Play-Dienste""Zur Nutzung von %1$s sind Google Play-Dienste erforderlich, die auf deinem Gerät nicht unterstützt werden.""Aktualisieren""%1$s wird nur ausgeführt, wenn du die Google Play-Dienste aktualisierst.""Google Play-Dienste aktualisieren""Zur Nutzung von %1$s sind Google Play-Dienste erforderlich, die gerade aktualisiert werden.""Eine neue Version der Google Play-Dienste wird benötigt. Diese wird in Kürze automatisch aktualisiert.""Auf Smartphone öffnen""Anmelden""Über Google anmelden""تمكين""‏لن يعمل %1$s ما لم يتم تمكين خدمات Google Play.""‏تمكين خدمات Google Play""تثبيت""‏لن يتم تشغيل %1$s بدون خدمات Google Play، والتي لا تتوفر على جهازك.""‏الحصول على خدمات Google Play""‏مدى توفّر خدمات Google Play""‏خطأ في خدمات Google Play""‏لن يتم تشغيل %1$s بدون خدمات Google Play التي لا يوفرها جهازك.""تحديث""‏لن يتم تشغيل %1$s ما لم يتم تحديث خدمات Google Play.""‏تحديث خدمات Google Play""‏لن يتم تشغيل %1$s بدون خدمات Google Play، والتي يتم تحديثها حاليًا.""‏يجب توفر إصدار جديد من خدمات Google Play. سيتم تحديثها تلقائيًا قريبًا.""فتح على الهاتف""تسجل الدخول""‏تسجيل الدخول عبر Google""Attiva""%1$s non funzionerà se non attivi Google Play Services.""Attiva Google Play Services""Installa""L\'app %1$s non funzionerà senza Google Play Services, non presente sul tuo dispositivo.""Installa Google Play Services""Disponibilità di Google Play Services""Errore Google Play Services""%1$s non funzionerà senza Google Play Services, non supportati dal tuo dispositivo.""Aggiorna""%1$s non funzionerà se non aggiorni Google Play Services.""Aggiorna Google Play Services""%1$s non funzionerà senza Google Play Services, attualmente in fase di aggiornamento.""È richiesta una nuova versione di Google Play Services. L\'aggiornamento automatico verrà eseguito a breve.""Apri sul telefono""Accedi""Accedi con Google""Activer""%1$s ne fonctionnera pas tant que vous n\'aurez pas activé les services Google Play.""Activer les services Google Play""Installer""%1$s ne fonctionnera pas sans les services Google Play, qui ne sont pas installés sur votre appareil.""Installer les services Google Play""Disponibilité des services Google Play""Erreur liée aux services Google Play""%1$s ne fonctionnera pas sans les services Google Play, qui ne sont pas compatibles avec votre appareil.""Mettre à jour""%1$s ne fonctionnera pas tant que vous n\'aurez pas mis à jour les services Google Play.""Mettre à jour les services Google Play""%1$s ne fonctionnera pas sans les services Google Play, qui sont en cours de mise à jour.""La nouvelle version des services Google Play est nécessaire. Elle sera bientôt installée automatiquement.""Ouvrir sur le téléphone""Se connecter""Se connecter avec Google""Идэвхжүүлэх""%1$s нь Google Play үйлчилгээг идэвхжүүлэх хүртэл ажиллахгүй.""Google Play үйлчилгээг идэвхжүүлэх""Суулгах""Таны төхөөрөмжид Google Play үйлчилгээ байхгүй тул %1$s ажиллахгүй.""Google Play үйлчилгээг авах""Google Play-н үйлчилгээнүүдийн боломжит байдал""Google Наадаан үйлчилгээний алдаа""Таны төхөөрөмж Google Play үйлчилгээг дэмждэггүй учир %1$s ажиллахгүй.""Шинэчлэх""%1$s нь таныг Google Play үйлчилгээнүүдийг шинэчлэхээс нааш ажиллахгүй.""Google Play үйлчилгээг шинэчлэх""%1$s нь одоогоор шинэчилж буй Google Play үйлчилгээгүйгээр ажиллахгүй.""Google Play үйлчилгээний шинэ хувилбар хэрэгтэй. Энэ нь удахгүй өөрөө өөрийгөө шинэчлэх болно.""Утсаар нээх""Нэвтрэх""Google-р нэвтрэх:""Activa""%1$s no funcionarà si no actives Serveis de Google Play.""Activa Serveis de Google Play""Instal·la""%1$s no s\'executarà si Serveis de Google Play no està instal·lat al dispositiu.""Obtén Serveis de Google Play""Disponibilitat de serveis de Google Play""Error de Serveis de Google Play""%1$s no es pot executar sense Serveis de Google Play, que no és compatible amb el teu dispositiu.""Actualitza""%1$s no s\'executarà si no actualitzes Serveis de Google Play.""Actualitza Serveis de Google Play""%1$s no s\'executarà sense Serveis de Google Play, que s\'està actualitzant en aquest moment.""Cal una nova versió de Serveis de Google Play. S\'actualitzarà automàticament aviat.""Obre al telèfon""Inicia sessió""Inicia la sessió amb Google""Увімкнути""Додаток %1$s не працюватиме, якщо не ввімкнути сервіси Google Play.""Увімкнути сервіси Google Play""Установити""Додаток %1$s не працюватиме без сервісів Google Play, яких немає на вашому пристрої.""Установити сервіси Google Play""Доступність сервісів Google Play""Помилка сервісів Google Play""Додаток %1$s не працюватиме без сервісів Google Play, які не підтримуються на вашому пристрої.""Оновити""Додаток %1$s не працюватиме, якщо не оновити сервіси Google Play.""Оновіть сервіси Google Play""Додаток %1$s не працюватиме без сервісів Google Play, які зараз оновлюються.""Потрібна нова версія сервісів Google Play. Вони невдовзі оновляться.""Відкрити на телефоні""Увійти""Увійти в облік. запис Google""Luba""Rakendus %1$s töötab ainult siis, kui lubate Google Play teenused.""Google Play teenuste lubamine""Installi""Rakendus %1$s töötab ainult koos Google Play teenustega, mida teie seadmes pole.""Google Play teenuste hankimine""Google Play teenuste saadavalolek""Viga Google Play teenustes""Rakendus %1$s töötab ainult koos Google Play teenustega, mida teie seadmes ei toetata.""Värskenda""Rakenduse %1$s töötamiseks peate värskendama Google Play teenuseid.""Google Play teenuste värskendamine""Rakendus %1$s töötab ainult koos Google Play teenustega, mida praegu värskendatakse.""Vajalik on Google Play teenuste uus versioon. See värskendab end peagi.""Ava telefonis""Logi sisse""Logi sisse Google\'i kontoga""Активиране""%1$s няма да работи, освен ако не активирате услугите за Google Play.""Активиране на услугите за Google Play""Инсталиране""%1$s няма да се изпълнява, тъй като услугите за Google Play не са инсталирани на устройството ви.""Изтегляне на услугите за Google Play""Наличност на услугите за Google Play""Грешка в услугите за Google Play""%1$s няма да се изпълнява, тъй като услугите за Google Play не се поддържат от устройството ви.""Актуализиране""%1$s няма да се изпълнява, освен ако не актуализирате услугите за Google Play.""Актуализиране на услугите за Google Play""%1$s няма да се изпълнява без услугите за Google Play. Понастоящем те се актуализират.""Необходима е нова версия на услугите за Google Play. Скоро тя ще се актуализира автоматично.""Отваряне на телефона""Вход""Вход с Google""I-enable""Hindi gagana ang %1$s maliban kung ie-enable mo ang mga serbisyo ng Google Play.""I-enable ang mga serbisyo ng Google Play""I-install""Hindi gagana ang %1$s nang wala ang mga serbisyo ng Google Play na wala sa iyong device.""Kunin ang mga serbisyo ng Google Play""Availability ng serbisyo ng Google Play""Error sa Mga Serbisyo ng Google Play""Hindi gagana ang %1$s nang wala ang mga serbisyo ng Google Play, na hindi nasusuportahan ng iyong device.""I-update""Hindi gagana ang %1$s maliban kung i-a-update mo ang mga serbisyo ng Google Play.""I-update ang mga serbisyo ng Google Play""Hindi gagana ang %1$s nang wala ang mga serbisyo ng Google Play na kasalukuyang ina-update.""Kailangan ang bagong bersyon ng mga serbisyo ng Google Play. Mag-a-update itong mag-isa sa ilang sandali.""Buksan sa telepono""Mag-sign in""Mag-sign in sa Google""啟用""你必須啟用 Google Play 服務,才能執行「%1$s」。""啟用 Google Play 服務""安裝""你的裝置並未安裝 Google Play 服務,因此無法執行「%1$s」。""取得 Google Play 服務""Google Play 服務可用性""Google Play 服務發生錯誤""你的裝置不支援 Google Play 服務,因此無法執行「%1$s」。""更新""你必須更新 Google Play 服務,才能執行「%1$s」。""更新 Google Play 服務""執行「%1$s」所需的 Google Play 服務正在更新。""必須使用新版 Google Play 服務。該服務稍後就會自動更新。""在手機上開啟""登入""使用 Google 帳戶登入""启用""您必须先启用 Google Play 服务,然后才能运行%1$s。""启用 Google Play 服务""安装""您的设备没有安装 Google Play 服务,因此无法运行%1$s。""获取 Google Play 服务""Google Play 服务的适用范围""Google Play服务出错""您的设备不支持 Google Play 服务,因此无法运行%1$s。""更新""您必须先更新 Google Play 服务,然后才能运行%1$s。""更新 Google Play 服务""Google Play 服务当前正在更新,因此您无法运行%1$s。""必须使用新版 Google Play 服务。该服务很快就会自行更新。""在手机上打开""登录""使用 Google 帐号登录""បើក""%1$s នឹងមិនដំណើរការទេ លុះត្រាតែអ្នកបើកសេវាកម្ម Google Play។""បើកសេវាកម្ម Google Play""ដំឡើង""%1$s នឹងមិនដំណើរការទេ ប្រសិនបើមិនមានសេវាកម្មនានារបស់ Google Play ដែលបានបាត់ពីឧបករណ៍របស់អ្នក។""ទាញយកសេវាកម្ម Google Play""លទ្ធភាព​ប្រើប្រាស់សេវាកម្ម Google Play""កំហុស​​សេវាកម្ម​ Google កម្សាន្ត""%1$s នឹងមិនដំណើរការដោយគ្មានសេវាកម្មរបស់ Google Play ដែលឧបករណ៍របស់អ្នកមិនគាំទ្រនោះទេ។""អាប់ដេត""%1$s នឹងមិនដំណើរការទេ លុះត្រាតែអ្នកធ្វើបច្ចុប្បន្នភាពសេវាកម្ម Google Play។""អាប់ដេតសេវាកម្ម Google Play""%1$s នឹងមិនដំណើរការទេ បើមិនមានសេវាកម្ម Google Play ដោយសារតែវាកំពុងអាប់ដេត។""តម្រូវឲ្យមានកំណែថ្មីនៃសេវាកម្ម Google Play។ វានឹងអាប់ដេតដោយខ្លួនវានៅពេលបន្តិចទៀតនេះ។""បើកតាមទូរស័ព្ទ""ចូល""ចូលដោយប្រើ Google""አንቃ""Google Play አገልግሎቶችን ካላነቁ በስተቀር %1$s አይሰራም።""Google Play አገልግሎቶችን ያንቁ""ጫን""%1$s ያለ Google Play አገልግሎቶች አይሰራም፣ እነሱ ደግሞ በመሣሪያዎ ላይ የሉም።""Google Play አገልግሎቶችን ያግኙ""Google Play አገልግሎቶች ተገኝነት""የGoogle Play አገልግሎቶች ስህተት""%1$s ያለGoogle Play አገልግሎቶች አይሄድም፣ እነዚህም በመሣሪያዎ አይደገፉም።""ያዘምኑ""Google Play አገልግሎቶችን ካላዘመኑ በስተቀር ድረስ %1$s አይሰራም።""Google Play አገልግሎቶችን ያዘምኑ""%1$s ያለ Google Play አገልግሎቶች አይሰራም፣ እነሱ ደግሞ በአሁኑ ጊዜ በመዘመን ላይ ናቸው።""አዲስ የGoogle Play አገልግሎቶች ስሪት ያስፈልጋል። በቅርቡ እራሱን ያዘምናል።""ስልክ ላይ ክፈት""ግባ""በGoogle ይግቡ""പ്രവർത്തനക്ഷമമാക്കുക""നിങ്ങൾ Google Play സേവനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുന്നില്ലെങ്കിൽ %1$s പ്രവർത്തിക്കില്ല.""Google Play സേവനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുക""ഇന്‍സ്റ്റാള്‍ ചെയ്യുക""Google Play സേവനങ്ങളില്ലാതെ %1$s പ്രവർത്തിക്കില്ല, ഈ സേവനങ്ങളാകട്ടെ നിങ്ങളുടെ ഉപകരണത്തിൽ ഇല്ല.""Google Play സേവനങ്ങൾ നേടുക""Google Play സേവന ലഭ്യത""Google Play സേവനങ്ങളിലെ പിശക്""Google Play സേവനങ്ങളില്ലാതെ %1$s പ്രവർത്തിക്കില്ല, സേവനങ്ങളെയാകട്ടെ നിങ്ങളുടെ ഉപകരണം പിന്തുണയ്ക്കുന്നുമില്ല.""അപ്‌ഡേറ്റുചെയ്യുക""നിങ്ങൾ Google Play സേവനങ്ങൾ അപ്‌ഡേറ്റുചെയ്‌തില്ലെങ്കിൽ %1$s പ്രവർത്തിക്കില്ല.""Google Play സേവനങ്ങൾ അപ്‌ഡേറ്റുചെയ്യുക""നിലവിൽ അപ്‌ഡേറ്റുചെയ്യുന്ന Google Play സേവനങ്ങൾ ഇല്ലാതെ %1$s പ്രവർത്തിക്കില്ല.""Google Play സേവനങ്ങളുടെ പുതിയ പതിപ്പ് ആവശ്യമാണ്. താമസിയാതെ ഇത് സ്വയം അപ്‌ഡേറ്റുചെയ്യും.""ഫോണിൽ തുറക്കുക""സൈൻ ഇൻ ചെയ്യുക""Google ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക""有効にする""%1$sの実行には、Google Play開発者サービスの有効化が必要です。""Google Play開発者サービスの有効化""インストール""「%1$s」の実行には Google Play 開発者サービスが必要ですが、お使いの端末にはインストールされていません。""Google Play開発者サービスの入手""Google Play 開発者サービスの利用""Google Play開発者サービスのエラー""「%1$s」の実行には Google Play 開発者サービスが必要ですが、お使いの端末ではサポートされていません。""更新""%1$sの実行にはGoogle Play開発者サービスの更新が必要です。""Google Play開発者サービスの更新""%1$sの実行にはGoogle Play開発者サービスが必要ですが、このサービスは現在更新中です。""Google Play開発者サービスの新しいバージョンが必要です。まもなく自動更新されます。""スマートフォンで開く""ログイン""Googleにログイン""Ativar""%1$s só funciona com o Google Play Services ativado.""Ativar o Google Play Services""Instalar""O app %1$s não funciona sem o Google Play Services, o qual não está instalado no seu dispositivo.""Instalar o Google Play Services""Disponibilidade do Google Play Services""Erro do Google Play Services""O app %1$s não funciona sem o Google Play Services, o qual não é compatível com seu dispositivo.""Atualizar""%1$s só funciona com uma versão atualizada do Google Play Services.""Atualizar o Google Play Services""%1$s não funciona sem o Google Play Services, o qual está sendo atualizado no momento.""É necessária uma nova versão do Google Play Services. Ele será atualizado em breve.""Abrir no smartphone""Fazer login""Fazer login com o Google""સક્ષમ કરો""તમે Google Play સેવાઓ સક્ષમ કરશો નહીં ત્યાં સુધી %1$s કાર્ય કરશે નહીં.""Google Play સેવાઓ સક્ષમ કરો""ઇન્સ્ટૉલ કરો""%1$s, Google Play સેવાઓ વગર ચાલશે નહીં, જે તમારા ઉપકરણમાંથી ખૂટે છે.""Google Play સેવાઓ મેળવો""Google Play સેવાઓની ઉપલબ્ધતા""Google Play સેવાઓની ભૂલ""%1$s, Google Play સેવાઓ વગર ચાલશે નહીં, જે તમારા ઉપકરણ દ્વારા સમર્થિત નથી.""અપડેટ કરો""તમે Google Play સેવાઓ અપડેટ કરશો નહીં ત્યાં સુધી %1$s શરૂ થશે નહીં.""Google Play સેવાઓ અપડેટ કરો""%1$s, Google Play સેવાઓ વગર શરૂ થશે નહીં, જે વર્તમાનમાં અપડેટ થઈ રહી છે.""Google Play સેવાઓના નવા સંસ્કરણની જરૂર છે. તે ટૂંક સમયમાં પોતાને અપડેટ કરશે.""ફોનમાં ખોલો""સાઇન ઇન કરો""Google માં સાઇન ઇન કરો""Povolit""Ke spuštění aplikace %1$s je třeba aktivovat služby Google Play.""Aktivace služeb Google Play""Instalovat""Ke spuštění aplikace %1$s jsou potřeba služby Google Play, které v zařízení nemáte.""Instalace služeb Google Play""Dostupnost služeb Google Play""Chyba služeb Google Play""Ke spuštění aplikace %1$s jsou potřeba služby Google Play, které v tomto zařízení nejsou podporovány.""Aktualizovat""Ke spuštění aplikace %1$s je třeba aktualizovat služby Google Play.""Aktualizace služeb Google Play""Ke spuštění aplikace %1$s jsou potřeba služby Google Play, které jsou právě aktualizovány.""Je vyžadována nová verze služeb Google Play. Nová verze se brzy sama nainstaluje.""Otevřít v telefonu""Přihlásit se""Přihlásit se k účtu Google""Yoqish""Google Play xizmatlari yoqilmaguncha, %1$s ishlamaydi.""Google Play xizmatlarini yoqish""O‘rnatish""%1$s ishlashi uchun qurilmangizda Google Play xizmatlarini o‘rnatish lozim.""Google Play xizmatlarini o‘rnatish""Google Play xizmatlarining mavjudligi""Google Play xizmatlari xatosi""%1$s ilovasi Google Play xizmatlarisiz ishlamaydi, biroq qurilmangiz ularni qo‘llab-quvvatlamaydi.""Yangilash""Google Play xizmatlari yangilanmaguncha, %1$s ishga tushmaydi.""Google Play xizmatlarini yangilash""%1$s ilovasining ishlashi uchun zarur Google Play xizmatlari hozirda yangilanmoqda.""Google Play xizmatlarining yangi versiyasi zarur. U o‘zini qisqa vaqt ichida yangilaydi.""Telefonda ochish""Kirish""Google orqali kirish""הפעל""‏האפליקציה %1$s לא תפעל אם לא תפעיל את שירותי Google Play.""‏הפעל את שירותי Google Play""התקן""‏האפליקציה %1$s לא תפעל ללא שירותי Google Play, שאינם מותקנים במכשיר.""‏קבל את שירותי Google Play""‏זמינות של שירותי Google Play""‏שגיאה בשירותי Google Play""‏%1$s לא תפעל ללא שירותי Google Play, שאינם נתמכים במכשיר שלך.""עדכן""‏%1$s לא יפעל אם לא תעדכן את שירותי Google Play.""‏עדכון שירותי Google Play""‏האפליקציה %1$s לא תפעל ללא שירותי Google Play, שמתעדכנים כרגע.""‏דרושה גרסה חדשה של שירותי Google Play. הגרסה תתעדכן בעצמה תוך זמן קצר.""פתח בטלפון""כניסה""‏היכנס באמצעות Google""Включить""Для работы приложения \"%1$s\" требуется включить сервисы Google Play.""Включите сервисы Google Play""Установить""Для работы приложения \"%1$s\" требуется установить сервисы Google Play.""Установите сервисы Google Play""Доступность сервисов Google Play""Ошибка сервисов Google Play""Для работы с приложением \"%1$s\" требуются сервисы Google Play. Они не поддерживаются на вашем устройстве.""Обновить""Чтобы запустить приложение \"%1$s\", обновите сервисы Google Play.""Обновите сервисы Google Play""Сервисы Google Play, необходимые для работы приложения \"%1$s\", в настоящий момент обновляются.""Версия сервисов Google Play устарела. Они автоматически обновятся в ближайшее время.""Открыть на телефоне""Войти""Войти через аккаунт Google""Aktiveer""%1$s sal nie werk nie tensy jy Google Play-dienste aktiveer.""Aktiveer Google Play-dienste""Installeer""%1$s sal nie sonder Google Play Dienste werk nie, wat nie op jou toestel is nie.""Kry Google Play-dienste""Beskikbaarheid van Google Play-dienste""Google Play Services-fout""%1$s sal nie werk sonder Google Play Dienste nie, wat nie deur jou toestel gesteun word nie.""Dateer op""%1$s sal nie werk nie tensy jy Google Play Dienste opdateer.""Dateer Google Play-dienste op""%1$s sal nie sonder Google Play-dienste werk nie, wat tans opdateer.""Nuwe weergawe van Google Play-dienste is nodig. Dit sal binnekort self opdateer.""Maak oop op foon""Meld aan""Meld aan met Google""Enable""%1$s won\'t work unless you enable Google Play services.""Enable Google Play services""Install""%1$s won\'t run without Google Play services, which are missing from your device.""Get Google Play services""Google Play services availability""Google Play services error""%1$s won\'t run without Google Play services, which are not supported by your device.""Update""%1$s won\'t run unless you update Google Play services.""Update Google Play services""%1$s won\'t run without Google Play services, which are currently updating.""New version of Google Play services needed. It will update itself shortly.""Open on phone""Sign In""Sign in with Google""Միացնել""%1$s հավելվածը չի աշխատի մինչև չմիացնեք Google Play ծառայությունները:""Միացնել Google Play ծառայությունները""Տեղադրել""%1$s հավելվածը չի աշխատի առանց Google Play ծառայությունների, որոնք չկան ձեր սարքում:""Տեղադրել Google Play ծառայությունները""Google Play ծառայությունների հասանելիություն""Google Play ծառայությունների սխալ կա""%1$s հավելվածը չի աշխատի առանց Google Play ծառայությունների, որոնք ձեր սարքում չեն աջակցվում:""Թարմացնել""%1$s հավելվածը չի աշխատի մինչև չթարմացնեք Google Play ծառայությունները:""Թարմացնել Google Play ծառայությունները""%1$s հավելվածը չի աշխատի առանց Google Play ծառայությունների, որոնք այս պահին թարմացվում են:""Անհրաժեշտ է Google Play ծառայությունների նոր տարբերակը: Այն շուտով կթարմացվի ավտոմատ կերպով:""Բացել հեռախոսով""Մուտք գործել""Մուտք գործել Google-ով""Engedélyezés""A(z) %1$s alkalmazás csak akkor működik, ha engedélyezi a Google Play-szolgáltatásokat.""Google Play-szolgáltatások engedélyezése""Telepítés""A(z) %1$s alkalmazás nem fut a Google Play-szolgáltatások nélkül, amelyek hiányoznak az eszközről.""A Google Play-szolgáltatások beszerzése""Google Play-szolgáltatások elérhetősége""Google Play-szolgáltatások – hiba""A(z) %1$s alkalmazás nem fut a Google Play-szolgáltatások nélkül, amelyeket eszköze nem támogat.""Frissítés""A(z) %1$s alkalmazás csak akkor fog működni, ha frissíti a Google Play-szolgáltatásokat.""A Google Play-szolgáltatások frissítése""A(z) %1$s alkalmazás nem fut a Google Play-szolgáltatások nélkül, amelyek frissítése folyamatban van.""A Google Play-szolgáltatások új verziójára van szükség. A szolgáltatás hamarosan frissíti önmagát.""Megnyitás a telefonon""Bejelentkezés""Bejelentkezés Google-fiókkal""Уключыць""%1$s не будзе працаваць, пакуль вы не ўключыце службы Google Play.""Уключыць службы Google Play""Усталяваць""%1$s не будзе працаваць без службаў Google Play, якія адсутнічаюць на вашай прыладзе.""Атрымаць службы Google Play""Даступнасць сэрвісаў Google Play""Памылка службаў Google Play""%1$s не будзе працаваць без службаў Google Play, якія не падтрымліваюцца вашай прыладай.""Абнавіць""%1$s не будзе працаваць, пакуль вы не абновіце службы Google Play.""Абнаўленне службаў Google Play""%1$s не будзе працаваць без службаў Google Play, якія ў цяперашні час абнаўляюцца.""Патрабуецца новая версія служб Google Play. Яна абновіцца аўтаматычна ў бліжэйшы час.""Адкрыць на тэлефоне""Увайсцi""Увайсці праз Google""Aktiv edin""%1$s Google Play xidmətlərini aktiv edənə kimi işləməyəcək.""Google Play xidmətlərini aktiv edin""Quraşdırın""%1$s cihazınızda mövcud olmayan Google Play xidmətləri olmadan çalışmayacaq.""Google Play xidmətlərini əldə edin""Google Play xidmətlərinin əlçatımlılığı""Google Play xidmətləri xətası""Cihazınız tərəfindən dəstəklənməyən Google Play xidmətləri olmadan %1$s tətbiqi işləməyəcək.""Güncəlləyin""%1$s Google Play xidmətləri yeniləmə halda çalışmaz.""Google Play xidmətlərini güncəlləşdirin""%1$s hal-hazırda güncəllənən Google Play xidmətləri olmadan çalışmayacaq.""Google Play xidmətlərinin yeni versiyası lazımdır. Qısa müddətə özünü yeniləyəcək.""Telefonda açın""Daxil olun""Google ilə daxil olun""Habilitar""%1$s no funcionará hasta que no habilites Servicios de Google Play.""Habilita Servicios de Google Play""Instalar""%1$s no se ejecutará si los Servicios de Google Play no están instalados en tu dispositivo.""Descargar Servicios de Google Play""Disponibilidad Servicios de Google Play""Error de Servicios de Google Play""No es posible ejecutar la aplicación %1$s sin los Servicios de Google Play, que no son compatibles con tu dispositivo.""Actualizar""%1$s no funcionará hasta que no actualices Servicios de Google Play.""Actualiza Servicios de Google Play""%1$s no se ejecutará hasta que finalice la actualización en curso de Servicios de Google Play.""Se necesita una nueva versión de Servicios de Google Play. Se actualizará en breve.""Abrir en teléfono""Iniciar sesión""Iniciar sesión con Google""Povoliť""Aplikácia %1$s bude fungovať až po povolení služieb Google Play.""Povoliť služby Google Play""Inštalovať""Na spustenie aplikácie %1$s sa vyžadujú služby Google Play, ktoré na zariadení nemáte.""Inštalovať služby Google Play""Dostupnosť služieb Google Play""Chyba služieb Google Play""Aplikáciu %1$s nebude možné spustiť bez služieb Google Play, ktoré vaše zariadenie nepodporuje.""Aktualizovať""Aplikáciu %1$s bude možné spustiť až po aktualizácii služieb Google Play.""Aktualizácia služieb Google Play""Na spustenie aplikácie %1$s sa vyžadujú služby Google Play, ktoré sa momentálne aktualizujú.""Vyžaduje sa nová verzia služieb Google Play. Aktualizujú sa automaticky v najbližšom čase.""Otvoriť v telefóne""Prihlásiť sa""Prihlásiť sa do účtu Google"@android:color/white#1F000000@android:color/black@android:color/white#90000000#1F000000#90000000#DE000000Enable%1$s won\'t work unless you enable Google Play services.Enable Google Play servicesInstall%1$s won\'t run without Google Play services, which are missing from your device.Get Google Play servicesGoogle Play services availabilityGoogle Play services error%1$s won\'t run without Google Play services, which are not supported by your device.Update%1$s won\'t run unless you update Google Play services.Update Google Play services%1$s won\'t run without Google Play services, which are currently updating.New version of Google Play services needed. It will update itself shortly.Open on phoneSign inSign in with Google + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +"Omogući""%1$s neće funkcionirati ako ne omogućite usluge Google Playa.""Omogućivanje usluga Google Playa""Instaliraj""%1$s neće funkcionirati bez usluga Google Playa koje nisu instalirane na vašem uređaju.""Preuzimanje usluga Google Playa""Dostupnost usluga za Google Play""Pogreška Usluga za Google Play""%1$s neće funkcionirati bez usluga Google Playa koje vaš uređaj ne podržava.""Ažuriraj""%1$s neće funkcionirati ako ne ažurirate Google Play usluge.""Ažuriranje usluga Google Playa""%1$s neće se pokrenuti bez usluga Google Playa koje se trenutačno ažuriraju.""Potrebna je nova verzija usluga Google Playa. Uskoro će se ažurirati.""Otvori na telefonu""Prijava""Prijava putem Googlea""सक्रिय गर्नुहोस्""%1$s ले तपाईँले Google Play सेवाहरू सक्षम नगरेसम्म काम गर्दैन।""Google Play सेवाहरू सक्षम पार्नुहोस्""स्थापना गर्नुहोस्""%1$s Google Play services बिना सञ्चालन हुने छैन र तपाईँको यन्त्रमा Google Play services उपलब्ध छैनन्।""Google Play सेवाहरू प्राप्त गर्नुहोस्""Google Play सेवाको उपलब्धता""Google Play सेवाहरूका त्रुटि""%1$s Google Play services बिना सञ्चालन हुने छैन र तपाईँको यन्त्रले Google Play services लाई समर्थन गर्दैन।""अद्यावधिक गर्नुहोस्""%1$s तपाईंले Google प्ले सेवाहरू अद्यावधिक नगरेसम्म सञ्चालन हुँदैन।""Google Play सेवाहरू अद्यावधिक गर्नुहोस्""Google Play सेवाहरू %1$s बिना सञ्‍चालन हुँदैन, जुन हाल अद्यावधिक भइरहेका छन्।""Google Play सेवाहरूको नयाँ संस्करण आवश्यक छ। यो आफै छिट्टै नै अद्यावधिक हुनेछ।""फोनमा खोल्नुहोस्""साइन इन गर्नुहोस्""Google मार्फत साइन‍ इन गर्नुहोस्""Activar""%1$s non funcionará a menos que actives os servizos de Google Play.""Activar servizos de Google Play""Instalar""%1$s non se executará se o teu dispositivo non ten instalados os servizos de Google Play.""Descargar servizos de Google Play""Dispoñibilidade dos servizos de Play""Erro nos servizos de Google Play""%1$s non se executará sen os servizos de Google Play, que non son compatibles co teu dispositivo.""Actualizar""%1$s non se executará a menos que actualices os servizos de Google Play.""Actualizar os servizos de Google Play""%1$s non se executará sen os servizos de Google Play, que se están actualizando neste momento.""Necesítase a nova versión dos servizos de Google Play. Actualizarase en breve.""Abrir no teléfono""Iniciar sesión""Iniciar sesión con Google""Omogući""%1$s neće funkcionisati ako ne omogućite Google Play usluge.""Omogućite Google Play usluge""Instaliraj""%1$s ne može da se pokrene bez Google Play usluga, koje nisu instalirane na uređaju.""Preuzmite Google Play usluge""Dostupnost Google Play usluga""Greška Google Play usluga""%1$s ne može da se pokrene bez Google Play usluga, koje uređaj ne podržava.""Ažuriraj""%1$s ne može da se pokrene ako ne ažurirate Google Play usluge.""Ažurirajte Google Play usluge""%1$s ne može da se pokrene bez Google Play usluga, koje se trenutno ažuriraju.""Potrebna je nova verzija Google Play usluga. Uskoro će se ažurirati.""Otvori na telefonu""Prijavi me""Prijavi me na Google""Kveikja""%1$s virkar ekki nema þú gerir þjónustu Google Play virka.""Virkja þjónustu Google Play""Setja upp""%1$s getur ekki keyrt án þjónustu Google Play, sem vantar í tækið þitt.""Sækja þjónustu Google Play""Staða þjónustu Google Play""Villa í þjónustu Google Play""%1$s getur ekki keyrt án þjónustu Google Play, sem er ekki studd af tækinu þínu.""Uppfæra""%1$s getur ekki keyrt nema þú uppfærir þjónustu Google Play.""Uppfæra þjónustu Google Play""%1$s getur ekki keyrt án þjónustu Google Play, sem verið er að uppfæra.""Nýja útgáfu af þjónustu Google Play vantar. Hún uppfærir sig sjálf innan skamms.""Opna í símanum""Skrá inn""Skrá inn með Google""Washa""%1$s haitafanya kazi isipokuwa uwashe huduma za Google Play.""Washa huduma za Google Play""Sakinisha""%1$s haitafanya kazi bila huduma za Google Play. Huduma hizi hazipatikani kwenye kifaa chako.""Pata huduma za Google Play""Upatikanaji wa huduma za Google Play""Hitilafu kwenye huduma za Google Play""%1$s haitafanya kazi bila huduma za Google Play. Huduma hizi hazitumiki kwenye kifaa chako.""Sasisha""%1$s haitafanya kazi hadi usasishe huduma za Google Play.""Sasisha huduma za Google Play""%1$s haitafanya kazi bila huduma za Google Play. Huduma hizi zinasasishwa sasa.""Toleo jipya la huduma za Google Play linahitajika. Litajisasisha baada ya muda mfupi.""Fungua kwenye simu""Ingia katika akaunti""Ingia katika akaunti ukitumia Google""Ενεργοποίηση""Η εφαρμογή %1$s δεν θα λειτουργήσει εάν δεν έχετε ενεργοποιήσει τις υπηρεσίες Google Play.""Ενεργοποίηση υπηρεσιών Google Play""Εγκατάσταση""Η εφαρμογή %1$s δεν μπορεί να εκτελεστεί χωρίς τις υπηρεσίες Google Play, οι οποίες λείπουν από τη συσκευή σας.""Λήψη υπηρεσιών Google Play""Διαθεσιμότητα υπηρεσιών Google Play""Σφάλμα Υπηρεσιών Google Play""Η εφαρμογή %1$s δεν θα εκτελεστεί χωρίς τις υπηρεσίες Google Play, οι οποίες δεν υποστηρίζονται από τη συσκευή σας.""Ενημέρωση""Η εφαρμογή %1$s θα εκτελεστεί αφού ενημερώσετε τις Υπηρεσίες Google Play.""Ενημέρωση υπηρεσιών Google Play""Η εφαρμογή %1$s δεν θα εκτελεστεί χωρίς τις υπηρεσίες Google Play, οι οποίες ενημερώνονται αυτήν τη στιγμή.""Απαιτείται νέα έκδοση των υπηρεσιών Google Play. Θα ενημερωθεί σύντομα.""Άνοιγμα σε τηλέφωνο""Σύνδεση""Συνδεθείτε με το Google""Aktivizo""%1$s nuk do të funksionojë nëse nuk aktivizon shërbimet e \"Luaj me Google\".""Aktivizo shërbimet e \"Luaj me Google\"""Instalo""%1$s nuk do të funksionojë pa shërbimet e Google Play, të cilat mungojnë në pajisjen tënde.""Merr shërbimet e \"Luaj me Google\"""Disponueshmëria e shërbimeve të Google Play""Gabim në shërbimet e \"Luaj me Google\"""%1$s nuk do të funksionojë pa shërbimet e Google Play, të cilat nuk mbështeten nga pajisja jote.""Përditëso""%1$s nuk do të funksionojë nëse nuk përditëson shërbimet e \"Luaj me Google\".""Përditëso shërbimet e \"Luaj me Google\"""%1$s nuk do të funksionojë pa shërbimet e \"Luaj me Google\", të cilat po përditësohen aktualisht.""Nevojitet një version i ri i shërbimeve të \"Luaj me Google\". Ai do të përditësohet automatikisht së shpejti.""Hape në telefon""Identifikohu""Identifikohu me Google""Овозможи""%1$s нема да се извршува ако не овозможите услуги на Google Play.""Овозможи ги услугите на Google Play""Инсталирај""%1$s нема да се извршува без услугите на Google Play што ги нема на уредот.""Преземи ги услугите на Google Play""Достапност на услугите на Google Play""Грешка на услугите на Google Play""%1$s нема да се извршува без услугите на Google Play, што не се подржани од уредов.""Ажурирај""%1$s нема да се извршува ако не ги ажурирате услугите на Google Play.""Ажурирај ги услугите на Google Play""%1$s нема да се извршува без услугите на Google Play што се ажурираат во моментов.""Потребна е нова верзија на услугите на Google Play. Таа наскоро самата ќе се ажурира.""Отвори на телефонот""Најави се""Најави се со Google""Омогући""%1$s неће функционисати ако не омогућите Google Play услуге.""Омогућите Google Play услуге""Инсталирај""%1$s не може да се покрене без Google Play услуга, које нису инсталиране на уређају.""Преузмите Google Play услуге""Доступност Google Play услуга""Грешка Google Play услуга""%1$s не може да се покрене без Google Play услуга, које уређај не подржава.""Ажурирај""%1$s не може да се покрене ако не ажурирате Google Play услуге.""Ажурирајте Google Play услуге""%1$s не може да се покрене без Google Play услуга, које се тренутно ажурирају.""Потребна је нова верзија Google Play услуга. Ускоро ће се ажурирати.""Отвори на телефону""Пријави ме""Пријави ме на Google""සබල කරන්න""ඔබ Google Play සේවා සබල කරන්නේ නම් මිස %1$s වැඩ නොකරනු ඇත.""Google Play සේවා සබල කරන්න""ස්ථාපනය කරන්න""ඔබගේ ටැබ්ලට් පරිගණකයේ නැති Google Play සේවා නොමැතිව %1$s ධාවනය නොවනු ඇත.""Google Play සේවා ලබා ගන්න""Google Play සේවාවල ලබා ගත හැකි බව""Google Play සේවා දෝෂය""ඔබගේ උපාංගය මගින් සහාය නොදක්වන, Google Play සේවා නොමැතිව %1$s ධාවනය නොවනු ඇත.""යාවත්කාලීන කරන්න""Google Play සේවා යාවත්කාලීන කරන්නේ නොමැතිව %1$s ධාවනය නොවේ.""Google Play සේවා යාවත්කාලීන කරන්න""දැනට යාවත්කාලීන කරමින් ඇති, Google Play සේවා නොමැතිව %1$s ධාවනය නොවනු ඇත.""Google Play සේවාවල නව අනුවාදයක් අවශ්‍යයි. එය මද වේලාවකින් එය විසින්ම යාවත්කාලීන වනු ඇත.""දුරකථනය තුළ විවෘත කරන්න""පුරන්න""Google සමගින් පුරන්න""Slå på""%1$s fungerer ikke med mindre du slår på Google Play-tjenester.""Slå på Google Play-tjenester""Installer""%1$s kan ikke kjøre uten Google Play-tjenester, som ikke er installert på enheten din.""Installer Google Play-tjenester""Google Play Tjenester-tilgjengelighet""Google Play Tjenester-feil""%1$s kan ikke kjøre uten Google Play-tjenester, som ikke støttes av enheten din.""Oppdater""%1$s kjører ikke med mindre du oppdaterer Google Play Tjenester.""Oppdater Google Play-tjenester""%1$s kjører ikke uten Google Play-tjenester, som oppdateres akkurat nå.""Du må installere en ny versjon av Google Play-tjenester. Appen oppdateres automatisk om en kort stund.""Åpne på telefonen""Logg på""Logg på med Google""Aktivera""%1$s fungerar inte om du inte aktiverar Google Play-tjänster.""Aktivera Google Play-tjänster""Installera""%1$s kan inte köras utan Google Play-tjänsterna, som saknas på enheten.""Hämta Google Play-tjänster""Tillgänglighet för Google Plays tjänster""Fel på Google Play-tjänster""%1$s fungerar inte utan Google Play-tjänsterna, som inte stöds på enheten.""Uppdatera""%1$s kan inte köras om du inte uppdaterar Google Play-tjänsterna.""Uppdatera Google Play-tjänster""%1$s kan inte köras utan Google Play-tjänster, och dessa uppdateras för närvarande.""En ny version av Google Play-tjänster krävs. Den uppdateras automatiskt inom kort.""Öppna på mobilen""Logga in""Logga in med Google""啟用""您必須啟用 Google Play 服務,方可執行「%1$s」。""啟用 Google Play 服務""安裝""您的裝置尚未安裝 Google Play 服務,因此無法執行「%1$s」。""安裝 Google Play 服務""Google Play 服務的適用範圍""Google Play 服務錯誤""您的裝置不支援 Google Play 服務,因此無法執行「%1$s」。""更新""您必須更新「Google Play 服務」,才能執行 %1$s。""更新 Google Play 服務""正在更新 Google Play 服務,更新完成後方可執行「%1$s」。""需要使用新版本的 Google Play 服務。更新會即將自動開始。""在手機開啟""登入""透過 Google 登入""ჩართვა""%1$s ვერ იმუშავებს Google Play Services-ის ჩართვამდე.""Google Play Services-ის ჩართვა""ინსტალაცია""%1$s ვერ გაეშვება Google Play Services-ის გარეშე, რომელიც აკლია თქვენს მოწყობილობას.""Google Play Services-ის ჩამოტვირთვა""Google Play services-ის ხელმისაწვდომობა""Google Play Services-ის შეცდომა""%1$s ვერ გაეშვება Google Play Services-ის გარეშე, რომლებიც მხარდაუჭერელია თქვენი მოწყობილობის მიერ.""განახლება""%1$s ვერ გაეშვება, თუ Google Play სერვისებს არ განაახლებთ.""განაახლეთ Google Play Services""%1$s ვერ გაეშვება Google Play Services-ის გარეშე, რომელთა განახლებაც ამჟამად მიმდინარეობს.""საჭიროა Google Play Services-ის ახალი ვერსია. ის მალე განახლდება.""ტელეფონში გახსნა""შესვლა""Google-ით შესვლა""Ota käyttöön""%1$s ei toimi, ellet ota Google Play Palveluita käyttöön.""Ota Google Play Palvelut käyttöön""Asenna""%1$s ei toimi ilman Google Play Palveluita, jotka puuttuvat laitteeltasi.""Asenna Google Play Palvelut""Google Play Palveluiden saatavuus""Virhe Google Play -palveluissa""%1$s ei toimi ilman Google Play Palveluita, joita laitteesi ei tue.""Päivitä""%1$s ei toimi, ellet päivitä Google Play Palveluita.""Päivitä Google Play Palvelut""%1$s ei toimi ilman Google Play Palveluita, joita päivitetään tällä hetkellä.""Uusi Google Play Palveluiden versio tarvitaan. Se päivittyy pian.""Avaa puhelimessa""Kirjaudu sisään""Kirjaudu Google-tilille""Aktivér""Du skal aktivere Google Play-tjenester, for at %1$s kan fungere.""Aktivér Google Play-tjenester""Installer""Du skal installere Google Play-tjenester, før %1$s kan køre på din enhed.""Hent Google Play-tjenester""Google Play-tjenesters tilgængelighed""Fejl i Google Play-tjenester""%1$s fungerer ikke uden Google Play-tjenester, som ikke understøttes på din enhed.""Opdater""%1$s kan ikke køre, medmindre du opdaterer Google Play-tjenester.""Opdater Google Play-tjenester""%1$s kan ikke køre uden Google Play-tjenester, som i øjeblikket opdateres.""Du skal bruge en ny version af Google Play-tjenester. Opdateringen gennemføres automatisk om et øjeblik.""Åbn på telefonen""Log ind""Log ind med Google""இயக்கு""Google Play சேவைகளை இயக்கினால் மட்டுமே, %1$s செயல்படும்.""Google Play சேவைகளை இயக்கவும்""நிறுவு""Google Play சேவைகள் இருந்தால் மட்டுமே, %1$s இயங்கும். அவை உங்கள் சாதனத்தில் இல்லை.""Google Play சேவைகளைப் பெறவும்""கிடைக்கும் Google Play சேவைகள்""Google Play சேவைகள் பிழை""Google Play சேவைகள் இருந்தால் மட்டுமே %1$s பயன்பாடு இயங்கும். ஆனால், உங்கள் சாதனத்தில் அவை ஆதரிக்கப்படவில்லை.""புதுப்பி""Google Play சேவைகளை இயக்கினால் மட்டுமே, %1$s செயல்படும்.""Google Play சேவைகளைப் புதுப்பிக்கவும்""தற்போது புதுப்பிக்கப்படும், Google Play சேவைகள் இருந்தால் மட்டுமே, %1$s செயல்படும்.""Google Play சேவைகளின் புதிய பதிப்பு தேவை. அது விரைவில் தானாகவே புதுப்பிக்கப்படும்.""மொபைலில் திற""உள்நுழைக""Google மூலம் உள்நுழைக""Aktifkan""%1$s tidak akan berfungsi jika layanan Google Play tidak diaktifkan.""Aktifkan layanan Google Play""Instal""%1$s tidak akan berjalan tanpa layanan Google Play, yang tidak ada di perangkat Anda.""Dapatkan layanan Google Play""Ketersediaan layanan Google Play""Kesalahan layanan Google Play""%1$s tidak akan berjalan tanpa layanan Google Play, yang tidak didukung oleh perangkat Anda.""Update""%1$s tidak akan berjalan jika layanan Google Play tidak diperbarui.""Perbarui layanan Google Play""%1$s tidak akan berjalan tanpa layanan Google Play, yang saat ini sedang diperbarui.""Perlu versi baru layanan Google Play. Akan segera memperbarui sendiri.""Buka di ponsel""Masuk""Masuk dengan Google""সক্ষম করুন""আপনি Google Play পরিষেবা সক্ষম না করা পর্যন্ত %1$s কাজ করবে না।""Google Play পরিষেবা সক্ষম করুন""ইনস্টল করুন""Google Play পরিষেবা ছাড়া %1$s চলবে না, যা আপনার ডিভাইসে অনুপস্থিত।""Google Play পরিষেবা পান""Google Play পরিষেবার উপলভ্যতা""Google Play পরিষেবার ত্রুটি""Google Play পরিষেবা ছাড়া %1$s চলবে না, যেটি আপনার ডিভাইসে সমর্থিত নয়৷""আপডেট করুন""আপনি Google Play পরিষেবা আপডেট না করা পর্যন্ত %1$s চলবে না।""Google Play পরিষেবা আপডেট করুন""Google Play পরিষেবা ছাড়া %1$s চলবে না যা বর্তমানে আপডেট হচ্ছে।""Google Play পরিষেবার নতুন ভার্সন প্রয়োজন৷ খুব শীঘ্রই এটা নিজেই আপডেট হবে৷""ফোনে খুলুন""সাইন-ইন করুন""Google এর মাধ্যমে সাইন-ইন করুন""Omogoči""Aplikacija %1$s ne bo delovala, če ne omogočite storitev Google Play.""Omogočanje storitev Google Play""Namesti""Aplikacija %1$s ne deluje brez storitev Google Play, vendar teh ni v napravi.""Namestitev storitev Google Play""Dostopnost storitev Google Play""Napaka storitev Google Play""Aplikacija %1$s ne deluje brez storitev Google Play, ki jih vaša naprava ne podpira.""Posodobi""Aplikacija %1$s ne bo delovala, če ne posodobite storitev Google Play.""Posodobitev storitev Google Play""Aplikacija %1$s ne deluje brez storitev Google Play, ki se trenutno posodabljajo.""Potrebujete novo različico storitev Google Play. V kratkem se bodo posodobile.""Odpiranje v telefonu""Prijava""Prijava z Google Računom"CancelarUse o backupAutenticação de impressão digitalOkConfirme a impressão digital para continuarSensor de toqueimpressão digital não reconhecida. Tente novamente.impressão digital reconhecidaUma nova impressão digital foi adicionada a este dispositivo, é necessário o seu códigoÉ necessário um ecrã de bloqueio seguro!AnnuleerBack-up gebruikenAuthenticatie met vingerafdrukOKVingerafdruk bevestigen om verder te gaanAanraaksensorVingerafdruk niet herkend.Opnieuw proberen.Vingerafdruk herkendEr werd een nieuwe vingerafdruk aan dit apparaat toegevoegd, waardoor uw wachtwoord is vereist.Beveiligd vergrendelingsscherm vereist!AbbrechenPasswortAuthentifizierungOKFingerabdruck bestätigenFingerabdrucksensorFingerabdruck nicht erkannt. Versuchen Sie es erneutAuthentifiziertEin neuer Fingerabdruck wurde gespeichert. Bitte geben Sie ihr Passwort ein.Passwortgeschützter Sperrbildschirm benötigtCancellaUsa backupAutenticazione impronta digitaleOkConferma l\'impronta digitale per continuareSensore TouchImpronta digitale non riconosciuta. Riprova.Impronta digitale riconosciutaUna nuova impronta è stata aggiunta a questo dispositivo, quindi è necessaria la tua passwordBlocco schermo richiesto!AnnulerUtiliser la sauvegardeAuthentification par empreinte digitaleOkConfirmer l\'empreinte pour continuerToucher le capteurEmpreinte non reconnue. Essayer à nouveau.Empreinte reconnueUne nouvelle empreinte digitale a été ajoutée à ce dispositif, de sorte que votre mot de passe est nécessaire.Écran de verrouillage sécurisé nécessaire!取消使用手勢密碼指紋識別確認指紋識別請觸摸指紋識別傳感器指紋無法識別,請再試一次指紋識別成功添加一個新的指紋,需要設置密碼需要安全鎖屏取消使用手势密码指纹识别确认指纹识别请触摸指纹识传感器指纹无法识别,请再试一次指纹识别成功添加一个新的指纹,需要设置密码需要安全锁屏CancelarEl RespaldoAutenticación de Huellas DigitalesDe AcuerdoConfirmar la huella digital para continuarSensor tactilNo se reconoce la huella digital. Inténtalo de nuevo.Reconocido de huella dactilarUna nueva huella digital fue agregada a este dispositivo, por lo que se requiere la contraseña.¡Requiere pantalla de bloqueo seguro!pdTriggerapp@string/app_name@string/launcher_nameCancelUse backupFingerprint AuthenticationOkConfirm fingerprint to continueTouch sensorFingerprint not recognized. Try again.Fingerprint recognizedA new fingerprint was added to this device, so your password is required.Secure lock screen required!#f4511e#42000000#009688ΑκύρωσηΧρήση αρχείουΕλεγχος αποτυπώματοςOkΕπιβεβαίωση αποτυπώματοςΑιθηστήρας αφήςΣφάλμα. Προσπαθήστε ξανάΣωστό αποτύπωμαΝεο αποτύπωμα προστέθηκε , απαιτείται ο κωδικός σας.Απαιτείται κλειδωμα οθόνηςAnnullerBrug backupFingeraftryk LoginOkBekræft fingeraftryk for at fortsætteRør sensorFingeraftryk ikke genkendt. Prøv igen.Fingeraftryk godkendtEt nyt fingeraftryk blev tilføjet til denne enhed så din adgangskode er krævet.Sikring af skærmlås krævet! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/mergeDebugShaders/merger.xml b/platforms/android/app/build/intermediates/incremental/mergeDebugShaders/merger.xml new file mode 100644 index 00000000..f3b5ae84 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/mergeDebugShaders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/incremental/packageDebug/debug/dex-renamer-state.txt b/platforms/android/app/build/intermediates/incremental/packageDebug/debug/dex-renamer-state.txt new file mode 100644 index 00000000..5134f711 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/packageDebug/debug/dex-renamer-state.txt @@ -0,0 +1,4 @@ +#Sun Feb 17 13:58:06 IST 2019 +base.0=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/transforms/dexMerger/debug/0 +path.0=classes.dex +renamed.0=classes.dex diff --git a/platforms/android/app/build/intermediates/incremental/packageDebug/debug/file-input-save-data.txt b/platforms/android/app/build/intermediates/incremental/packageDebug/debug/file-input-save-data.txt new file mode 100644 index 00000000..722c66c7 --- /dev/null +++ b/platforms/android/app/build/intermediates/incremental/packageDebug/debug/file-input-save-data.txt @@ -0,0 +1,271 @@ +#Internal package file, do not edit. +#Sun Feb 17 13:58:06 IST 2019 +56.path=www/service-worker.js +5.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +42.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +22.path=www/assets/imgs/logo.png +32.set=ASSET +52.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +32.path=www/assets/fonts/Roboto-Black.ttf +36.baseType=DIRECTORY +18.baseType=DIRECTORY +27.baseType=DIRECTORY +64.baseType=DIRECTORY +55.baseType=DIRECTORY +46.baseType=DIRECTORY +9.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +21.set=ASSET +46.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +39.set=ASSET +26.path=www/assets/img/misc/sidemenubg.jpg +56.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +6.baseType=DIRECTORY +36.path=www/build/sw-toolbox.js +10.set=NATIVE_RESOURCE +28.set=ASSET +22.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +61.set=ASSET +32.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +12.path=www/cordova-js-src/android/nativeapiprovider.js +17.set=ASSET +50.set=ASSET +26.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +36.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +1.set=ASSET +37.baseType=DIRECTORY +28.baseType=DIRECTORY +16.path=www/plugins/cordova-plugin-fingerprint-aio/www/Fingerprint.js +19.baseType=DIRECTORY +57.set=ASSET +65.baseType=DIRECTORY +56.baseType=DIRECTORY +12.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +8.set=ASSET +46.set=ASSET +7.baseType=DIRECTORY +63.path=www/assets/indigo-pink.css +35.set=ASSET +2.path=www/assets/fonts/Roboto-Italic.ttf +16.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +24.set=ASSET +6.path=www/plugins/cordova-plugin-datepicker/www/android/DatePicker.js +63.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +47.baseType=DIRECTORY +43.path=www/cordova.js +38.baseType=DIRECTORY +29.baseType=DIRECTORY +10.baseType=DIRECTORY +66.baseType=DIRECTORY +57.baseType=DIRECTORY +13.set=ASSET +53.path=www/plugins/cordova-plugin-camera/www/CameraPopoverOptions.js +2.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +64.set=ASSET +8.baseType=DIRECTORY +47.path=www/plugins/cordova-plugin-splashscreen/www/splashscreen.js +53.set=ASSET +57.path=www/plugins/cordova-plugin-ionic-webview/src/www/util.js +6.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +43.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +4.set=ASSET +23.path=www/assets/fonts/Roboto-LightItalic.ttf +42.set=ASSET +53.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +33.path=www/build/main.css +17.path=www/manifest.json +31.set=NATIVE_RESOURCE +49.set=ASSET +47.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +48.baseType=DIRECTORY +39.baseType=DIRECTORY +20.baseType=DIRECTORY +27.path=www/assets/fonts/Roboto-Bold.ttf +58.baseType=DIRECTORY +57.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +37.path=www/assets/fonts/Roboto-BoldItalic.ttf +20.set=ASSET +38.set=ASSET +23.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +9.baseType=DIRECTORY +33.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +13.path=www/plugins/cordova-plugin-geolocation/www/PositionError.js +17.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +27.set=ASSET +60.set=ASSET +count=67 +27.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +16.set=ASSET +37.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +11.baseType=DIRECTORY +49.baseType=DIRECTORY +21.baseType=DIRECTORY +30.baseType=DIRECTORY +0.set=ASSET +13.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +56.set=ASSET +64.path=www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/common.js +0.baseType=DIRECTORY +7.set=ASSET +45.set=ASSET +3.path=classes.dex +40.path=www/plugins/cordova-plugin-camera/www/CameraConstants.js +50.path=www/plugins/cordova-plugin-actionsheet/www/ActionSheet.js +34.set=ASSET +60.path=www/cordova-js-src/platform.js +7.path=www/assets/fonts/Roboto-BlackItalic.ttf +64.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +44.path=www/cordova-js-src/exec.js +23.set=ASSET +12.baseType=DIRECTORY +54.path=www/cordova_plugins.js +3.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/transforms/dexMerger/debug/0 +59.baseType=DIRECTORY +40.baseType=DIRECTORY +22.baseType=DIRECTORY +31.baseType=DIRECTORY +40.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +20.path=www/assets/css/deeppurple-amber.css +12.set=ASSET +50.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +48.path=www/assets/img/misc/avatar.jpg +63.set=ASSET +30.path=www/assets/deep.min.css +60.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +58.path=www/plugins/cordova-plugin-geolocation/www/android/geolocation.js +7.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +44.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +19.set=ASSET +24.path=www/assets/fonts/Roboto-Regular.ttf +52.set=ASSET +54.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +34.path=www/cordova-js-src/plugin/android/app.js +3.set=DEX +18.path=www/plugins/cordova-plugin-statusbar/www/statusbar.js +20.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +41.set=ASSET +59.set=ASSET +48.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +28.path=www/plugins/cordova-plugin-android-permissions/www/permissions.js +30.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +10.path=lib/x86_64/libsqlc-native-driver.so +58.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +13.baseType=DIRECTORY +50.baseType=DIRECTORY +41.baseType=DIRECTORY +38.path=www/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js +32.baseType=DIRECTORY +30.set=ASSET +48.set=ASSET +24.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +34.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +1.baseType=DIRECTORY +14.path=www/assets/img/misc/login.jpg +37.set=ASSET +18.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +28.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +10.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0 +26.set=ASSET +38.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +0.path=www/assets/fonts/Roboto-MediumItalic.ttf +15.set=ASSET +14.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +66.set=NATIVE_RESOURCE +14.baseType=DIRECTORY +23.baseType=DIRECTORY +65.path=www/assets/fonts/ionicons.woff2 +60.baseType=DIRECTORY +51.baseType=DIRECTORY +42.baseType=DIRECTORY +33.baseType=DIRECTORY +55.set=NATIVE_RESOURCE +4.path=www/build/polyfills.js +2.baseType=DIRECTORY +41.path=www/plugins/cordova-plugin-dialogs/www/notification.js +6.set=ASSET +51.path=www/assets/fonts/Roboto-Medium.ttf +0.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +44.set=ASSET +61.path=www/plugins/cordova-plugin-camera/www/Camera.js +8.path=www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/localforage.v1.5.0.min.js +65.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +45.path=www/plugins/cordova-plugin-request-location-accuracy/www/android/RequestLocationAccuracy.js +33.set=ASSET +55.path=lib/armeabi/libsqlc-native-driver.so +4.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +41.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +15.baseType=DIRECTORY +24.baseType=DIRECTORY +21.path=www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js +22.set=ASSET +61.baseType=DIRECTORY +52.baseType=DIRECTORY +43.baseType=DIRECTORY +34.baseType=DIRECTORY +51.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +49.path=www/assets/fonts/Roboto-Thin.ttf +31.path=lib/x86/libsqlc-native-driver.so +61.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +59.path=www/assets/img/misc/adrian-199150-unsplash 1.jpg +8.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +11.set=ASSET +45.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +29.set=ASSET +3.baseType=DIRECTORY +25.path=lib/arm64-v8a/libsqlc-native-driver.so +62.set=ASSET +55.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0 +35.path=www/assets/fonts/ionicons.woff +18.set=ASSET +19.path=www/plugins/cordova-plugin-camera/www/CameraPopoverHandle.js +21.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +51.set=ASSET +49.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +29.path=www/plugins/cordova-plugin-dialogs/www/android/notification.js +31.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0 +11.path=www/index.html +59.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +2.set=ASSET +39.path=www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/android/launchnavigator.js +40.set=ASSET +58.set=ASSET +25.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0 +16.baseType=DIRECTORY +25.baseType=DIRECTORY +62.baseType=DIRECTORY +53.baseType=DIRECTORY +44.baseType=DIRECTORY +35.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +9.set=ASSET +15.path=www/plugins/cordova-plugin-device/www/device.js +47.set=ASSET +19.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +4.baseType=DIRECTORY +29.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +11.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +36.set=ASSET +39.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +62.path=www/assets/icon/favicon.ico +1.path=www/build/main.js +25.set=NATIVE_RESOURCE +15.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +66.path=lib/armeabi-v7a/libsqlc-native-driver.so +14.set=ASSET +35.baseType=DIRECTORY +26.baseType=DIRECTORY +17.baseType=DIRECTORY +63.baseType=DIRECTORY +54.baseType=DIRECTORY +45.baseType=DIRECTORY +65.set=ASSET +5.path=www/cordova-js-src/android/promptbasednativeapi.js +62.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +42.path=www/assets/fonts/Roboto-Light.ttf +52.path=www/build/vendor.js +5.baseType=DIRECTORY +1.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/assets/debug +54.set=ASSET +9.path=www/assets/fonts/Roboto-ThinItalic.ttf +66.base=/opt/lampp/htdocs/pd_officer/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0 +46.path=www/assets/img/avatar/girl-avatar.png +5.set=ASSET +43.set=ASSET diff --git a/platforms/android/app/build/intermediates/incremental/packageDebug/debug/zip-cache/IsYqhMHTnlaHlfWhHKlEMTcWZ+Q= b/platforms/android/app/build/intermediates/incremental/packageDebug/debug/zip-cache/IsYqhMHTnlaHlfWhHKlEMTcWZ+Q= new file mode 100644 index 00000000..bc265abe Binary files /dev/null and b/platforms/android/app/build/intermediates/incremental/packageDebug/debug/zip-cache/IsYqhMHTnlaHlfWhHKlEMTcWZ+Q= differ diff --git a/platforms/android/app/build/intermediates/incremental/packageDebug/debug/zip-cache/sban9bNgq5JYCu7AS6oVKGRZ28s= b/platforms/android/app/build/intermediates/incremental/packageDebug/debug/zip-cache/sban9bNgq5JYCu7AS6oVKGRZ28s= new file mode 100644 index 00000000..554d2088 Binary files /dev/null and b/platforms/android/app/build/intermediates/incremental/packageDebug/debug/zip-cache/sban9bNgq5JYCu7AS6oVKGRZ28s= differ diff --git a/platforms/android/app/build/intermediates/javaPrecompile/debug/annotationProcessors.json b/platforms/android/app/build/intermediates/javaPrecompile/debug/annotationProcessors.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/platforms/android/app/build/intermediates/javaPrecompile/debug/annotationProcessors.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/manifests/density/debug/output.json b/platforms/android/app/build/intermediates/manifests/density/debug/output.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/platforms/android/app/build/intermediates/manifests/density/debug/output.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/manifests/full/debug/AndroidManifest.xml b/platforms/android/app/build/intermediates/manifests/full/debug/AndroidManifest.xml new file mode 100644 index 00000000..6e6db53d --- /dev/null +++ b/platforms/android/app/build/intermediates/manifests/full/debug/AndroidManifest.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/manifests/full/debug/output.json b/platforms/android/app/build/intermediates/manifests/full/debug/output.json new file mode 100644 index 00000000..4eaae771 --- /dev/null +++ b/platforms/android/app/build/intermediates/manifests/full/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"AndroidManifest.xml","properties":{"packageId":"io.ionic.starter","split":"","minSdkVersion":"19"}}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/manifests/instant-run/debug/output.json b/platforms/android/app/build/intermediates/manifests/instant-run/debug/output.json new file mode 100644 index 00000000..a432bfae --- /dev/null +++ b/platforms/android/app/build/intermediates/manifests/instant-run/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"INSTANT_RUN_MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"AndroidManifest.xml","properties":{"packageId":"io.ionic.starter","split":"","minSdkVersion":"19"}}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/res/debug/output.json b/platforms/android/app/build/intermediates/res/debug/output.json new file mode 100644 index 00000000..97af1a70 --- /dev/null +++ b/platforms/android/app/build/intermediates/res/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"PROCESSED_RES"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"resources-debug.ap_","properties":{"packageId":"io.ionic.starter","split":"","minSdkVersion":"19"}}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/res/debug/resources-debug.ap_ b/platforms/android/app/build/intermediates/res/debug/resources-debug.ap_ new file mode 100644 index 00000000..554d2088 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/debug/resources-debug.ap_ differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_text_dark.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_text_dark.xml.flat new file mode 100644 index 00000000..4a13806b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_text_dark.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_text_light.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_text_light.xml.flat new file mode 100644 index 00000000..5e0c99e0 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_text_light.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_tint.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_tint.xml.flat new file mode 100644 index 00000000..71c7f17c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/color_common_google_signin_btn_tint.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-anydpi-v21_ic_fingerprint_error.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-anydpi-v21_ic_fingerprint_error.xml.flat new file mode 100644 index 00000000..1dfcdf36 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-anydpi-v21_ic_fingerprint_error.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-anydpi-v21_ic_fingerprint_success.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-anydpi-v21_ic_fingerprint_success.xml.flat new file mode 100644 index 00000000..ea05b09b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-anydpi-v21_ic_fingerprint_success.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_full_open_on_phone.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_full_open_on_phone.png.flat new file mode 100644 index 00000000..6d3dcd8f Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_full_open_on_phone.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat new file mode 100644 index 00000000..08f7d53a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat new file mode 100644 index 00000000..bffcc2f2 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat new file mode 100644 index 00000000..06a401b8 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat new file mode 100644 index 00000000..2003e327 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_googleg_disabled_color_18.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_googleg_disabled_color_18.png.flat new file mode 100644 index 00000000..bbf5671b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_googleg_disabled_color_18.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_googleg_standard_color_18.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_googleg_standard_color_18.png.flat new file mode 100644 index 00000000..7e89ef23 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_googleg_standard_color_18.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat new file mode 100644 index 00000000..15aa6120 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_low_pressed.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_low_pressed.9.png.flat new file mode 100644 index 00000000..8b6b826e Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_low_pressed.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_normal.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_normal.9.png.flat new file mode 100644 index 00000000..dc8bc572 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_normal.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.flat new file mode 100644 index 00000000..fd6a8d72 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 00000000..507b8880 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fingerprint_error.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fingerprint_error.png.flat new file mode 100644 index 00000000..027b808a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fingerprint_error.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fingerprint_success.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fingerprint_success.png.flat new file mode 100644 index 00000000..6cb73cda Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fingerprint_success.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fp_40px.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fp_40px.png.flat new file mode 100644 index 00000000..ed375ee6 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-hdpi_ic_fp_40px.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-hdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-hdpi_screen.png.flat new file mode 100644 index 00000000..878c3869 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-hdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-ldpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-ldpi_screen.png.flat new file mode 100644 index 00000000..b97db99c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-ldpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-mdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-mdpi_screen.png.flat new file mode 100644 index 00000000..90b51b9f Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-mdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xhdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xhdpi_screen.png.flat new file mode 100644 index 00000000..1832e039 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xhdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xxhdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xxhdpi_screen.png.flat new file mode 100644 index 00000000..f7ceb69c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xxhdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xxxhdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xxxhdpi_screen.png.flat new file mode 100644 index 00000000..e9b572ad Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-land-xxxhdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-ldpi_ic_fingerprint_error.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-ldpi_ic_fingerprint_error.png.flat new file mode 100644 index 00000000..54963ddc Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-ldpi_ic_fingerprint_error.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-ldpi_ic_fingerprint_success.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-ldpi_ic_fingerprint_success.png.flat new file mode 100644 index 00000000..94470ed1 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-ldpi_ic_fingerprint_success.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat new file mode 100644 index 00000000..2ddb34dd Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat new file mode 100644 index 00000000..5096f09d Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat new file mode 100644 index 00000000..45e2be1b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat new file mode 100644 index 00000000..49124cbe Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_googleg_disabled_color_18.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_googleg_disabled_color_18.png.flat new file mode 100644 index 00000000..73d2f25d Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_googleg_disabled_color_18.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_googleg_standard_color_18.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_googleg_standard_color_18.png.flat new file mode 100644 index 00000000..e33967b3 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_googleg_standard_color_18.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat new file mode 100644 index 00000000..5b0e0975 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_low_pressed.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_low_pressed.9.png.flat new file mode 100644 index 00000000..ca865a1e Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_low_pressed.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_normal.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_normal.9.png.flat new file mode 100644 index 00000000..fbaa0346 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_normal.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.flat new file mode 100644 index 00000000..027fe0c6 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 00000000..4b37a44c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fingerprint_error.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fingerprint_error.png.flat new file mode 100644 index 00000000..78776ba4 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fingerprint_error.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fingerprint_success.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fingerprint_success.png.flat new file mode 100644 index 00000000..51e15855 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fingerprint_success.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fp_40px.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fp_40px.png.flat new file mode 100644 index 00000000..9cb69835 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-mdpi_ic_fp_40px.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-nodpi_android_robot.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-nodpi_android_robot.png.flat new file mode 100644 index 00000000..b6b8cf51 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-nodpi_android_robot.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-hdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-hdpi_screen.png.flat new file mode 100644 index 00000000..9b473c94 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-hdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-ldpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-ldpi_screen.png.flat new file mode 100644 index 00000000..6174f23b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-ldpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-mdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-mdpi_screen.png.flat new file mode 100644 index 00000000..f33ff804 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-mdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xhdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xhdpi_screen.png.flat new file mode 100644 index 00000000..5e2d8e45 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xhdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xxhdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xxhdpi_screen.png.flat new file mode 100644 index 00000000..7b986704 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xxhdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xxxhdpi_screen.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xxxhdpi_screen.png.flat new file mode 100644 index 00000000..d9f4c957 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-port-xxxhdpi_screen.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-v21_notification_action_background.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-v21_notification_action_background.xml.flat new file mode 100644 index 00000000..5ba62126 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-v21_notification_action_background.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_full_open_on_phone.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_full_open_on_phone.png.flat new file mode 100644 index 00000000..7ad31a64 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_full_open_on_phone.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat new file mode 100644 index 00000000..1062481f Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat new file mode 100644 index 00000000..9f8f0121 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat new file mode 100644 index 00000000..97bd27a2 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat new file mode 100644 index 00000000..f0f16e45 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_googleg_disabled_color_18.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_googleg_disabled_color_18.png.flat new file mode 100644 index 00000000..f40486c7 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_googleg_disabled_color_18.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_googleg_standard_color_18.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_googleg_standard_color_18.png.flat new file mode 100644 index 00000000..97c41f77 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_googleg_standard_color_18.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat new file mode 100644 index 00000000..b616a546 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.flat new file mode 100644 index 00000000..527aa495 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_normal.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_normal.9.png.flat new file mode 100644 index 00000000..7254e271 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_normal.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png.flat new file mode 100644 index 00000000..bd8ca244 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 00000000..55f73d7c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fingerprint_error.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fingerprint_error.png.flat new file mode 100644 index 00000000..f658cb92 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fingerprint_error.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fingerprint_success.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fingerprint_success.png.flat new file mode 100644 index 00000000..4cadb7ad Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fingerprint_success.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fp_40px.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fp_40px.png.flat new file mode 100644 index 00000000..97a13dfa Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xhdpi_ic_fp_40px.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat new file mode 100644 index 00000000..d4b61160 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_icon_dark_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat new file mode 100644 index 00000000..425c9243 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_icon_light_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat new file mode 100644 index 00000000..85dbe0db Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_text_dark_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat new file mode 100644 index 00000000..6f47b93f Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_common_google_signin_btn_text_light_normal_background.9.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_googleg_disabled_color_18.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_googleg_disabled_color_18.png.flat new file mode 100644 index 00000000..e105f630 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_googleg_disabled_color_18.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_googleg_standard_color_18.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_googleg_standard_color_18.png.flat new file mode 100644 index 00000000..85df8dca Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4_googleg_standard_color_18.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fingerprint_error.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fingerprint_error.png.flat new file mode 100644 index 00000000..55fdf3a5 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fingerprint_error.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fingerprint_success.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fingerprint_success.png.flat new file mode 100644 index 00000000..8d116b38 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fingerprint_success.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fp_40px.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fp_40px.png.flat new file mode 100644 index 00000000..31736ab1 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_fp_40px.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fingerprint_error.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fingerprint_error.png.flat new file mode 100644 index 00000000..fc5ba9c0 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fingerprint_error.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fingerprint_success.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fingerprint_success.png.flat new file mode 100644 index 00000000..41185184 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fingerprint_success.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fp_40px.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fp_40px.png.flat new file mode 100644 index 00000000..28041ba4 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi_ic_fp_40px.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark.xml.flat new file mode 100644 index 00000000..05eec53a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark_focused.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark_focused.xml.flat new file mode 100644 index 00000000..c00bcf71 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark_focused.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark_normal.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark_normal.xml.flat new file mode 100644 index 00000000..ca14e03a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_dark_normal.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_disabled.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_disabled.xml.flat new file mode 100644 index 00000000..8ad45b84 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_disabled.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light.xml.flat new file mode 100644 index 00000000..d8d144c2 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light_focused.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light_focused.xml.flat new file mode 100644 index 00000000..58adf976 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light_focused.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light_normal.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light_normal.xml.flat new file mode 100644 index 00000000..1d6dc7b7 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_icon_light_normal.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark.xml.flat new file mode 100644 index 00000000..a2b1ff50 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark_focused.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark_focused.xml.flat new file mode 100644 index 00000000..97943c1e Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark_focused.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark_normal.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark_normal.xml.flat new file mode 100644 index 00000000..9fd35db0 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_dark_normal.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_disabled.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_disabled.xml.flat new file mode 100644 index 00000000..70f3bd78 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_disabled.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light.xml.flat new file mode 100644 index 00000000..421e358a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light_focused.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light_focused.xml.flat new file mode 100644 index 00000000..581fef19 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light_focused.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light_normal.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light_normal.xml.flat new file mode 100644 index 00000000..d4493aeb Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_common_google_signin_btn_text_light_normal.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_bg.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_bg.xml.flat new file mode 100644 index 00000000..1e597d06 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_bg.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_bg_low.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_bg_low.xml.flat new file mode 100644 index 00000000..2ff8cbe2 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_bg_low.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_icon_background.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_icon_background.xml.flat new file mode 100644 index 00000000..1b91e56f Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_icon_background.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_tile_bg.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_tile_bg.xml.flat new file mode 100644 index 00000000..3e438f9e Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/drawable_notification_tile_bg.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout-v16_notification_template_custom_big.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout-v16_notification_template_custom_big.xml.flat new file mode 100644 index 00000000..b8b5284f Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout-v16_notification_template_custom_big.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_action.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_action.xml.flat new file mode 100644 index 00000000..b0acd40c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_action.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_action_tombstone.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_action_tombstone.xml.flat new file mode 100644 index 00000000..67376e6c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_action_tombstone.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_template_custom_big.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_template_custom_big.xml.flat new file mode 100644 index 00000000..1fb3925f Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_template_custom_big.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_template_icon_group.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_template_icon_group.xml.flat new file mode 100644 index 00000000..164d9f46 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout-v21_notification_template_icon_group.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_fingerprint_dialog_container.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_fingerprint_dialog_container.xml.flat new file mode 100644 index 00000000..1638e463 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_fingerprint_dialog_container.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_fingerprint_dialog_content.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_fingerprint_dialog_content.xml.flat new file mode 100644 index 00000000..3b79a79a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_fingerprint_dialog_content.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_action.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_action.xml.flat new file mode 100644 index 00000000..95887bdf Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_action.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_action_tombstone.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_action_tombstone.xml.flat new file mode 100644 index 00000000..f3ac8669 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_action_tombstone.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_media_action.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_media_action.xml.flat new file mode 100644 index 00000000..25c39516 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_media_action.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_media_cancel_action.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_media_cancel_action.xml.flat new file mode 100644 index 00000000..fe5b52dd Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_media_cancel_action.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media.xml.flat new file mode 100644 index 00000000..1d45e128 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_custom.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_custom.xml.flat new file mode 100644 index 00000000..27617d58 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_custom.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_narrow.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_narrow.xml.flat new file mode 100644 index 00000000..7e54e176 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_narrow.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_narrow_custom.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_narrow_custom.xml.flat new file mode 100644 index 00000000..3242ff42 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_big_media_narrow_custom.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_icon_group.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_icon_group.xml.flat new file mode 100644 index 00000000..25aaee44 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_icon_group.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_lines_media.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_lines_media.xml.flat new file mode 100644 index 00000000..67982d26 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_lines_media.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_media.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_media.xml.flat new file mode 100644 index 00000000..61ce6f45 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_media.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_media_custom.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_media_custom.xml.flat new file mode 100644 index 00000000..837bff49 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_media_custom.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_part_chronometer.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_part_chronometer.xml.flat new file mode 100644 index 00000000..faca016b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_part_chronometer.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_part_time.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_part_time.xml.flat new file mode 100644 index 00000000..2e6ae184 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/layout_notification_template_part_time.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/mipmap-hdpi_icon.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-hdpi_icon.png.flat new file mode 100644 index 00000000..fd9e41ea Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-hdpi_icon.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/mipmap-ldpi_icon.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-ldpi_icon.png.flat new file mode 100644 index 00000000..959f4b8a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-ldpi_icon.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/mipmap-mdpi_icon.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-mdpi_icon.png.flat new file mode 100644 index 00000000..c7305876 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-mdpi_icon.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xhdpi_icon.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xhdpi_icon.png.flat new file mode 100644 index 00000000..56aa78d4 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xhdpi_icon.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xxhdpi_icon.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xxhdpi_icon.png.flat new file mode 100644 index 00000000..ab78b402 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xxhdpi_icon.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xxxhdpi_icon.png.flat b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xxxhdpi_icon.png.flat new file mode 100644 index 00000000..3c387d8a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/mipmap-xxxhdpi_icon.png.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-af_values-af.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-af_values-af.arsc.flat new file mode 100644 index 00000000..231824a4 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-af_values-af.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-am_values-am.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-am_values-am.arsc.flat new file mode 100644 index 00000000..27e14a64 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-am_values-am.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ar_values-ar.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ar_values-ar.arsc.flat new file mode 100644 index 00000000..a8713341 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ar_values-ar.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-az_values-az.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-az_values-az.arsc.flat new file mode 100644 index 00000000..c5ccda42 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-az_values-az.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-b+sr+Latn_values-b+sr+Latn.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-b+sr+Latn_values-b+sr+Latn.arsc.flat new file mode 100644 index 00000000..971d04c3 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-b+sr+Latn_values-b+sr+Latn.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-be_values-be.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-be_values-be.arsc.flat new file mode 100644 index 00000000..77de4e33 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-be_values-be.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-bg_values-bg.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-bg_values-bg.arsc.flat new file mode 100644 index 00000000..cbc67226 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-bg_values-bg.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-bn_values-bn.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-bn_values-bn.arsc.flat new file mode 100644 index 00000000..782ce951 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-bn_values-bn.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-bs_values-bs.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-bs_values-bs.arsc.flat new file mode 100644 index 00000000..f1292ada Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-bs_values-bs.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ca_values-ca.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ca_values-ca.arsc.flat new file mode 100644 index 00000000..209e9efd Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ca_values-ca.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-cs_values-cs.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-cs_values-cs.arsc.flat new file mode 100644 index 00000000..68219735 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-cs_values-cs.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-da_values-da.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-da_values-da.arsc.flat new file mode 100644 index 00000000..d4179126 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-da_values-da.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-de_values-de.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-de_values-de.arsc.flat new file mode 100644 index 00000000..d9fd49cc Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-de_values-de.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-el_values-el.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-el_values-el.arsc.flat new file mode 100644 index 00000000..8531bd18 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-el_values-el.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-en-rAU_values-en-rAU.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-en-rAU_values-en-rAU.arsc.flat new file mode 100644 index 00000000..2b871786 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-en-rAU_values-en-rAU.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-en-rGB_values-en-rGB.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-en-rGB_values-en-rGB.arsc.flat new file mode 100644 index 00000000..fd1206d5 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-en-rGB_values-en-rGB.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-en-rIN_values-en-rIN.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-en-rIN_values-en-rIN.arsc.flat new file mode 100644 index 00000000..f0ce178a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-en-rIN_values-en-rIN.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-es-rUS_values-es-rUS.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-es-rUS_values-es-rUS.arsc.flat new file mode 100644 index 00000000..6ce24322 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-es-rUS_values-es-rUS.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-es_values-es.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-es_values-es.arsc.flat new file mode 100644 index 00000000..e8a65b19 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-es_values-es.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-et_values-et.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-et_values-et.arsc.flat new file mode 100644 index 00000000..06a33493 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-et_values-et.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-eu_values-eu.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-eu_values-eu.arsc.flat new file mode 100644 index 00000000..24e5d35c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-eu_values-eu.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-fa_values-fa.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-fa_values-fa.arsc.flat new file mode 100644 index 00000000..a54d1ed8 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-fa_values-fa.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-fi_values-fi.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-fi_values-fi.arsc.flat new file mode 100644 index 00000000..8c87b88a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-fi_values-fi.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-fr-rCA_values-fr-rCA.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-fr-rCA_values-fr-rCA.arsc.flat new file mode 100644 index 00000000..0fcfe18c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-fr-rCA_values-fr-rCA.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-fr_values-fr.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-fr_values-fr.arsc.flat new file mode 100644 index 00000000..e6dfe480 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-fr_values-fr.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-gl_values-gl.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-gl_values-gl.arsc.flat new file mode 100644 index 00000000..3e1f7914 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-gl_values-gl.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-gu_values-gu.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-gu_values-gu.arsc.flat new file mode 100644 index 00000000..a5344051 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-gu_values-gu.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-hi_values-hi.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-hi_values-hi.arsc.flat new file mode 100644 index 00000000..8bb7c9e7 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-hi_values-hi.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-hr_values-hr.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-hr_values-hr.arsc.flat new file mode 100644 index 00000000..6b0076a6 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-hr_values-hr.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-hu_values-hu.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-hu_values-hu.arsc.flat new file mode 100644 index 00000000..34cf3ccc Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-hu_values-hu.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-hy_values-hy.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-hy_values-hy.arsc.flat new file mode 100644 index 00000000..e71e32a3 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-hy_values-hy.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-in_values-in.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-in_values-in.arsc.flat new file mode 100644 index 00000000..c64e66bb Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-in_values-in.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-is_values-is.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-is_values-is.arsc.flat new file mode 100644 index 00000000..3bc1548b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-is_values-is.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-it_values-it.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-it_values-it.arsc.flat new file mode 100644 index 00000000..6664e4fa Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-it_values-it.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-iw_values-iw.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-iw_values-iw.arsc.flat new file mode 100644 index 00000000..3eb1a7c1 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-iw_values-iw.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ja_values-ja.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ja_values-ja.arsc.flat new file mode 100644 index 00000000..1dc2a039 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ja_values-ja.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ka_values-ka.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ka_values-ka.arsc.flat new file mode 100644 index 00000000..f67325e9 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ka_values-ka.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-kk_values-kk.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-kk_values-kk.arsc.flat new file mode 100644 index 00000000..6a571c60 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-kk_values-kk.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-km_values-km.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-km_values-km.arsc.flat new file mode 100644 index 00000000..bb0e286c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-km_values-km.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-kn_values-kn.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-kn_values-kn.arsc.flat new file mode 100644 index 00000000..7a2ae619 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-kn_values-kn.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ko_values-ko.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ko_values-ko.arsc.flat new file mode 100644 index 00000000..47d8c25e Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ko_values-ko.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ky_values-ky.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ky_values-ky.arsc.flat new file mode 100644 index 00000000..91c2bda9 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ky_values-ky.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-lo_values-lo.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-lo_values-lo.arsc.flat new file mode 100644 index 00000000..05ad894d Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-lo_values-lo.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-lt_values-lt.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-lt_values-lt.arsc.flat new file mode 100644 index 00000000..75983385 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-lt_values-lt.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-lv_values-lv.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-lv_values-lv.arsc.flat new file mode 100644 index 00000000..2ac03073 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-lv_values-lv.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-mk_values-mk.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-mk_values-mk.arsc.flat new file mode 100644 index 00000000..b690bd4b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-mk_values-mk.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ml_values-ml.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ml_values-ml.arsc.flat new file mode 100644 index 00000000..3ebea9ad Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ml_values-ml.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-mn_values-mn.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-mn_values-mn.arsc.flat new file mode 100644 index 00000000..426b4c5b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-mn_values-mn.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-mr_values-mr.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-mr_values-mr.arsc.flat new file mode 100644 index 00000000..d287d732 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-mr_values-mr.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ms_values-ms.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ms_values-ms.arsc.flat new file mode 100644 index 00000000..9ed970ad Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ms_values-ms.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-my_values-my.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-my_values-my.arsc.flat new file mode 100644 index 00000000..ba9a9e40 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-my_values-my.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-nb_values-nb.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-nb_values-nb.arsc.flat new file mode 100644 index 00000000..c28cecf6 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-nb_values-nb.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ne_values-ne.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ne_values-ne.arsc.flat new file mode 100644 index 00000000..63852f1a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ne_values-ne.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-nl_values-nl.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-nl_values-nl.arsc.flat new file mode 100644 index 00000000..d62433d0 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-nl_values-nl.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-pa_values-pa.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-pa_values-pa.arsc.flat new file mode 100644 index 00000000..6090bf42 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-pa_values-pa.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-pl_values-pl.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-pl_values-pl.arsc.flat new file mode 100644 index 00000000..45ec9f71 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-pl_values-pl.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-port_values-port.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-port_values-port.arsc.flat new file mode 100644 index 00000000..297cf970 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-port_values-port.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-pt-rBR_values-pt-rBR.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-pt-rBR_values-pt-rBR.arsc.flat new file mode 100644 index 00000000..252c6db6 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-pt-rBR_values-pt-rBR.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-pt-rPT_values-pt-rPT.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-pt-rPT_values-pt-rPT.arsc.flat new file mode 100644 index 00000000..3ff15a8b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-pt-rPT_values-pt-rPT.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-pt_values-pt.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-pt_values-pt.arsc.flat new file mode 100644 index 00000000..8474ad4e Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-pt_values-pt.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ro_values-ro.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ro_values-ro.arsc.flat new file mode 100644 index 00000000..1fc9801a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ro_values-ro.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ru_values-ru.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ru_values-ru.arsc.flat new file mode 100644 index 00000000..028a35fe Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ru_values-ru.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-si_values-si.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-si_values-si.arsc.flat new file mode 100644 index 00000000..94a7415a Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-si_values-si.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-sk_values-sk.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-sk_values-sk.arsc.flat new file mode 100644 index 00000000..cc957ad0 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-sk_values-sk.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-sl_values-sl.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-sl_values-sl.arsc.flat new file mode 100644 index 00000000..625e5f4c Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-sl_values-sl.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-sq_values-sq.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-sq_values-sq.arsc.flat new file mode 100644 index 00000000..830928bf Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-sq_values-sq.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-sr_values-sr.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-sr_values-sr.arsc.flat new file mode 100644 index 00000000..e199c75d Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-sr_values-sr.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-sv_values-sv.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-sv_values-sv.arsc.flat new file mode 100644 index 00000000..26adaf57 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-sv_values-sv.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-sw_values-sw.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-sw_values-sw.arsc.flat new file mode 100644 index 00000000..26529cc7 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-sw_values-sw.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ta_values-ta.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ta_values-ta.arsc.flat new file mode 100644 index 00000000..cea248b5 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ta_values-ta.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-te_values-te.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-te_values-te.arsc.flat new file mode 100644 index 00000000..ff451f8b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-te_values-te.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-th_values-th.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-th_values-th.arsc.flat new file mode 100644 index 00000000..54952920 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-th_values-th.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-tl_values-tl.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-tl_values-tl.arsc.flat new file mode 100644 index 00000000..d62c3fb0 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-tl_values-tl.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-tr_values-tr.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-tr_values-tr.arsc.flat new file mode 100644 index 00000000..d7b2d28b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-tr_values-tr.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-uk_values-uk.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-uk_values-uk.arsc.flat new file mode 100644 index 00000000..77e43e12 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-uk_values-uk.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-ur_values-ur.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-ur_values-ur.arsc.flat new file mode 100644 index 00000000..e01b9cad Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-ur_values-ur.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-uz_values-uz.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-uz_values-uz.arsc.flat new file mode 100644 index 00000000..96c194e6 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-uz_values-uz.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-v16_values-v16.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-v16_values-v16.arsc.flat new file mode 100644 index 00000000..aeb983d5 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-v16_values-v16.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-v21_values-v21.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-v21_values-v21.arsc.flat new file mode 100644 index 00000000..3dd68488 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-v21_values-v21.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-v24_values-v24.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-v24_values-v24.arsc.flat new file mode 100644 index 00000000..46bd47f6 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-v24_values-v24.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-vi_values-vi.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-vi_values-vi.arsc.flat new file mode 100644 index 00000000..3ba3a640 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-vi_values-vi.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rCN_values-zh-rCN.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rCN_values-zh-rCN.arsc.flat new file mode 100644 index 00000000..ba6a8145 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rCN_values-zh-rCN.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rHK_values-zh-rHK.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rHK_values-zh-rHK.arsc.flat new file mode 100644 index 00000000..185fb9f8 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rHK_values-zh-rHK.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rTW_values-zh-rTW.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rTW_values-zh-rTW.arsc.flat new file mode 100644 index 00000000..06e0be32 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-zh-rTW_values-zh-rTW.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-zh_values-zh.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-zh_values-zh.arsc.flat new file mode 100644 index 00000000..da9e46b1 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-zh_values-zh.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values-zu_values-zu.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values-zu_values-zu.arsc.flat new file mode 100644 index 00000000..3857e698 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values-zu_values-zu.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/values_values.arsc.flat b/platforms/android/app/build/intermediates/res/merged/debug/values_values.arsc.flat new file mode 100644 index 00000000..7866271b Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/values_values.arsc.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/xml_camera_provider_paths.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/xml_camera_provider_paths.xml.flat new file mode 100644 index 00000000..19ab1dc8 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/xml_camera_provider_paths.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/merged/debug/xml_config.xml.flat b/platforms/android/app/build/intermediates/res/merged/debug/xml_config.xml.flat new file mode 100644 index 00000000..724332a9 Binary files /dev/null and b/platforms/android/app/build/intermediates/res/merged/debug/xml_config.xml.flat differ diff --git a/platforms/android/app/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt b/platforms/android/app/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt new file mode 100644 index 00000000..7ce21efa --- /dev/null +++ b/platforms/android/app/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt @@ -0,0 +1,229 @@ +io.ionic.starter +int attr buttonSize 0x7f010000 +int attr circleCrop 0x7f010001 +int attr colorScheme 0x7f010002 +int attr font 0x7f010003 +int attr fontProviderAuthority 0x7f010004 +int attr fontProviderCerts 0x7f010005 +int attr fontProviderFetchStrategy 0x7f010006 +int attr fontProviderFetchTimeout 0x7f010007 +int attr fontProviderPackage 0x7f010008 +int attr fontProviderQuery 0x7f010009 +int attr fontStyle 0x7f01000a +int attr fontWeight 0x7f01000b +int attr imageAspectRatio 0x7f01000c +int attr imageAspectRatioAdjust 0x7f01000d +int attr scopeUris 0x7f01000e +int bool abc_action_bar_embed_tabs 0x7f020000 +int color common_google_signin_btn_text_dark 0x7f030000 +int color common_google_signin_btn_text_dark_default 0x7f030001 +int color common_google_signin_btn_text_dark_disabled 0x7f030002 +int color common_google_signin_btn_text_dark_focused 0x7f030003 +int color common_google_signin_btn_text_dark_pressed 0x7f030004 +int color common_google_signin_btn_text_light 0x7f030005 +int color common_google_signin_btn_text_light_default 0x7f030006 +int color common_google_signin_btn_text_light_disabled 0x7f030007 +int color common_google_signin_btn_text_light_focused 0x7f030008 +int color common_google_signin_btn_text_light_pressed 0x7f030009 +int color common_google_signin_btn_tint 0x7f03000a +int color hint_color 0x7f03000b +int color notification_action_color_filter 0x7f03000c +int color notification_icon_bg_color 0x7f03000d +int color notification_material_background_media_default_color 0x7f03000e +int color primary_text_default_material_dark 0x7f03000f +int color ripple_material_light 0x7f030010 +int color secondary_text_default_material_dark 0x7f030011 +int color secondary_text_default_material_light 0x7f030012 +int color success_color 0x7f030013 +int color warning_color 0x7f030014 +int dimen compat_button_inset_horizontal_material 0x7f040000 +int dimen compat_button_inset_vertical_material 0x7f040001 +int dimen compat_button_padding_horizontal_material 0x7f040002 +int dimen compat_button_padding_vertical_material 0x7f040003 +int dimen compat_control_corner_material 0x7f040004 +int dimen notification_action_icon_size 0x7f040005 +int dimen notification_action_text_size 0x7f040006 +int dimen notification_big_circle_margin 0x7f040007 +int dimen notification_content_margin_start 0x7f040008 +int dimen notification_large_icon_height 0x7f040009 +int dimen notification_large_icon_width 0x7f04000a +int dimen notification_main_column_padding_top 0x7f04000b +int dimen notification_media_narrow_margin 0x7f04000c +int dimen notification_right_icon_size 0x7f04000d +int dimen notification_right_side_padding_top 0x7f04000e +int dimen notification_small_icon_background_padding 0x7f04000f +int dimen notification_small_icon_size_as_large 0x7f040010 +int dimen notification_subtext_size 0x7f040011 +int dimen notification_top_pad 0x7f040012 +int dimen notification_top_pad_large_text 0x7f040013 +int drawable android_robot 0x7f050000 +int drawable common_full_open_on_phone 0x7f050001 +int drawable common_google_signin_btn_icon_dark 0x7f050002 +int drawable common_google_signin_btn_icon_dark_focused 0x7f050003 +int drawable common_google_signin_btn_icon_dark_normal 0x7f050004 +int drawable common_google_signin_btn_icon_dark_normal_background 0x7f050005 +int drawable common_google_signin_btn_icon_disabled 0x7f050006 +int drawable common_google_signin_btn_icon_light 0x7f050007 +int drawable common_google_signin_btn_icon_light_focused 0x7f050008 +int drawable common_google_signin_btn_icon_light_normal 0x7f050009 +int drawable common_google_signin_btn_icon_light_normal_background 0x7f05000a +int drawable common_google_signin_btn_text_dark 0x7f05000b +int drawable common_google_signin_btn_text_dark_focused 0x7f05000c +int drawable common_google_signin_btn_text_dark_normal 0x7f05000d +int drawable common_google_signin_btn_text_dark_normal_background 0x7f05000e +int drawable common_google_signin_btn_text_disabled 0x7f05000f +int drawable common_google_signin_btn_text_light 0x7f050010 +int drawable common_google_signin_btn_text_light_focused 0x7f050011 +int drawable common_google_signin_btn_text_light_normal 0x7f050012 +int drawable common_google_signin_btn_text_light_normal_background 0x7f050013 +int drawable googleg_disabled_color_18 0x7f050014 +int drawable googleg_standard_color_18 0x7f050015 +int drawable ic_fingerprint_error 0x7f050016 +int drawable ic_fingerprint_success 0x7f050017 +int drawable ic_fp_40px 0x7f050018 +int drawable notification_action_background 0x7f050019 +int drawable notification_bg 0x7f05001a +int drawable notification_bg_low 0x7f05001b +int drawable notification_bg_low_normal 0x7f05001c +int drawable notification_bg_low_pressed 0x7f05001d +int drawable notification_bg_normal 0x7f05001e +int drawable notification_bg_normal_pressed 0x7f05001f +int drawable notification_icon_background 0x7f050020 +int drawable notification_template_icon_bg 0x7f050021 +int drawable notification_template_icon_low_bg 0x7f050022 +int drawable notification_tile_bg 0x7f050023 +int drawable notify_panel_notification_icon_bg 0x7f050024 +int drawable screen 0x7f050025 +int id action0 0x7f060000 +int id action_container 0x7f060001 +int id action_divider 0x7f060002 +int id action_image 0x7f060003 +int id action_text 0x7f060004 +int id actions 0x7f060005 +int id adjust_height 0x7f060006 +int id adjust_width 0x7f060007 +int id async 0x7f060008 +int id auto 0x7f060009 +int id blocking 0x7f06000a +int id buttonPanel 0x7f06000b +int id cancel_action 0x7f06000c +int id cancel_button 0x7f06000d +int id chronometer 0x7f06000e +int id dark 0x7f06000f +int id end_padder 0x7f060010 +int id fingerprint_container 0x7f060011 +int id fingerprint_description 0x7f060012 +int id fingerprint_icon 0x7f060013 +int id fingerprint_status 0x7f060014 +int id forever 0x7f060015 +int id icon 0x7f060016 +int id icon_group 0x7f060017 +int id icon_only 0x7f060018 +int id info 0x7f060019 +int id italic 0x7f06001a +int id light 0x7f06001b +int id line1 0x7f06001c +int id line3 0x7f06001d +int id media_actions 0x7f06001e +int id none 0x7f06001f +int id normal 0x7f060020 +int id notification_background 0x7f060021 +int id notification_main_column 0x7f060022 +int id notification_main_column_container 0x7f060023 +int id right_icon 0x7f060024 +int id right_side 0x7f060025 +int id second_dialog_button 0x7f060026 +int id spacer 0x7f060027 +int id standard 0x7f060028 +int id status_bar_latest_event_content 0x7f060029 +int id text 0x7f06002a +int id text2 0x7f06002b +int id time 0x7f06002c +int id title 0x7f06002d +int id wide 0x7f06002e +int integer cancel_button_image_alpha 0x7f070000 +int integer google_play_services_version 0x7f070001 +int integer status_bar_notification_info_maxnum 0x7f070002 +int layout fingerprint_dialog_container 0x7f080000 +int layout fingerprint_dialog_content 0x7f080001 +int layout notification_action 0x7f080002 +int layout notification_action_tombstone 0x7f080003 +int layout notification_media_action 0x7f080004 +int layout notification_media_cancel_action 0x7f080005 +int layout notification_template_big_media 0x7f080006 +int layout notification_template_big_media_custom 0x7f080007 +int layout notification_template_big_media_narrow 0x7f080008 +int layout notification_template_big_media_narrow_custom 0x7f080009 +int layout notification_template_custom_big 0x7f08000a +int layout notification_template_icon_group 0x7f08000b +int layout notification_template_lines_media 0x7f08000c +int layout notification_template_media 0x7f08000d +int layout notification_template_media_custom 0x7f08000e +int layout notification_template_part_chronometer 0x7f08000f +int layout notification_template_part_time 0x7f080010 +int mipmap icon 0x7f090000 +int string activity_name 0x7f0a0000 +int string app_name 0x7f0a0001 +int string common_google_play_services_enable_button 0x7f0a0002 +int string common_google_play_services_enable_text 0x7f0a0003 +int string common_google_play_services_enable_title 0x7f0a0004 +int string common_google_play_services_install_button 0x7f0a0005 +int string common_google_play_services_install_text 0x7f0a0006 +int string common_google_play_services_install_title 0x7f0a0007 +int string common_google_play_services_notification_channel_name 0x7f0a0008 +int string common_google_play_services_notification_ticker 0x7f0a0009 +int string common_google_play_services_unknown_issue 0x7f0a000a +int string common_google_play_services_unsupported_text 0x7f0a000b +int string common_google_play_services_update_button 0x7f0a000c +int string common_google_play_services_update_text 0x7f0a000d +int string common_google_play_services_update_title 0x7f0a000e +int string common_google_play_services_updating_text 0x7f0a000f +int string common_google_play_services_wear_update_text 0x7f0a0010 +int string common_open_on_phone 0x7f0a0011 +int string common_signin_button_text 0x7f0a0012 +int string common_signin_button_text_long 0x7f0a0013 +int string fingerprint_auth_dialog_title 0x7f0a0014 +int string fingerprint_cancel 0x7f0a0015 +int string fingerprint_description 0x7f0a0016 +int string fingerprint_hint 0x7f0a0017 +int string fingerprint_not_recognized 0x7f0a0018 +int string fingerprint_ok 0x7f0a0019 +int string fingerprint_success 0x7f0a001a +int string fingerprint_use_backup 0x7f0a001b +int string launcher_name 0x7f0a001c +int string new_fingerprint_enrolled_description 0x7f0a001d +int string secure_lock_screen_required 0x7f0a001e +int string status_bar_notification_info_overflow 0x7f0a001f +int style TextAppearance_Compat_Notification 0x7f0b0000 +int style TextAppearance_Compat_Notification_Info 0x7f0b0001 +int style TextAppearance_Compat_Notification_Info_Media 0x7f0b0002 +int style TextAppearance_Compat_Notification_Line2 0x7f0b0003 +int style TextAppearance_Compat_Notification_Line2_Media 0x7f0b0004 +int style TextAppearance_Compat_Notification_Media 0x7f0b0005 +int style TextAppearance_Compat_Notification_Time 0x7f0b0006 +int style TextAppearance_Compat_Notification_Time_Media 0x7f0b0007 +int style TextAppearance_Compat_Notification_Title 0x7f0b0008 +int style TextAppearance_Compat_Notification_Title_Media 0x7f0b0009 +int style Widget_Compat_NotificationActionContainer 0x7f0b000a +int style Widget_Compat_NotificationActionText 0x7f0b000b +int[] styleable FontFamily { 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009 } +int styleable FontFamily_fontProviderAuthority 0 +int styleable FontFamily_fontProviderCerts 1 +int styleable FontFamily_fontProviderFetchStrategy 2 +int styleable FontFamily_fontProviderFetchTimeout 3 +int styleable FontFamily_fontProviderPackage 4 +int styleable FontFamily_fontProviderQuery 5 +int[] styleable FontFamilyFont { 0x7f010003, 0x7f01000a, 0x7f01000b } +int styleable FontFamilyFont_font 0 +int styleable FontFamilyFont_fontStyle 1 +int styleable FontFamilyFont_fontWeight 2 +int[] styleable LoadingImageView { 0x7f010001, 0x7f01000c, 0x7f01000d } +int styleable LoadingImageView_circleCrop 0 +int styleable LoadingImageView_imageAspectRatio 1 +int styleable LoadingImageView_imageAspectRatioAdjust 2 +int[] styleable SignInButton { 0x7f010000, 0x7f010002, 0x7f01000e } +int styleable SignInButton_buttonSize 0 +int styleable SignInButton_colorScheme 1 +int styleable SignInButton_scopeUris 2 +int xml camera_provider_paths 0x7f0d0000 +int xml config 0x7f0d0001 diff --git a/platforms/android/app/build/intermediates/splits-support/debug/split-list.gson b/platforms/android/app/build/intermediates/splits-support/debug/split-list.gson new file mode 100644 index 00000000..edf6cf19 --- /dev/null +++ b/platforms/android/app/build/intermediates/splits-support/debug/split-list.gson @@ -0,0 +1 @@ +[{"splitType":"DENSITY","values":[]},{"splitType":"LANGUAGE","values":[]},{"splitType":"ABI","values":[]},{"splitType":"ResConfigs","values":[]}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/symbols/debug/R.txt b/platforms/android/app/build/intermediates/symbols/debug/R.txt new file mode 100644 index 00000000..b2d5ce61 --- /dev/null +++ b/platforms/android/app/build/intermediates/symbols/debug/R.txt @@ -0,0 +1,228 @@ +int attr buttonSize 0x7f010000 +int attr circleCrop 0x7f010001 +int attr colorScheme 0x7f010002 +int attr font 0x7f010003 +int attr fontProviderAuthority 0x7f010004 +int attr fontProviderCerts 0x7f010005 +int attr fontProviderFetchStrategy 0x7f010006 +int attr fontProviderFetchTimeout 0x7f010007 +int attr fontProviderPackage 0x7f010008 +int attr fontProviderQuery 0x7f010009 +int attr fontStyle 0x7f01000a +int attr fontWeight 0x7f01000b +int attr imageAspectRatio 0x7f01000c +int attr imageAspectRatioAdjust 0x7f01000d +int attr scopeUris 0x7f01000e +int bool abc_action_bar_embed_tabs 0x7f020000 +int color common_google_signin_btn_text_dark 0x7f030000 +int color common_google_signin_btn_text_dark_default 0x7f030001 +int color common_google_signin_btn_text_dark_disabled 0x7f030002 +int color common_google_signin_btn_text_dark_focused 0x7f030003 +int color common_google_signin_btn_text_dark_pressed 0x7f030004 +int color common_google_signin_btn_text_light 0x7f030005 +int color common_google_signin_btn_text_light_default 0x7f030006 +int color common_google_signin_btn_text_light_disabled 0x7f030007 +int color common_google_signin_btn_text_light_focused 0x7f030008 +int color common_google_signin_btn_text_light_pressed 0x7f030009 +int color common_google_signin_btn_tint 0x7f03000a +int color hint_color 0x7f03000b +int color notification_action_color_filter 0x7f03000c +int color notification_icon_bg_color 0x7f03000d +int color notification_material_background_media_default_color 0x7f03000e +int color primary_text_default_material_dark 0x7f03000f +int color ripple_material_light 0x7f030010 +int color secondary_text_default_material_dark 0x7f030011 +int color secondary_text_default_material_light 0x7f030012 +int color success_color 0x7f030013 +int color warning_color 0x7f030014 +int dimen compat_button_inset_horizontal_material 0x7f040000 +int dimen compat_button_inset_vertical_material 0x7f040001 +int dimen compat_button_padding_horizontal_material 0x7f040002 +int dimen compat_button_padding_vertical_material 0x7f040003 +int dimen compat_control_corner_material 0x7f040004 +int dimen notification_action_icon_size 0x7f040005 +int dimen notification_action_text_size 0x7f040006 +int dimen notification_big_circle_margin 0x7f040007 +int dimen notification_content_margin_start 0x7f040008 +int dimen notification_large_icon_height 0x7f040009 +int dimen notification_large_icon_width 0x7f04000a +int dimen notification_main_column_padding_top 0x7f04000b +int dimen notification_media_narrow_margin 0x7f04000c +int dimen notification_right_icon_size 0x7f04000d +int dimen notification_right_side_padding_top 0x7f04000e +int dimen notification_small_icon_background_padding 0x7f04000f +int dimen notification_small_icon_size_as_large 0x7f040010 +int dimen notification_subtext_size 0x7f040011 +int dimen notification_top_pad 0x7f040012 +int dimen notification_top_pad_large_text 0x7f040013 +int drawable android_robot 0x7f050000 +int drawable common_full_open_on_phone 0x7f050001 +int drawable common_google_signin_btn_icon_dark 0x7f050002 +int drawable common_google_signin_btn_icon_dark_focused 0x7f050003 +int drawable common_google_signin_btn_icon_dark_normal 0x7f050004 +int drawable common_google_signin_btn_icon_dark_normal_background 0x7f050005 +int drawable common_google_signin_btn_icon_disabled 0x7f050006 +int drawable common_google_signin_btn_icon_light 0x7f050007 +int drawable common_google_signin_btn_icon_light_focused 0x7f050008 +int drawable common_google_signin_btn_icon_light_normal 0x7f050009 +int drawable common_google_signin_btn_icon_light_normal_background 0x7f05000a +int drawable common_google_signin_btn_text_dark 0x7f05000b +int drawable common_google_signin_btn_text_dark_focused 0x7f05000c +int drawable common_google_signin_btn_text_dark_normal 0x7f05000d +int drawable common_google_signin_btn_text_dark_normal_background 0x7f05000e +int drawable common_google_signin_btn_text_disabled 0x7f05000f +int drawable common_google_signin_btn_text_light 0x7f050010 +int drawable common_google_signin_btn_text_light_focused 0x7f050011 +int drawable common_google_signin_btn_text_light_normal 0x7f050012 +int drawable common_google_signin_btn_text_light_normal_background 0x7f050013 +int drawable googleg_disabled_color_18 0x7f050014 +int drawable googleg_standard_color_18 0x7f050015 +int drawable ic_fingerprint_error 0x7f050016 +int drawable ic_fingerprint_success 0x7f050017 +int drawable ic_fp_40px 0x7f050018 +int drawable notification_action_background 0x7f050019 +int drawable notification_bg 0x7f05001a +int drawable notification_bg_low 0x7f05001b +int drawable notification_bg_low_normal 0x7f05001c +int drawable notification_bg_low_pressed 0x7f05001d +int drawable notification_bg_normal 0x7f05001e +int drawable notification_bg_normal_pressed 0x7f05001f +int drawable notification_icon_background 0x7f050020 +int drawable notification_template_icon_bg 0x7f050021 +int drawable notification_template_icon_low_bg 0x7f050022 +int drawable notification_tile_bg 0x7f050023 +int drawable notify_panel_notification_icon_bg 0x7f050024 +int drawable screen 0x7f050025 +int id action0 0x7f060000 +int id action_container 0x7f060001 +int id action_divider 0x7f060002 +int id action_image 0x7f060003 +int id action_text 0x7f060004 +int id actions 0x7f060005 +int id adjust_height 0x7f060006 +int id adjust_width 0x7f060007 +int id async 0x7f060008 +int id auto 0x7f060009 +int id blocking 0x7f06000a +int id buttonPanel 0x7f06000b +int id cancel_action 0x7f06000c +int id cancel_button 0x7f06000d +int id chronometer 0x7f06000e +int id dark 0x7f06000f +int id end_padder 0x7f060010 +int id fingerprint_container 0x7f060011 +int id fingerprint_description 0x7f060012 +int id fingerprint_icon 0x7f060013 +int id fingerprint_status 0x7f060014 +int id forever 0x7f060015 +int id icon 0x7f060016 +int id icon_group 0x7f060017 +int id icon_only 0x7f060018 +int id info 0x7f060019 +int id italic 0x7f06001a +int id light 0x7f06001b +int id line1 0x7f06001c +int id line3 0x7f06001d +int id media_actions 0x7f06001e +int id none 0x7f06001f +int id normal 0x7f060020 +int id notification_background 0x7f060021 +int id notification_main_column 0x7f060022 +int id notification_main_column_container 0x7f060023 +int id right_icon 0x7f060024 +int id right_side 0x7f060025 +int id second_dialog_button 0x7f060026 +int id spacer 0x7f060027 +int id standard 0x7f060028 +int id status_bar_latest_event_content 0x7f060029 +int id text 0x7f06002a +int id text2 0x7f06002b +int id time 0x7f06002c +int id title 0x7f06002d +int id wide 0x7f06002e +int integer cancel_button_image_alpha 0x7f070000 +int integer google_play_services_version 0x7f070001 +int integer status_bar_notification_info_maxnum 0x7f070002 +int layout fingerprint_dialog_container 0x7f080000 +int layout fingerprint_dialog_content 0x7f080001 +int layout notification_action 0x7f080002 +int layout notification_action_tombstone 0x7f080003 +int layout notification_media_action 0x7f080004 +int layout notification_media_cancel_action 0x7f080005 +int layout notification_template_big_media 0x7f080006 +int layout notification_template_big_media_custom 0x7f080007 +int layout notification_template_big_media_narrow 0x7f080008 +int layout notification_template_big_media_narrow_custom 0x7f080009 +int layout notification_template_custom_big 0x7f08000a +int layout notification_template_icon_group 0x7f08000b +int layout notification_template_lines_media 0x7f08000c +int layout notification_template_media 0x7f08000d +int layout notification_template_media_custom 0x7f08000e +int layout notification_template_part_chronometer 0x7f08000f +int layout notification_template_part_time 0x7f080010 +int mipmap icon 0x7f090000 +int string activity_name 0x7f0a0000 +int string app_name 0x7f0a0001 +int string common_google_play_services_enable_button 0x7f0a0002 +int string common_google_play_services_enable_text 0x7f0a0003 +int string common_google_play_services_enable_title 0x7f0a0004 +int string common_google_play_services_install_button 0x7f0a0005 +int string common_google_play_services_install_text 0x7f0a0006 +int string common_google_play_services_install_title 0x7f0a0007 +int string common_google_play_services_notification_channel_name 0x7f0a0008 +int string common_google_play_services_notification_ticker 0x7f0a0009 +int string common_google_play_services_unknown_issue 0x7f0a000a +int string common_google_play_services_unsupported_text 0x7f0a000b +int string common_google_play_services_update_button 0x7f0a000c +int string common_google_play_services_update_text 0x7f0a000d +int string common_google_play_services_update_title 0x7f0a000e +int string common_google_play_services_updating_text 0x7f0a000f +int string common_google_play_services_wear_update_text 0x7f0a0010 +int string common_open_on_phone 0x7f0a0011 +int string common_signin_button_text 0x7f0a0012 +int string common_signin_button_text_long 0x7f0a0013 +int string fingerprint_auth_dialog_title 0x7f0a0014 +int string fingerprint_cancel 0x7f0a0015 +int string fingerprint_description 0x7f0a0016 +int string fingerprint_hint 0x7f0a0017 +int string fingerprint_not_recognized 0x7f0a0018 +int string fingerprint_ok 0x7f0a0019 +int string fingerprint_success 0x7f0a001a +int string fingerprint_use_backup 0x7f0a001b +int string launcher_name 0x7f0a001c +int string new_fingerprint_enrolled_description 0x7f0a001d +int string secure_lock_screen_required 0x7f0a001e +int string status_bar_notification_info_overflow 0x7f0a001f +int style TextAppearance_Compat_Notification 0x7f0b0000 +int style TextAppearance_Compat_Notification_Info 0x7f0b0001 +int style TextAppearance_Compat_Notification_Info_Media 0x7f0b0002 +int style TextAppearance_Compat_Notification_Line2 0x7f0b0003 +int style TextAppearance_Compat_Notification_Line2_Media 0x7f0b0004 +int style TextAppearance_Compat_Notification_Media 0x7f0b0005 +int style TextAppearance_Compat_Notification_Time 0x7f0b0006 +int style TextAppearance_Compat_Notification_Time_Media 0x7f0b0007 +int style TextAppearance_Compat_Notification_Title 0x7f0b0008 +int style TextAppearance_Compat_Notification_Title_Media 0x7f0b0009 +int style Widget_Compat_NotificationActionContainer 0x7f0b000a +int style Widget_Compat_NotificationActionText 0x7f0b000b +int[] styleable FontFamily { 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009 } +int styleable FontFamily_fontProviderAuthority 0 +int styleable FontFamily_fontProviderCerts 1 +int styleable FontFamily_fontProviderFetchStrategy 2 +int styleable FontFamily_fontProviderFetchTimeout 3 +int styleable FontFamily_fontProviderPackage 4 +int styleable FontFamily_fontProviderQuery 5 +int[] styleable FontFamilyFont { 0x7f010003, 0x7f01000a, 0x7f01000b } +int styleable FontFamilyFont_font 0 +int styleable FontFamilyFont_fontStyle 1 +int styleable FontFamilyFont_fontWeight 2 +int[] styleable LoadingImageView { 0x7f010001, 0x7f01000c, 0x7f01000d } +int styleable LoadingImageView_circleCrop 0 +int styleable LoadingImageView_imageAspectRatio 1 +int styleable LoadingImageView_imageAspectRatioAdjust 2 +int[] styleable SignInButton { 0x7f010000, 0x7f010002, 0x7f01000e } +int styleable SignInButton_buttonSize 0 +int styleable SignInButton_colorScheme 1 +int styleable SignInButton_scopeUris 2 +int xml camera_provider_paths 0x7f0d0000 +int xml config 0x7f0d0001 diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/0.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/0.jar new file mode 100644 index 00000000..ffec0ed2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/0.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/arch/lifecycle/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/arch/lifecycle/R.class new file mode 100644 index 00000000..4a98cf39 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/arch/lifecycle/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$attr.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$attr.class new file mode 100644 index 00000000..996eb5e6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$attr.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$bool.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$bool.class new file mode 100644 index 00000000..a65710b3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$bool.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$color.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$color.class new file mode 100644 index 00000000..29dff549 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$color.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$dimen.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$dimen.class new file mode 100644 index 00000000..681df123 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$dimen.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$drawable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$drawable.class new file mode 100644 index 00000000..38cdf33d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$drawable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$id.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$id.class new file mode 100644 index 00000000..8fd794c7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$id.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$integer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$integer.class new file mode 100644 index 00000000..7d4717e6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$integer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$layout.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$layout.class new file mode 100644 index 00000000..d9187e4e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$layout.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$string.class new file mode 100644 index 00000000..e5f84d11 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$style.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$style.class new file mode 100644 index 00000000..b213b324 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$style.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$styleable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$styleable.class new file mode 100644 index 00000000..cebbbb45 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R$styleable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R.class new file mode 100644 index 00000000..51f1dff7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/compat/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$attr.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$attr.class new file mode 100644 index 00000000..04639b6b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$attr.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$bool.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$bool.class new file mode 100644 index 00000000..3290865e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$bool.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$color.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$color.class new file mode 100644 index 00000000..ee1abd4d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$color.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$dimen.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$dimen.class new file mode 100644 index 00000000..81c5445d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$dimen.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$drawable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$drawable.class new file mode 100644 index 00000000..0edf89f9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$drawable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$id.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$id.class new file mode 100644 index 00000000..ecc1411d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$id.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$integer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$integer.class new file mode 100644 index 00000000..75b5043a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$integer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$layout.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$layout.class new file mode 100644 index 00000000..ad65c452 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$layout.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$string.class new file mode 100644 index 00000000..03c56311 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$style.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$style.class new file mode 100644 index 00000000..a0726d6e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$style.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$styleable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$styleable.class new file mode 100644 index 00000000..b73096a9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R$styleable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R.class new file mode 100644 index 00000000..bc231d7b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreui/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$attr.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$attr.class new file mode 100644 index 00000000..ebe8ab4e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$attr.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$bool.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$bool.class new file mode 100644 index 00000000..b6f24729 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$bool.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$color.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$color.class new file mode 100644 index 00000000..282f2666 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$color.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$dimen.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$dimen.class new file mode 100644 index 00000000..9956b9ac Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$dimen.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$drawable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$drawable.class new file mode 100644 index 00000000..afbe900f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$drawable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$id.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$id.class new file mode 100644 index 00000000..41aab85f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$id.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$integer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$integer.class new file mode 100644 index 00000000..7433e81d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$integer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$layout.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$layout.class new file mode 100644 index 00000000..aa82fe18 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$layout.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$string.class new file mode 100644 index 00000000..d21ef252 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$style.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$style.class new file mode 100644 index 00000000..979abe75 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$style.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$styleable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$styleable.class new file mode 100644 index 00000000..3a48efbe Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R$styleable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R.class new file mode 100644 index 00000000..7905dea9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/coreutils/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$attr.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$attr.class new file mode 100644 index 00000000..51fc6828 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$attr.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$bool.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$bool.class new file mode 100644 index 00000000..da81ab77 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$bool.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$color.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$color.class new file mode 100644 index 00000000..de319083 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$color.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$dimen.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$dimen.class new file mode 100644 index 00000000..c47467ab Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$dimen.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$drawable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$drawable.class new file mode 100644 index 00000000..b26b1b89 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$drawable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$id.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$id.class new file mode 100644 index 00000000..e41016df Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$id.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$integer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$integer.class new file mode 100644 index 00000000..50dce478 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$integer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$layout.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$layout.class new file mode 100644 index 00000000..20464127 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$layout.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$string.class new file mode 100644 index 00000000..6f767c6a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$style.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$style.class new file mode 100644 index 00000000..73e2e4e4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$style.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$styleable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$styleable.class new file mode 100644 index 00000000..47ff543e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R$styleable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R.class new file mode 100644 index 00000000..468fad12 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/fragment/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$attr.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$attr.class new file mode 100644 index 00000000..c9b0c54c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$attr.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$bool.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$bool.class new file mode 100644 index 00000000..8a85f8e1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$bool.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$color.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$color.class new file mode 100644 index 00000000..db925907 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$color.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$dimen.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$dimen.class new file mode 100644 index 00000000..5fd999ec Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$dimen.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$drawable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$drawable.class new file mode 100644 index 00000000..96e864e4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$drawable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$id.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$id.class new file mode 100644 index 00000000..7fa1f1d5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$id.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$integer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$integer.class new file mode 100644 index 00000000..fd4360ed Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$integer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$layout.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$layout.class new file mode 100644 index 00000000..45d10b13 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$layout.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$string.class new file mode 100644 index 00000000..984eb942 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$style.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$style.class new file mode 100644 index 00000000..c69828db Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$style.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$styleable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$styleable.class new file mode 100644 index 00000000..6fa361d3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R$styleable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R.class new file mode 100644 index 00000000..ebd83ed0 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/mediacompat/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$attr.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$attr.class new file mode 100644 index 00000000..b7c405c1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$attr.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$bool.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$bool.class new file mode 100644 index 00000000..b0acb47e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$bool.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$color.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$color.class new file mode 100644 index 00000000..140ded79 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$color.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$dimen.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$dimen.class new file mode 100644 index 00000000..7f361b0f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$dimen.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$drawable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$drawable.class new file mode 100644 index 00000000..da027510 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$drawable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$id.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$id.class new file mode 100644 index 00000000..49b39fc5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$id.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$integer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$integer.class new file mode 100644 index 00000000..772bad65 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$integer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$layout.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$layout.class new file mode 100644 index 00000000..7f8a003e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$layout.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$string.class new file mode 100644 index 00000000..1c0bab72 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$style.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$style.class new file mode 100644 index 00000000..9cc59abc Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$style.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$styleable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$styleable.class new file mode 100644 index 00000000..129400ce Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R$styleable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R.class new file mode 100644 index 00000000..5cebc8a3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/android/support/v4/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions$1.class new file mode 100644 index 00000000..78354546 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions$2.class new file mode 100644 index 00000000..a5ae9312 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions.class new file mode 100644 index 00000000..856c8583 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/android/plugins/Permissions.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$attr.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$attr.class new file mode 100644 index 00000000..372a9378 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$attr.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$color.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$color.class new file mode 100644 index 00000000..480c466e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$color.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$drawable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$drawable.class new file mode 100644 index 00000000..f6b384c5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$drawable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$id.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$id.class new file mode 100644 index 00000000..76d03e14 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$id.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$string.class new file mode 100644 index 00000000..98dcc909 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$styleable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$styleable.class new file mode 100644 index 00000000..73b38028 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R$styleable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R.class new file mode 100644 index 00000000..cb8175b4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/base/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R$integer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R$integer.class new file mode 100644 index 00000000..6e26a893 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R$integer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R$string.class new file mode 100644 index 00000000..7ac51a7f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R.class new file mode 100644 index 00000000..46972ed4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/common/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/location/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/location/R.class new file mode 100644 index 00000000..2ed34e24 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/location/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/places_placereport/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/places_placereport/R.class new file mode 100644 index 00000000..3cec023f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/places_placereport/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/tasks/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/tasks/R.class new file mode 100644 index 00000000..85b88ef5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/google/android/gms/tasks/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/AndroidProtocolHandler.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/AndroidProtocolHandler.class new file mode 100644 index 00000000..76a065c6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/AndroidProtocolHandler.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebView$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebView$1.class new file mode 100644 index 00000000..da8265a7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebView$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebView.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebView.class new file mode 100644 index 00000000..4ee91dd6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebView.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebViewEngine$ServerClient.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebViewEngine$ServerClient.class new file mode 100644 index 00000000..4b39b785 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebViewEngine$ServerClient.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebViewEngine.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebViewEngine.class new file mode 100644 index 00000000..cdacdd74 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/IonicWebViewEngine.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/UriMatcher.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/UriMatcher.class new file mode 100644 index 00000000..f3472e17 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/UriMatcher.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$1.class new file mode 100644 index 00000000..2115e02d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$2.class new file mode 100644 index 00000000..30aea897 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$3.class new file mode 100644 index 00000000..31c65309 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$AssetHostingDetails.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$AssetHostingDetails.class new file mode 100644 index 00000000..f2159900 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$AssetHostingDetails.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$LazyInputStream.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$LazyInputStream.class new file mode 100644 index 00000000..81d7a78a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$LazyInputStream.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$LollipopLazyInputStream.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$LollipopLazyInputStream.class new file mode 100644 index 00000000..75286060 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$LollipopLazyInputStream.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$PathHandler.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$PathHandler.class new file mode 100644 index 00000000..ba937982 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer$PathHandler.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer.class new file mode 100644 index 00000000..5cf45a01 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/ionicframework/cordova/webview/WebViewLocalServer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$1.class new file mode 100644 index 00000000..f4fb7087 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$2.class new file mode 100644 index 00000000..2b6b8fd7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$3.class new file mode 100644 index 00000000..463e9d4f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1.class new file mode 100644 index 00000000..41e42d46 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$2.class new file mode 100644 index 00000000..c7e7bd7a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$3.class new file mode 100644 index 00000000..3a212960 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$4.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$4.class new file mode 100644 index 00000000..43d80bb9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$4.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$5.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$5.class new file mode 100644 index 00000000..1ac49170 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$5.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$6.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$6.class new file mode 100644 index 00000000..d671f24c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$6.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$DateSetListener.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$DateSetListener.class new file mode 100644 index 00000000..97f533d3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$DateSetListener.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$JsonDate.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$JsonDate.class new file mode 100644 index 00000000..b513d78c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$JsonDate.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$TimeSetListener.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$TimeSetListener.class new file mode 100644 index 00000000..d288777d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin$TimeSetListener.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin.class new file mode 100644 index 00000000..c05dc629 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/com/plugin/datepicker/DatePickerPlugin.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/cordova/plugin/RequestLocationAccuracy$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/cordova/plugin/RequestLocationAccuracy$1.class new file mode 100644 index 00000000..e58670ff Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/cordova/plugin/RequestLocationAccuracy$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/cordova/plugin/RequestLocationAccuracy.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/cordova/plugin/RequestLocationAccuracy.class new file mode 100644 index 00000000..9221976d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/cordova/plugin/RequestLocationAccuracy.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/Fingerprint$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/Fingerprint$1.class new file mode 100644 index 00000000..739a1aec Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/Fingerprint$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/Fingerprint.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/Fingerprint.class new file mode 100644 index 00000000..fe68251c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/Fingerprint.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$1.class new file mode 100644 index 00000000..30508686 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$2.class new file mode 100644 index 00000000..633fc142 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$3.class new file mode 100644 index 00000000..56446081 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$Stage.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$Stage.class new file mode 100644 index 00000000..e01735f0 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$Stage.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.class new file mode 100644 index 00000000..83d14c6e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$1.class new file mode 100644 index 00000000..e3321ed1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$2.class new file mode 100644 index 00000000..6991964b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$3.class new file mode 100644 index 00000000..ede06f65 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$Callback.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$Callback.class new file mode 100644 index 00000000..9f8d7e1e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$Callback.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$FingerprintUiHelperBuilder.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$FingerprintUiHelperBuilder.class new file mode 100644 index 00000000..21e4c969 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$FingerprintUiHelperBuilder.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.class new file mode 100644 index 00000000..991e044d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$1.class new file mode 100644 index 00000000..68192e32 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$2.class new file mode 100644 index 00000000..3c62ccab Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$3$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$3$1.class new file mode 100644 index 00000000..5cca1d66 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$3$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$3.class new file mode 100644 index 00000000..faf6a01d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard.class new file mode 100644 index 00000000..83a45732 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/keyboard/IonicKeyboard.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/BuildConfig.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/BuildConfig.class new file mode 100644 index 00000000..2713bda7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/BuildConfig.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/MainActivity.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/MainActivity.class new file mode 100644 index 00000000..d287c3c5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/MainActivity.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$attr.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$attr.class new file mode 100644 index 00000000..0e8f3446 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$attr.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$bool.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$bool.class new file mode 100644 index 00000000..121afd12 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$bool.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$color.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$color.class new file mode 100644 index 00000000..facb92f7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$color.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$dimen.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$dimen.class new file mode 100644 index 00000000..81b2d9d4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$dimen.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$drawable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$drawable.class new file mode 100644 index 00000000..9d6b23d8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$drawable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$id.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$id.class new file mode 100644 index 00000000..605d0a6f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$id.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$integer.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$integer.class new file mode 100644 index 00000000..9dc073fd Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$integer.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$layout.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$layout.class new file mode 100644 index 00000000..611edbb1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$layout.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$mipmap.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$mipmap.class new file mode 100644 index 00000000..7ae7d498 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$mipmap.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$string.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$string.class new file mode 100644 index 00000000..4e1bff3f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$string.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$style.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$style.class new file mode 100644 index 00000000..8d57f153 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$style.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$styleable.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$styleable.class new file mode 100644 index 00000000..2d09d57f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$styleable.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$xml.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$xml.class new file mode 100644 index 00000000..318c16a6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R$xml.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R.class new file mode 100644 index 00000000..23501061 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/ionic/starter/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteAndroidDatabase$QueryType.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteAndroidDatabase$QueryType.class new file mode 100644 index 00000000..0d548921 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteAndroidDatabase$QueryType.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteAndroidDatabase.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteAndroidDatabase.class new file mode 100644 index 00000000..ce69b9b8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteAndroidDatabase.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteConnectorDatabase.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteConnectorDatabase.class new file mode 100644 index 00000000..9ac15da9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLiteConnectorDatabase.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$1.class new file mode 100644 index 00000000..109c0668 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$Action.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$Action.class new file mode 100644 index 00000000..71e64ba2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$Action.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$DBQuery.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$DBQuery.class new file mode 100644 index 00000000..df332b6b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$DBQuery.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$DBRunner.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$DBRunner.class new file mode 100644 index 00000000..65b0c13f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin$DBRunner.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin.class new file mode 100644 index 00000000..28a5e893 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/io/sqlc/SQLitePlugin.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$1.class new file mode 100644 index 00000000..9923dc63 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$2.class new file mode 100644 index 00000000..e2b3b55f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$3.class new file mode 100644 index 00000000..be65174f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1.class new file mode 100644 index 00000000..28b72938 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet.class new file mode 100644 index 00000000..d8b7fa0f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/nl/xservices/plugins/actionsheet/ActionSheet.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/R.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/R.class new file mode 100644 index 00000000..51815ecb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/R.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CameraLauncher$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CameraLauncher$1.class new file mode 100644 index 00000000..beacf31c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CameraLauncher$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CameraLauncher.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CameraLauncher.class new file mode 100644 index 00000000..c6d0ce08 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CameraLauncher.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CordovaUri.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CordovaUri.class new file mode 100644 index 00000000..d4485c40 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/CordovaUri.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/ExifHelper.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/ExifHelper.class new file mode 100644 index 00000000..5e557399 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/ExifHelper.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/FileHelper.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/FileHelper.class new file mode 100644 index 00000000..71aa2e08 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/FileHelper.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/FileProvider.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/FileProvider.class new file mode 100644 index 00000000..4fce4289 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/camera/FileProvider.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/device/Device.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/device/Device.class new file mode 100644 index 00000000..62729e5c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/device/Device.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$1.class new file mode 100644 index 00000000..e4dd0ce2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2$1.class new file mode 100644 index 00000000..6b3b66c4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2$2.class new file mode 100644 index 00000000..26677d08 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2.class new file mode 100644 index 00000000..a682454a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$1.class new file mode 100644 index 00000000..9af9c8e8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$2.class new file mode 100644 index 00000000..661751d1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$3.class new file mode 100644 index 00000000..ba4adb72 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$4.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$4.class new file mode 100644 index 00000000..be6f2537 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3$4.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3.class new file mode 100644 index 00000000..1be488bf Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$1.class new file mode 100644 index 00000000..3fce073b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$2.class new file mode 100644 index 00000000..8388dd25 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$3.class new file mode 100644 index 00000000..cbd1a5d4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$4.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$4.class new file mode 100644 index 00000000..64a3b457 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4$4.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4.class new file mode 100644 index 00000000..4a3ff9b5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$4.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$5$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$5$1.class new file mode 100644 index 00000000..0b38147f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$5$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$5.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$5.class new file mode 100644 index 00000000..20265323 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$5.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$6$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$6$1.class new file mode 100644 index 00000000..c48e4431 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$6$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$6.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$6.class new file mode 100644 index 00000000..ac4d1821 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification$6.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification.class new file mode 100644 index 00000000..5ef80be8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/dialogs/Notification.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/geolocation/Geolocation.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/geolocation/Geolocation.class new file mode 100644 index 00000000..d7d6be59 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/geolocation/Geolocation.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$1.class new file mode 100644 index 00000000..1d3ee9b3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$2.class new file mode 100644 index 00000000..250ace8b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$3.class new file mode 100644 index 00000000..ad735c0f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$4$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$4$1.class new file mode 100644 index 00000000..3f6cf31d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$4$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$4.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$4.class new file mode 100644 index 00000000..8595184a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$4.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$5$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$5$1.class new file mode 100644 index 00000000..3dce9daf Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$5$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$5.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$5.class new file mode 100644 index 00000000..e9b77d08 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$5.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$6$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$6$1.class new file mode 100644 index 00000000..77968e35 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$6$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$6.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$6.class new file mode 100644 index 00000000..fead6715 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$6.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$7.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$7.class new file mode 100644 index 00000000..476b5e88 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen$7.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen.class new file mode 100644 index 00000000..a23628ce Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/splashscreen/SplashScreen.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$1.class new file mode 100644 index 00000000..f18f6bbb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$2.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$2.class new file mode 100644 index 00000000..3b602c8b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$2.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$3.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$3.class new file mode 100644 index 00000000..791c6eb5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$3.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$4.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$4.class new file mode 100644 index 00000000..19b33773 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$4.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$5.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$5.class new file mode 100644 index 00000000..5695a7d9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$5.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$6.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$6.class new file mode 100644 index 00000000..0d9c0b73 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$6.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$7.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$7.class new file mode 100644 index 00000000..0ad9db19 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$7.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$8.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$8.class new file mode 100644 index 00000000..d106c1c7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$8.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$9.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$9.class new file mode 100644 index 00000000..43613a19 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar$9.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar.class new file mode 100644 index 00000000..0c4a5ca6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/statusbar/StatusBar.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin$1.class new file mode 100644 index 00000000..1c4cca9f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.class new file mode 100644 index 00000000..e2a9e674 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin.class new file mode 100644 index 00000000..b47569de Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/org/apache/cordova/whitelist/WhitelistPlugin.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/uk/co/workingedge/phonegap/plugin/LaunchNavigator$1.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/uk/co/workingedge/phonegap/plugin/LaunchNavigator$1.class new file mode 100644 index 00000000..fc8931bb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/uk/co/workingedge/phonegap/plugin/LaunchNavigator$1.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/1/uk/co/workingedge/phonegap/plugin/LaunchNavigator.class b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/uk/co/workingedge/phonegap/plugin/LaunchNavigator.class new file mode 100644 index 00000000..743207f7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/1/uk/co/workingedge/phonegap/plugin/LaunchNavigator.class differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/10.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/10.jar new file mode 100644 index 00000000..ede7f4ee Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/10.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/11.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/11.jar new file mode 100644 index 00000000..2ce891fe Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/11.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/12.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/12.jar new file mode 100644 index 00000000..c58359f5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/12.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/13.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/13.jar new file mode 100644 index 00000000..412afa9c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/13.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/14.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/14.jar new file mode 100644 index 00000000..a68d2b32 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/14.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/15.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/15.jar new file mode 100644 index 00000000..f33fb313 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/15.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/16.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/16.jar new file mode 100644 index 00000000..dc7604c7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/16.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/17.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/17.jar new file mode 100644 index 00000000..493ffb4d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/17.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/18.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/18.jar new file mode 100644 index 00000000..bb929d32 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/18.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/19.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/19.jar new file mode 100644 index 00000000..5970ccf5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/19.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/2.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/2.jar new file mode 100644 index 00000000..15cb0ecb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/2.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/20.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/20.jar new file mode 100644 index 00000000..9ffa6eac Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/20.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/3.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/3.jar new file mode 100644 index 00000000..91cc431f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/3.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/4.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/4.jar new file mode 100644 index 00000000..eaaed759 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/4.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/5.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/5.jar new file mode 100644 index 00000000..7e18174b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/5.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/6.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/6.jar new file mode 100644 index 00000000..3d4c4cd6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/6.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/7.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/7.jar new file mode 100644 index 00000000..e3458fd1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/7.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/8.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/8.jar new file mode 100644 index 00000000..a209b68a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/8.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/9.jar b/platforms/android/app/build/intermediates/transforms/desugar/debug/9.jar new file mode 100644 index 00000000..cdf3d109 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/desugar/debug/9.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/desugar/debug/__content__.json b/platforms/android/app/build/intermediates/transforms/desugar/debug/__content__.json new file mode 100644 index 00000000..38db6646 --- /dev/null +++ b/platforms/android/app/build/intermediates/transforms/desugar/debug/__content__.json @@ -0,0 +1 @@ +[{"name":":CordovaLib","index":0,"scopes":["SUB_PROJECTS"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"64af32cf13149dc860809c9254db3037a3c206db","index":1,"scopes":["PROJECT"],"types":["CLASSES"],"format":"DIRECTORY","present":true},{"name":"android.local.jars:sqlite-native-driver.jar:081d1dd2782ac11785d1312d827b96c6c4690d42","index":2,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"android.local.jars:sqlite-connector.jar:de9f1de9780a62db2ed8a0f0daf5123da78e529d","index":3,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-location:15.0.1","index":4,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-base:15.0.1","index":5,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-places-placereport:15.0.1","index":6,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-tasks:15.0.1","index":7,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-basement:15.0.1","index":8,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-v4:26.1.0","index":9,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-media-compat:26.1.0","index":10,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-fragment:26.1.0","index":11,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-core-utils:26.1.0","index":12,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-core-ui:26.1.0","index":13,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-compat:26.1.0","index":14,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-annotations:27.1.1","index":15,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.squareup.okhttp3:okhttp:3.13.1","index":16,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.squareup.okio:okio:1.17.2","index":17,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:runtime:1.0.0","index":18,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:common:1.0.0","index":19,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"android.arch.core:common:1.0.0","index":20,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/arch/lifecycle/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/arch/lifecycle/R.dex new file mode 100644 index 00000000..cfc660b2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/arch/lifecycle/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$attr.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$attr.dex new file mode 100644 index 00000000..362d82b1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$attr.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$bool.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$bool.dex new file mode 100644 index 00000000..c118a0b8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$bool.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$color.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$color.dex new file mode 100644 index 00000000..8004a18a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$color.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$dimen.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$dimen.dex new file mode 100644 index 00000000..8b1447ef Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$dimen.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$drawable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$drawable.dex new file mode 100644 index 00000000..9c529030 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$drawable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$id.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$id.dex new file mode 100644 index 00000000..fc68441a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$id.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$integer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$integer.dex new file mode 100644 index 00000000..13f11a18 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$integer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$layout.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$layout.dex new file mode 100644 index 00000000..8887d0ea Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$layout.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$string.dex new file mode 100644 index 00000000..45d181e2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$style.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$style.dex new file mode 100644 index 00000000..186aa894 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$style.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$styleable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$styleable.dex new file mode 100644 index 00000000..77f51ae4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R$styleable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R.dex new file mode 100644 index 00000000..c7b10c3c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/compat/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$attr.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$attr.dex new file mode 100644 index 00000000..a0d63b95 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$attr.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$bool.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$bool.dex new file mode 100644 index 00000000..dc8ad949 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$bool.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$color.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$color.dex new file mode 100644 index 00000000..084662b1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$color.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$dimen.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$dimen.dex new file mode 100644 index 00000000..9561dd49 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$dimen.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$drawable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$drawable.dex new file mode 100644 index 00000000..10fbafad Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$drawable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$id.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$id.dex new file mode 100644 index 00000000..4f00341a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$id.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$integer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$integer.dex new file mode 100644 index 00000000..e3cce562 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$integer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$layout.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$layout.dex new file mode 100644 index 00000000..5dab6206 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$layout.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$string.dex new file mode 100644 index 00000000..a0948f6a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$style.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$style.dex new file mode 100644 index 00000000..696ed5b7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$style.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$styleable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$styleable.dex new file mode 100644 index 00000000..67013dee Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R$styleable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R.dex new file mode 100644 index 00000000..dc595a45 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreui/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$attr.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$attr.dex new file mode 100644 index 00000000..52d06905 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$attr.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$bool.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$bool.dex new file mode 100644 index 00000000..4986ada1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$bool.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$color.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$color.dex new file mode 100644 index 00000000..ef55f475 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$color.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$dimen.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$dimen.dex new file mode 100644 index 00000000..b2425461 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$dimen.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$drawable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$drawable.dex new file mode 100644 index 00000000..368bba74 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$drawable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$id.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$id.dex new file mode 100644 index 00000000..c9447728 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$id.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$integer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$integer.dex new file mode 100644 index 00000000..a7c0d6d9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$integer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$layout.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$layout.dex new file mode 100644 index 00000000..6957903a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$layout.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$string.dex new file mode 100644 index 00000000..4a17ced9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$style.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$style.dex new file mode 100644 index 00000000..dafc397d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$style.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$styleable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$styleable.dex new file mode 100644 index 00000000..b73b89be Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R$styleable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R.dex new file mode 100644 index 00000000..9772bb2e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/coreutils/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$attr.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$attr.dex new file mode 100644 index 00000000..4c5a3073 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$attr.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$bool.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$bool.dex new file mode 100644 index 00000000..892fb89b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$bool.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$color.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$color.dex new file mode 100644 index 00000000..f865c01b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$color.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$dimen.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$dimen.dex new file mode 100644 index 00000000..3b4038aa Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$dimen.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$drawable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$drawable.dex new file mode 100644 index 00000000..0f7bb56b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$drawable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$id.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$id.dex new file mode 100644 index 00000000..70163e88 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$id.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$integer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$integer.dex new file mode 100644 index 00000000..cb4fb903 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$integer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$layout.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$layout.dex new file mode 100644 index 00000000..c1711cb3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$layout.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$string.dex new file mode 100644 index 00000000..6332af7b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$style.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$style.dex new file mode 100644 index 00000000..46aab521 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$style.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$styleable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$styleable.dex new file mode 100644 index 00000000..8ef12510 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R$styleable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R.dex new file mode 100644 index 00000000..e0686d49 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/fragment/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$attr.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$attr.dex new file mode 100644 index 00000000..a0bccba4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$attr.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$bool.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$bool.dex new file mode 100644 index 00000000..774d8375 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$bool.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$color.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$color.dex new file mode 100644 index 00000000..41db3c28 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$color.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$dimen.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$dimen.dex new file mode 100644 index 00000000..f631e190 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$dimen.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$drawable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$drawable.dex new file mode 100644 index 00000000..96dce8be Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$drawable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$id.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$id.dex new file mode 100644 index 00000000..c9bd745d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$id.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$integer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$integer.dex new file mode 100644 index 00000000..da9b79b2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$integer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$layout.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$layout.dex new file mode 100644 index 00000000..024ab842 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$layout.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$string.dex new file mode 100644 index 00000000..d6e1376f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$style.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$style.dex new file mode 100644 index 00000000..a91736be Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$style.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$styleable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$styleable.dex new file mode 100644 index 00000000..b12faf64 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R$styleable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R.dex new file mode 100644 index 00000000..aef4b379 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/mediacompat/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$attr.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$attr.dex new file mode 100644 index 00000000..a1a0dbd3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$attr.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$bool.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$bool.dex new file mode 100644 index 00000000..3580a83f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$bool.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$color.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$color.dex new file mode 100644 index 00000000..ad8f29af Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$color.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$dimen.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$dimen.dex new file mode 100644 index 00000000..adfb1706 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$dimen.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$drawable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$drawable.dex new file mode 100644 index 00000000..aa02c4c6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$drawable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$id.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$id.dex new file mode 100644 index 00000000..2ef7df4c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$id.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$integer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$integer.dex new file mode 100644 index 00000000..5c9f3c41 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$integer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$layout.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$layout.dex new file mode 100644 index 00000000..69250267 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$layout.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$string.dex new file mode 100644 index 00000000..b8d6a39c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$style.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$style.dex new file mode 100644 index 00000000..f9957804 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$style.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$styleable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$styleable.dex new file mode 100644 index 00000000..921f6386 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R$styleable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R.dex new file mode 100644 index 00000000..7df6c3ba Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/android/support/v4/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions$1.dex new file mode 100644 index 00000000..3aa6a570 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions$2.dex new file mode 100644 index 00000000..941df93f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions.dex new file mode 100644 index 00000000..67a9bed3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/android/plugins/Permissions.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$attr.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$attr.dex new file mode 100644 index 00000000..198bba65 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$attr.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$color.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$color.dex new file mode 100644 index 00000000..a8a92a6d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$color.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$drawable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$drawable.dex new file mode 100644 index 00000000..8248a5e7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$drawable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$id.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$id.dex new file mode 100644 index 00000000..f4f98f97 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$id.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$string.dex new file mode 100644 index 00000000..1742ca6a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$styleable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$styleable.dex new file mode 100644 index 00000000..4564f5ae Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R$styleable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R.dex new file mode 100644 index 00000000..daca0496 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/base/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R$integer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R$integer.dex new file mode 100644 index 00000000..17e897f3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R$integer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R$string.dex new file mode 100644 index 00000000..3364864b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R.dex new file mode 100644 index 00000000..3b26a0c5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/common/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/location/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/location/R.dex new file mode 100644 index 00000000..6071421e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/location/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/places_placereport/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/places_placereport/R.dex new file mode 100644 index 00000000..c2c6581a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/places_placereport/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/tasks/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/tasks/R.dex new file mode 100644 index 00000000..9e7d5c68 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/google/android/gms/tasks/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/AndroidProtocolHandler.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/AndroidProtocolHandler.dex new file mode 100644 index 00000000..a2a1ae9f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/AndroidProtocolHandler.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebView$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebView$1.dex new file mode 100644 index 00000000..013e20c1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebView$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebView.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebView.dex new file mode 100644 index 00000000..cd3e55a5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebView.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebViewEngine$ServerClient.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebViewEngine$ServerClient.dex new file mode 100644 index 00000000..e823648a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebViewEngine$ServerClient.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebViewEngine.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebViewEngine.dex new file mode 100644 index 00000000..c073c137 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/IonicWebViewEngine.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/UriMatcher.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/UriMatcher.dex new file mode 100644 index 00000000..8763112a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/UriMatcher.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$1.dex new file mode 100644 index 00000000..4aab75a0 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$2.dex new file mode 100644 index 00000000..ee5ace11 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$3.dex new file mode 100644 index 00000000..87fcce4a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$AssetHostingDetails.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$AssetHostingDetails.dex new file mode 100644 index 00000000..87223069 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$AssetHostingDetails.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$LazyInputStream.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$LazyInputStream.dex new file mode 100644 index 00000000..09b84a5b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$LazyInputStream.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$LollipopLazyInputStream.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$LollipopLazyInputStream.dex new file mode 100644 index 00000000..469dcccb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$LollipopLazyInputStream.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$PathHandler.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$PathHandler.dex new file mode 100644 index 00000000..3c6ca1d6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer$PathHandler.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer.dex new file mode 100644 index 00000000..965ec5b1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/ionicframework/cordova/webview/WebViewLocalServer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$1.dex new file mode 100644 index 00000000..c799d57d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$2.dex new file mode 100644 index 00000000..38eefe48 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$3.dex new file mode 100644 index 00000000..5e9c897f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1.dex new file mode 100644 index 00000000..a44911fc Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$2.dex new file mode 100644 index 00000000..1f6341ff Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$3.dex new file mode 100644 index 00000000..a224bdec Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$4.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$4.dex new file mode 100644 index 00000000..bc25474d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$4.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$5.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$5.dex new file mode 100644 index 00000000..ae3939c6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$5.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$6.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$6.dex new file mode 100644 index 00000000..b4c49e40 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$6.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$DateSetListener.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$DateSetListener.dex new file mode 100644 index 00000000..3dda1549 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$DateSetListener.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$JsonDate.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$JsonDate.dex new file mode 100644 index 00000000..61174063 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$JsonDate.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$TimeSetListener.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$TimeSetListener.dex new file mode 100644 index 00000000..011f917b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin$TimeSetListener.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin.dex new file mode 100644 index 00000000..3cf11fdd Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/com/plugin/datepicker/DatePickerPlugin.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/cordova/plugin/RequestLocationAccuracy$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/cordova/plugin/RequestLocationAccuracy$1.dex new file mode 100644 index 00000000..f1676d41 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/cordova/plugin/RequestLocationAccuracy$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/cordova/plugin/RequestLocationAccuracy.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/cordova/plugin/RequestLocationAccuracy.dex new file mode 100644 index 00000000..4fac547d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/cordova/plugin/RequestLocationAccuracy.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/Fingerprint$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/Fingerprint$1.dex new file mode 100644 index 00000000..63d5275b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/Fingerprint$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/Fingerprint.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/Fingerprint.dex new file mode 100644 index 00000000..4c20face Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/Fingerprint.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$1.dex new file mode 100644 index 00000000..7592cfc3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$2.dex new file mode 100644 index 00000000..16d55190 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$3.dex new file mode 100644 index 00000000..7a74379e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$Stage.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$Stage.dex new file mode 100644 index 00000000..f3296451 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment$Stage.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.dex new file mode 100644 index 00000000..dc7dc4f1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$1.dex new file mode 100644 index 00000000..47a9d299 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$2.dex new file mode 100644 index 00000000..5bf6ade5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$3.dex new file mode 100644 index 00000000..5ef9cf48 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$Callback.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$Callback.dex new file mode 100644 index 00000000..07503493 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$Callback.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$FingerprintUiHelperBuilder.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$FingerprintUiHelperBuilder.dex new file mode 100644 index 00000000..e19a55b0 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper$FingerprintUiHelperBuilder.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.dex new file mode 100644 index 00000000..c5244bea Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$1.dex new file mode 100644 index 00000000..e08e20ef Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$2.dex new file mode 100644 index 00000000..fa74e5f2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$3$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$3$1.dex new file mode 100644 index 00000000..6feee232 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$3$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$3.dex new file mode 100644 index 00000000..6a62986a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard.dex new file mode 100644 index 00000000..db0b5a7c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/keyboard/IonicKeyboard.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/BuildConfig.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/BuildConfig.dex new file mode 100644 index 00000000..dcf59683 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/BuildConfig.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/MainActivity.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/MainActivity.dex new file mode 100644 index 00000000..ad6e8949 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/MainActivity.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$attr.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$attr.dex new file mode 100644 index 00000000..641875fa Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$attr.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$bool.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$bool.dex new file mode 100644 index 00000000..e29877bf Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$bool.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$color.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$color.dex new file mode 100644 index 00000000..8c849a1e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$color.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$dimen.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$dimen.dex new file mode 100644 index 00000000..22bcc3c3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$dimen.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$drawable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$drawable.dex new file mode 100644 index 00000000..fa573fe2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$drawable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$id.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$id.dex new file mode 100644 index 00000000..30a12f7d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$id.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$integer.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$integer.dex new file mode 100644 index 00000000..ed4c3a5c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$integer.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$layout.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$layout.dex new file mode 100644 index 00000000..a65296ec Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$layout.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$mipmap.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$mipmap.dex new file mode 100644 index 00000000..73e8e12b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$mipmap.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$string.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$string.dex new file mode 100644 index 00000000..6f4bf419 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$string.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$style.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$style.dex new file mode 100644 index 00000000..cececee9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$style.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$styleable.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$styleable.dex new file mode 100644 index 00000000..16f5433b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$styleable.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$xml.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$xml.dex new file mode 100644 index 00000000..5c534829 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R$xml.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R.dex new file mode 100644 index 00000000..2a710f39 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/ionic/starter/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteAndroidDatabase$QueryType.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteAndroidDatabase$QueryType.dex new file mode 100644 index 00000000..463a2449 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteAndroidDatabase$QueryType.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteAndroidDatabase.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteAndroidDatabase.dex new file mode 100644 index 00000000..82999241 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteAndroidDatabase.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteConnectorDatabase.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteConnectorDatabase.dex new file mode 100644 index 00000000..d604d18c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLiteConnectorDatabase.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$1.dex new file mode 100644 index 00000000..265686e6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$Action.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$Action.dex new file mode 100644 index 00000000..4e48a38c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$Action.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$DBQuery.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$DBQuery.dex new file mode 100644 index 00000000..1eded71d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$DBQuery.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$DBRunner.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$DBRunner.dex new file mode 100644 index 00000000..cf255666 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin$DBRunner.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin.dex new file mode 100644 index 00000000..353d0ace Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/io/sqlc/SQLitePlugin.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$1.dex new file mode 100644 index 00000000..9ffcdece Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$2.dex new file mode 100644 index 00000000..07d075a2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$3.dex new file mode 100644 index 00000000..6de0ed39 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1.dex new file mode 100644 index 00000000..33259396 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet.dex new file mode 100644 index 00000000..aa61d377 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/nl/xservices/plugins/actionsheet/ActionSheet.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/R.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/R.dex new file mode 100644 index 00000000..586c3512 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/R.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CameraLauncher$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CameraLauncher$1.dex new file mode 100644 index 00000000..5355ee6d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CameraLauncher$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CameraLauncher.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CameraLauncher.dex new file mode 100644 index 00000000..48cd0671 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CameraLauncher.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CordovaUri.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CordovaUri.dex new file mode 100644 index 00000000..8dfa2771 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/CordovaUri.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/ExifHelper.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/ExifHelper.dex new file mode 100644 index 00000000..b4de2215 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/ExifHelper.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/FileHelper.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/FileHelper.dex new file mode 100644 index 00000000..c4bcbcc8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/FileHelper.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/FileProvider.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/FileProvider.dex new file mode 100644 index 00000000..f50ccb42 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/camera/FileProvider.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/device/Device.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/device/Device.dex new file mode 100644 index 00000000..01d95203 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/device/Device.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$1.dex new file mode 100644 index 00000000..6bc0e457 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2$1.dex new file mode 100644 index 00000000..30c5ef06 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2$2.dex new file mode 100644 index 00000000..a7c435e8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2.dex new file mode 100644 index 00000000..8737e6a5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$1.dex new file mode 100644 index 00000000..b7371a34 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$2.dex new file mode 100644 index 00000000..b2dc13eb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$3.dex new file mode 100644 index 00000000..73b0bc71 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$4.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$4.dex new file mode 100644 index 00000000..58ce4e98 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3$4.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3.dex new file mode 100644 index 00000000..ae0c2371 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$1.dex new file mode 100644 index 00000000..1b1456db Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$2.dex new file mode 100644 index 00000000..bd2c974f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$3.dex new file mode 100644 index 00000000..df9a133f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$4.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$4.dex new file mode 100644 index 00000000..9fdd27a5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4$4.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4.dex new file mode 100644 index 00000000..1db7bbc6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$4.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$5$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$5$1.dex new file mode 100644 index 00000000..f922ee51 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$5$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$5.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$5.dex new file mode 100644 index 00000000..2c426874 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$5.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$6$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$6$1.dex new file mode 100644 index 00000000..31a9df94 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$6$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$6.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$6.dex new file mode 100644 index 00000000..c99af8d9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification$6.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification.dex new file mode 100644 index 00000000..6248eab5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/dialogs/Notification.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/geolocation/Geolocation.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/geolocation/Geolocation.dex new file mode 100644 index 00000000..f17a8e52 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/geolocation/Geolocation.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$1.dex new file mode 100644 index 00000000..51d9c650 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$2.dex new file mode 100644 index 00000000..2f8a0202 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$3.dex new file mode 100644 index 00000000..935a4ab3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$4$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$4$1.dex new file mode 100644 index 00000000..d5599ef9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$4$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$4.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$4.dex new file mode 100644 index 00000000..c6625738 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$4.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$5$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$5$1.dex new file mode 100644 index 00000000..5dd9c8dc Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$5$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$5.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$5.dex new file mode 100644 index 00000000..afbbd760 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$5.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$6$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$6$1.dex new file mode 100644 index 00000000..2015027b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$6$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$6.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$6.dex new file mode 100644 index 00000000..ee703c6d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$6.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$7.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$7.dex new file mode 100644 index 00000000..c87af6a4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen$7.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen.dex new file mode 100644 index 00000000..8d019c6c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/splashscreen/SplashScreen.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$1.dex new file mode 100644 index 00000000..48a4f239 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$2.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$2.dex new file mode 100644 index 00000000..4f139f32 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$2.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$3.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$3.dex new file mode 100644 index 00000000..277c2265 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$3.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$4.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$4.dex new file mode 100644 index 00000000..053e4f8c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$4.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$5.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$5.dex new file mode 100644 index 00000000..fd626dd3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$5.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$6.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$6.dex new file mode 100644 index 00000000..ffcab3b9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$6.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$7.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$7.dex new file mode 100644 index 00000000..56c6072c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$7.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$8.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$8.dex new file mode 100644 index 00000000..fa7d4a64 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$8.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$9.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$9.dex new file mode 100644 index 00000000..3ef28527 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar$9.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar.dex new file mode 100644 index 00000000..d3b29818 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/statusbar/StatusBar.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin$1.dex new file mode 100644 index 00000000..0f1f33ad Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.dex new file mode 100644 index 00000000..3f4c6ee2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin$CustomConfigXmlParser.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin.dex new file mode 100644 index 00000000..08c8c40f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/org/apache/cordova/whitelist/WhitelistPlugin.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/uk/co/workingedge/phonegap/plugin/LaunchNavigator$1.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/uk/co/workingedge/phonegap/plugin/LaunchNavigator$1.dex new file mode 100644 index 00000000..ce238fa4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/uk/co/workingedge/phonegap/plugin/LaunchNavigator$1.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/uk/co/workingedge/phonegap/plugin/LaunchNavigator.dex b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/uk/co/workingedge/phonegap/plugin/LaunchNavigator.dex new file mode 100644 index 00000000..311649cb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/0/uk/co/workingedge/phonegap/plugin/LaunchNavigator.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/1.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/1.jar new file mode 100644 index 00000000..8b6fc2e5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/1.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/100.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/100.jar new file mode 100644 index 00000000..632fbb3f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/100.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/11.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/11.jar new file mode 100644 index 00000000..436b37a8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/11.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/12.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/12.jar new file mode 100644 index 00000000..56272268 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/12.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/13.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/13.jar new file mode 100644 index 00000000..5062c5bc Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/13.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/14.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/14.jar new file mode 100644 index 00000000..6e59a98a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/14.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/15.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/15.jar new file mode 100644 index 00000000..013d8b81 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/15.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/16.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/16.jar new file mode 100644 index 00000000..03f82f35 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/16.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/17.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/17.jar new file mode 100644 index 00000000..1f2376b0 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/17.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/18.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/18.jar new file mode 100644 index 00000000..aeb435a5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/18.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/19.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/19.jar new file mode 100644 index 00000000..f5cfa4a5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/19.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/2.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/2.jar new file mode 100644 index 00000000..607873e4 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/2.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/20.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/20.jar new file mode 100644 index 00000000..32443f7d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/20.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/21.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/21.jar new file mode 100644 index 00000000..df9df3cc Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/21.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/22.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/22.jar new file mode 100644 index 00000000..714eeb1d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/22.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/23.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/23.jar new file mode 100644 index 00000000..ea3aca99 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/23.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/24.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/24.jar new file mode 100644 index 00000000..081d8297 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/24.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/25.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/25.jar new file mode 100644 index 00000000..07af62d2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/25.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/27.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/27.jar new file mode 100644 index 00000000..083a568a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/27.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/29.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/29.jar new file mode 100644 index 00000000..d87dec0f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/29.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/3.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/3.jar new file mode 100644 index 00000000..c7ea54b0 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/3.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/31.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/31.jar new file mode 100644 index 00000000..5f464186 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/31.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/32.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/32.jar new file mode 100644 index 00000000..c185222c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/32.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/33.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/33.jar new file mode 100644 index 00000000..b5b7831a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/33.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/34.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/34.jar new file mode 100644 index 00000000..2130d89a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/34.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/35.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/35.jar new file mode 100644 index 00000000..4a986ef5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/35.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/36.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/36.jar new file mode 100644 index 00000000..0f7f3226 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/36.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/37.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/37.jar new file mode 100644 index 00000000..5882c406 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/37.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/38.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/38.jar new file mode 100644 index 00000000..e2443e50 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/38.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/39.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/39.jar new file mode 100644 index 00000000..51c8a436 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/39.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/4.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/4.jar new file mode 100644 index 00000000..002d65d1 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/4.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/40.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/40.jar new file mode 100644 index 00000000..a426bc0b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/40.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/42.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/42.jar new file mode 100644 index 00000000..efb901cf Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/42.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/46.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/46.jar new file mode 100644 index 00000000..11956c2a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/46.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/47.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/47.jar new file mode 100644 index 00000000..e7e28161 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/47.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/48.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/48.jar new file mode 100644 index 00000000..591fcc25 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/48.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/49.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/49.jar new file mode 100644 index 00000000..5aaa8925 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/49.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/5.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/5.jar new file mode 100644 index 00000000..fabd17b3 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/5.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/50.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/50.jar new file mode 100644 index 00000000..7e844523 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/50.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/51.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/51.jar new file mode 100644 index 00000000..7a8f43fd Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/51.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/52.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/52.jar new file mode 100644 index 00000000..1998e5cb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/52.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/53.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/53.jar new file mode 100644 index 00000000..36096d1f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/53.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/54.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/54.jar new file mode 100644 index 00000000..d4c01cd0 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/54.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/55.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/55.jar new file mode 100644 index 00000000..511fb8eb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/55.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/56.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/56.jar new file mode 100644 index 00000000..e90464df Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/56.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/57.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/57.jar new file mode 100644 index 00000000..70b0315a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/57.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/58.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/58.jar new file mode 100644 index 00000000..06b1df71 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/58.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/59.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/59.jar new file mode 100644 index 00000000..aa0b326c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/59.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/60.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/60.jar new file mode 100644 index 00000000..e2809899 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/60.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/61.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/61.jar new file mode 100644 index 00000000..1f1779e5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/61.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/62.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/62.jar new file mode 100644 index 00000000..6114a1ef Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/62.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/63.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/63.jar new file mode 100644 index 00000000..2e0f292e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/63.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/64.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/64.jar new file mode 100644 index 00000000..f27105e5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/64.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/65.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/65.jar new file mode 100644 index 00000000..edc663ed Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/65.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/66.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/66.jar new file mode 100644 index 00000000..3ec101d6 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/66.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/67.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/67.jar new file mode 100644 index 00000000..00dd72d9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/67.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/68.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/68.jar new file mode 100644 index 00000000..672bf1f2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/68.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/69.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/69.jar new file mode 100644 index 00000000..be5f0429 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/69.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/70.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/70.jar new file mode 100644 index 00000000..44de817a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/70.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/71.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/71.jar new file mode 100644 index 00000000..2e5bc1db Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/71.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/72.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/72.jar new file mode 100644 index 00000000..e4c417bd Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/72.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/73.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/73.jar new file mode 100644 index 00000000..d535173f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/73.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/74.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/74.jar new file mode 100644 index 00000000..5addcab5 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/74.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/75.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/75.jar new file mode 100644 index 00000000..23e49c20 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/75.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/76.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/76.jar new file mode 100644 index 00000000..3150e8dc Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/76.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/77.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/77.jar new file mode 100644 index 00000000..47afc24c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/77.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/78.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/78.jar new file mode 100644 index 00000000..5d99edd8 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/78.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/79.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/79.jar new file mode 100644 index 00000000..c114588a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/79.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/80.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/80.jar new file mode 100644 index 00000000..3b58b260 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/80.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/81.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/81.jar new file mode 100644 index 00000000..dfaa1876 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/81.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/82.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/82.jar new file mode 100644 index 00000000..a0b92bd0 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/82.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/83.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/83.jar new file mode 100644 index 00000000..13f65658 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/83.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/84.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/84.jar new file mode 100644 index 00000000..0764a8d9 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/84.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/85.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/85.jar new file mode 100644 index 00000000..953a5780 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/85.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/86.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/86.jar new file mode 100644 index 00000000..9edea341 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/86.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/87.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/87.jar new file mode 100644 index 00000000..602d8504 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/87.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/88.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/88.jar new file mode 100644 index 00000000..e44b100a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/88.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/89.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/89.jar new file mode 100644 index 00000000..8418a61e Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/89.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/90.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/90.jar new file mode 100644 index 00000000..bb634a63 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/90.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/91.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/91.jar new file mode 100644 index 00000000..8ab9e302 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/91.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/92.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/92.jar new file mode 100644 index 00000000..79139465 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/92.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/93.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/93.jar new file mode 100644 index 00000000..02bb8f1d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/93.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/94.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/94.jar new file mode 100644 index 00000000..e0324feb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/94.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/95.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/95.jar new file mode 100644 index 00000000..c452053b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/95.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/97.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/97.jar new file mode 100644 index 00000000..3496e2bf Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/97.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/98.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/98.jar new file mode 100644 index 00000000..5a572799 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/98.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/99.jar b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/99.jar new file mode 100644 index 00000000..8713295f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/99.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/__content__.json b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/__content__.json new file mode 100644 index 00000000..69437c6c --- /dev/null +++ b/platforms/android/app/build/intermediates/transforms/dexBuilder/debug/__content__.json @@ -0,0 +1 @@ +[{"name":"64af32cf13149dc860809c9254db3037a3c206db","index":0,"scopes":["PROJECT"],"types":["DEX_ARCHIVE"],"format":"DIRECTORY","present":true},{"name":":CordovaLib-0","index":1,"scopes":["SUB_PROJECTS"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":":CordovaLib-1","index":2,"scopes":["SUB_PROJECTS"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":":CordovaLib-2","index":3,"scopes":["SUB_PROJECTS"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":":CordovaLib-3","index":4,"scopes":["SUB_PROJECTS"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":":CordovaLib-4","index":5,"scopes":["SUB_PROJECTS"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.local.jars:sqlite-native-driver.jar:081d1dd2782ac11785d1312d827b96c6c4690d42-0","index":6,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"android.local.jars:sqlite-native-driver.jar:081d1dd2782ac11785d1312d827b96c6c4690d42-1","index":7,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"android.local.jars:sqlite-native-driver.jar:081d1dd2782ac11785d1312d827b96c6c4690d42-2","index":8,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"android.local.jars:sqlite-native-driver.jar:081d1dd2782ac11785d1312d827b96c6c4690d42-3","index":9,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"android.local.jars:sqlite-native-driver.jar:081d1dd2782ac11785d1312d827b96c6c4690d42-4","index":10,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"android.local.jars:sqlite-connector.jar:de9f1de9780a62db2ed8a0f0daf5123da78e529d-0","index":11,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.local.jars:sqlite-connector.jar:de9f1de9780a62db2ed8a0f0daf5123da78e529d-1","index":12,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.local.jars:sqlite-connector.jar:de9f1de9780a62db2ed8a0f0daf5123da78e529d-2","index":13,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.local.jars:sqlite-connector.jar:de9f1de9780a62db2ed8a0f0daf5123da78e529d-3","index":14,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.local.jars:sqlite-connector.jar:de9f1de9780a62db2ed8a0f0daf5123da78e529d-4","index":15,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-location:15.0.1-0","index":16,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-location:15.0.1-1","index":17,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-location:15.0.1-2","index":18,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-location:15.0.1-3","index":19,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-location:15.0.1-4","index":20,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-base:15.0.1-0","index":21,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-base:15.0.1-1","index":22,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-base:15.0.1-2","index":23,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-base:15.0.1-3","index":24,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-base:15.0.1-4","index":25,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-places-placereport:15.0.1-0","index":26,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"com.google.android.gms:play-services-places-placereport:15.0.1-1","index":27,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-places-placereport:15.0.1-2","index":28,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"com.google.android.gms:play-services-places-placereport:15.0.1-3","index":29,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-places-placereport:15.0.1-4","index":30,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"com.google.android.gms:play-services-tasks:15.0.1-0","index":31,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-tasks:15.0.1-1","index":32,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-tasks:15.0.1-2","index":33,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-tasks:15.0.1-3","index":34,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-tasks:15.0.1-4","index":35,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-basement:15.0.1-0","index":36,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-basement:15.0.1-1","index":37,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-basement:15.0.1-2","index":38,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-basement:15.0.1-3","index":39,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-basement:15.0.1-4","index":40,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-v4:26.1.0-0","index":41,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"com.android.support:support-v4:26.1.0-1","index":42,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-v4:26.1.0-2","index":43,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"com.android.support:support-v4:26.1.0-3","index":44,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"com.android.support:support-v4:26.1.0-4","index":45,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"com.android.support:support-media-compat:26.1.0-0","index":46,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-media-compat:26.1.0-1","index":47,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-media-compat:26.1.0-2","index":48,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-media-compat:26.1.0-3","index":49,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-media-compat:26.1.0-4","index":50,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-fragment:26.1.0-0","index":51,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-fragment:26.1.0-1","index":52,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-fragment:26.1.0-2","index":53,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-fragment:26.1.0-3","index":54,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-fragment:26.1.0-4","index":55,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-utils:26.1.0-0","index":56,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-utils:26.1.0-1","index":57,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-utils:26.1.0-2","index":58,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-utils:26.1.0-3","index":59,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-utils:26.1.0-4","index":60,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-ui:26.1.0-0","index":61,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-ui:26.1.0-1","index":62,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-ui:26.1.0-2","index":63,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-ui:26.1.0-3","index":64,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-core-ui:26.1.0-4","index":65,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-compat:26.1.0-0","index":66,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-compat:26.1.0-1","index":67,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-compat:26.1.0-2","index":68,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-compat:26.1.0-3","index":69,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-compat:26.1.0-4","index":70,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-annotations:27.1.1-0","index":71,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-annotations:27.1.1-1","index":72,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-annotations:27.1.1-2","index":73,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-annotations:27.1.1-3","index":74,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.android.support:support-annotations:27.1.1-4","index":75,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okhttp3:okhttp:3.13.1-0","index":76,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okhttp3:okhttp:3.13.1-1","index":77,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okhttp3:okhttp:3.13.1-2","index":78,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okhttp3:okhttp:3.13.1-3","index":79,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okhttp3:okhttp:3.13.1-4","index":80,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okio:okio:1.17.2-0","index":81,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okio:okio:1.17.2-1","index":82,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okio:okio:1.17.2-2","index":83,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okio:okio:1.17.2-3","index":84,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"com.squareup.okio:okio:1.17.2-4","index":85,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:runtime:1.0.0-0","index":86,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:runtime:1.0.0-1","index":87,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:runtime:1.0.0-2","index":88,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:runtime:1.0.0-3","index":89,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:runtime:1.0.0-4","index":90,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:common:1.0.0-0","index":91,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:common:1.0.0-1","index":92,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:common:1.0.0-2","index":93,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:common:1.0.0-3","index":94,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:common:1.0.0-4","index":95,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.core:common:1.0.0-0","index":96,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":false},{"name":"android.arch.core:common:1.0.0-1","index":97,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.core:common:1.0.0-2","index":98,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.core:common:1.0.0-3","index":99,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true},{"name":"android.arch.core:common:1.0.0-4","index":100,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"JAR","present":true}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/transforms/dexMerger/debug/0/classes.dex b/platforms/android/app/build/intermediates/transforms/dexMerger/debug/0/classes.dex new file mode 100644 index 00000000..e06920fc Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/dexMerger/debug/0/classes.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/dexMerger/debug/__content__.json b/platforms/android/app/build/intermediates/transforms/dexMerger/debug/__content__.json new file mode 100644 index 00000000..707d80ce --- /dev/null +++ b/platforms/android/app/build/intermediates/transforms/dexMerger/debug/__content__.json @@ -0,0 +1 @@ +[{"name":"main","index":0,"scopes":["PROJECT","SUB_PROJECTS","EXTERNAL_LIBRARIES"],"types":["DEX"],"format":"DIRECTORY","present":true}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/transforms/externalLibsDexMerger/debug/0/classes.dex b/platforms/android/app/build/intermediates/transforms/externalLibsDexMerger/debug/0/classes.dex new file mode 100644 index 00000000..fee9f439 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/externalLibsDexMerger/debug/0/classes.dex differ diff --git a/platforms/android/app/build/intermediates/transforms/externalLibsDexMerger/debug/__content__.json b/platforms/android/app/build/intermediates/transforms/externalLibsDexMerger/debug/__content__.json new file mode 100644 index 00000000..30a17cd4 --- /dev/null +++ b/platforms/android/app/build/intermediates/transforms/externalLibsDexMerger/debug/__content__.json @@ -0,0 +1 @@ +[{"name":"main","index":0,"scopes":["EXTERNAL_LIBRARIES"],"types":["DEX_ARCHIVE"],"format":"DIRECTORY","present":true}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/transforms/mergeJavaRes/debug/0.jar b/platforms/android/app/build/intermediates/transforms/mergeJavaRes/debug/0.jar new file mode 100644 index 00000000..bc265abe Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/mergeJavaRes/debug/0.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/mergeJavaRes/debug/__content__.json b/platforms/android/app/build/intermediates/transforms/mergeJavaRes/debug/__content__.json new file mode 100644 index 00000000..bd29a848 --- /dev/null +++ b/platforms/android/app/build/intermediates/transforms/mergeJavaRes/debug/__content__.json @@ -0,0 +1 @@ +[{"name":"resources","index":0,"scopes":["PROJECT","SUB_PROJECTS","EXTERNAL_LIBRARIES"],"types":["RESOURCES"],"format":"JAR","present":true}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/arm64-v8a/libsqlc-native-driver.so b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/arm64-v8a/libsqlc-native-driver.so new file mode 100644 index 00000000..edd6f354 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/arm64-v8a/libsqlc-native-driver.so differ diff --git a/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/armeabi-v7a/libsqlc-native-driver.so b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/armeabi-v7a/libsqlc-native-driver.so new file mode 100644 index 00000000..fe8735cd Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/armeabi-v7a/libsqlc-native-driver.so differ diff --git a/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/armeabi/libsqlc-native-driver.so b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/armeabi/libsqlc-native-driver.so new file mode 100644 index 00000000..5a65d39b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/armeabi/libsqlc-native-driver.so differ diff --git a/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/x86/libsqlc-native-driver.so b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/x86/libsqlc-native-driver.so new file mode 100644 index 00000000..23c251ae Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/x86/libsqlc-native-driver.so differ diff --git a/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/x86_64/libsqlc-native-driver.so b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/x86_64/libsqlc-native-driver.so new file mode 100644 index 00000000..184ce3ae Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/0/lib/x86_64/libsqlc-native-driver.so differ diff --git a/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/__content__.json b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/__content__.json new file mode 100644 index 00000000..86722f51 --- /dev/null +++ b/platforms/android/app/build/intermediates/transforms/mergeJniLibs/debug/__content__.json @@ -0,0 +1 @@ +[{"name":"resources","index":0,"scopes":["PROJECT","SUB_PROJECTS","EXTERNAL_LIBRARIES"],"types":["NATIVE_LIBS"],"format":"DIRECTORY","present":true}] \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/0.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/0.jar new file mode 100644 index 00000000..15cb0ecb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/0.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/1.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/1.jar new file mode 100644 index 00000000..229b891c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/1.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/10.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/10.jar new file mode 100644 index 00000000..0205c2ec Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/10.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/11.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/11.jar new file mode 100644 index 00000000..b54ad5e7 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/11.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/12.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/12.jar new file mode 100644 index 00000000..6a39015f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/12.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/13.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/13.jar new file mode 100644 index 00000000..ab70e0eb Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/13.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/14.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/14.jar new file mode 100644 index 00000000..888e9fa2 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/14.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/15.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/15.jar new file mode 100644 index 00000000..7f601d2a Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/15.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/16.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/16.jar new file mode 100644 index 00000000..57737f83 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/16.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/17.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/17.jar new file mode 100644 index 00000000..5e042b6d Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/17.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/18.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/18.jar new file mode 100644 index 00000000..10201803 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/18.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/2.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/2.jar new file mode 100644 index 00000000..7c499c81 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/2.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/3.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/3.jar new file mode 100644 index 00000000..cedbf65b Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/3.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/4.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/4.jar new file mode 100644 index 00000000..8b80a81c Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/4.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/5.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/5.jar new file mode 100644 index 00000000..bbd24157 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/5.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/6.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/6.jar new file mode 100644 index 00000000..12ae11fc Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/6.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/7.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/7.jar new file mode 100644 index 00000000..f96d0f87 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/7.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/8.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/8.jar new file mode 100644 index 00000000..22bc3e57 Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/8.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/9.jar b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/9.jar new file mode 100644 index 00000000..210c2d4f Binary files /dev/null and b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/9.jar differ diff --git a/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/__content__.json b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/__content__.json new file mode 100644 index 00000000..a61b8c01 --- /dev/null +++ b/platforms/android/app/build/intermediates/transforms/stackFramesFixer/debug/__content__.json @@ -0,0 +1 @@ +[{"name":"android.local.jars:sqlite-native-driver.jar:081d1dd2782ac11785d1312d827b96c6c4690d42","index":0,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"android.local.jars:sqlite-connector.jar:de9f1de9780a62db2ed8a0f0daf5123da78e529d","index":1,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-location:15.0.1","index":2,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-base:15.0.1","index":3,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-places-placereport:15.0.1","index":4,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-tasks:15.0.1","index":5,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.google.android.gms:play-services-basement:15.0.1","index":6,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-v4:26.1.0","index":7,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-media-compat:26.1.0","index":8,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-fragment:26.1.0","index":9,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-core-utils:26.1.0","index":10,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-core-ui:26.1.0","index":11,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-compat:26.1.0","index":12,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.android.support:support-annotations:27.1.1","index":13,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.squareup.okhttp3:okhttp:3.13.1","index":14,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"com.squareup.okio:okio:1.17.2","index":15,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:runtime:1.0.0","index":16,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"android.arch.lifecycle:common:1.0.0","index":17,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true},{"name":"android.arch.core:common:1.0.0","index":18,"scopes":["EXTERNAL_LIBRARIES"],"types":["CLASSES"],"format":"JAR","present":true}] \ No newline at end of file diff --git a/platforms/android/app/build/outputs/apk/debug/app-debug.apk b/platforms/android/app/build/outputs/apk/debug/app-debug.apk new file mode 100644 index 00000000..e695b0f8 Binary files /dev/null and b/platforms/android/app/build/outputs/apk/debug/app-debug.apk differ diff --git a/platforms/android/app/build/outputs/apk/debug/output.json b/platforms/android/app/build/outputs/apk/debug/output.json new file mode 100644 index 00000000..cbd87a2f --- /dev/null +++ b/platforms/android/app/build/outputs/apk/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"app-debug.apk","properties":{"packageId":"io.ionic.starter","split":"","minSdkVersion":"19"}}] \ No newline at end of file diff --git a/platforms/android/app/build/outputs/logs/manifest-merger-debug-report.txt b/platforms/android/app/build/outputs/logs/manifest-merger-debug-report.txt new file mode 100644 index 00000000..b685fd4b --- /dev/null +++ b/platforms/android/app/build/outputs/logs/manifest-merger-debug-report.txt @@ -0,0 +1,231 @@ +-- Merging decision tree log --- +provider#org.apache.cordova.camera.FileProvider +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:12:9-14:20 + android:grantUriPermissions + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:12:92-126 + android:authorities + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:12:19-66 + android:exported + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:12:67-91 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:12:127-180 +manifest +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:1-23:12 +MERGED from [com.google.android.gms:play-services-location:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-location-15.0.1.aar/d504d985f6cf8635ae0d2ddb1f4fe78c/AndroidManifest.xml:2:1-9:12 +MERGED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:17:1-29:12 +MERGED from [com.google.android.gms:play-services-places-placereport:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-places-placereport-15.0.1.aar/b0326d2e734889186f22ff72c5f1ccd7/AndroidManifest.xml:17:1-24:12 +MERGED from [com.google.android.gms:play-services-tasks:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-tasks-15.0.1.aar/0c976ac46f0ff44f229c765b0f13ef45/AndroidManifest.xml:2:1-9:12 +MERGED from [com.google.android.gms:play-services-basement:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-basement-15.0.1.aar/503b58d7bf662cf7ec6082e498f71e73/AndroidManifest.xml:17:1-28:12 +MERGED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-media-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-fragment:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-fragment-26.1.0.aar/38a513e188159a6500fc52af64a77def/AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-core-utils:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-utils-26.1.0.aar/06b7279e5b4b92d7d48265310457450b/AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-core-ui:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-ui-26.1.0.aar/896f5ff7a1dd17c1bd781ac5daa65c2d/AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/AndroidManifest.xml:17:1-31:12 +MERGED from [:CordovaLib] /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/AndroidManifest.xml:20:1-27:12 +MERGED from [android.arch.lifecycle:runtime:1.0.0] /home/venba/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/37adbfb36ef399b0ebe8e95994e6c17a/AndroidManifest.xml:17:1-30:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:1-23:12 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:1-23:12 + package + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:98-124 + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml + android:versionName + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:70-97 + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml + android:hardwareAccelerated + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:11-45 + xmlns:android + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:125-183 + android:versionCode + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:2:46-69 + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml +supports-screens +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:3:5-191 + android:largeScreens + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:3:49-76 + android:smallScreens + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:3:132-159 + android:normalScreens + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:3:77-105 + android:xlargeScreens + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:3:160-188 + android:resizeable + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:3:106-131 + android:anyDensity + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:3:23-48 +uses-permission#android.permission.INTERNET +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:4:5-67 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:4:22-64 +application +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:5:5-15:19 +MERGED from [com.google.android.gms:play-services-location:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-location-15.0.1.aar/d504d985f6cf8635ae0d2ddb1f4fe78c/AndroidManifest.xml:7:5-20 +MERGED from [com.google.android.gms:play-services-location:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-location-15.0.1.aar/d504d985f6cf8635ae0d2ddb1f4fe78c/AndroidManifest.xml:7:5-20 +MERGED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:22:5-27:19 +MERGED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:22:5-27:19 +MERGED from [com.google.android.gms:play-services-places-placereport:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-places-placereport-15.0.1.aar/b0326d2e734889186f22ff72c5f1ccd7/AndroidManifest.xml:22:5-20 +MERGED from [com.google.android.gms:play-services-places-placereport:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-places-placereport-15.0.1.aar/b0326d2e734889186f22ff72c5f1ccd7/AndroidManifest.xml:22:5-20 +MERGED from [com.google.android.gms:play-services-tasks:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-tasks-15.0.1.aar/0c976ac46f0ff44f229c765b0f13ef45/AndroidManifest.xml:7:5-20 +MERGED from [com.google.android.gms:play-services-tasks:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-tasks-15.0.1.aar/0c976ac46f0ff44f229c765b0f13ef45/AndroidManifest.xml:7:5-20 +MERGED from [com.google.android.gms:play-services-basement:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-basement-15.0.1.aar/503b58d7bf662cf7ec6082e498f71e73/AndroidManifest.xml:22:5-26:19 +MERGED from [com.google.android.gms:play-services-basement:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-basement-15.0.1.aar/503b58d7bf662cf7ec6082e498f71e73/AndroidManifest.xml:22:5-26:19 +MERGED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-media-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-media-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-fragment:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-fragment-26.1.0.aar/38a513e188159a6500fc52af64a77def/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-fragment:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-fragment-26.1.0.aar/38a513e188159a6500fc52af64a77def/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-core-utils:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-utils-26.1.0.aar/06b7279e5b4b92d7d48265310457450b/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-core-utils:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-utils-26.1.0.aar/06b7279e5b4b92d7d48265310457450b/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-core-ui:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-ui-26.1.0.aar/896f5ff7a1dd17c1bd781ac5daa65c2d/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-core-ui:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-ui-26.1.0.aar/896f5ff7a1dd17c1bd781ac5daa65c2d/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/AndroidManifest.xml:25:5-29:19 +MERGED from [android.arch.lifecycle:runtime:1.0.0] /home/venba/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/37adbfb36ef399b0ebe8e95994e6c17a/AndroidManifest.xml:24:5-28:19 +MERGED from [android.arch.lifecycle:runtime:1.0.0] /home/venba/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/37adbfb36ef399b0ebe8e95994e6c17a/AndroidManifest.xml:24:5-28:19 + android:supportsRtl + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:5:114-140 + android:label + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:5:81-113 + android:hardwareAccelerated + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:5:18-52 + android:icon + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:5:53-80 +activity#io.ionic.starter.MainActivity +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:6:9-11:20 + android:label + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:6:97-134 + android:launchMode + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:6:135-165 + android:windowSoftInputMode + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:6:257-299 + android:configChanges + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:6:19-96 + android:theme + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:6:194-256 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:6:166-193 +intent-filter#android.intent.action.MAIN+android.intent.category.LAUNCHER +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:7:13-10:29 + android:label + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:7:28-65 +action#android.intent.action.MAIN +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:8:17-69 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:8:25-66 +category#android.intent.category.LAUNCHER +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:9:17-77 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:9:27-74 +uses-sdk +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:16:5-74 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:16:5-74 +MERGED from [com.google.android.gms:play-services-location:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-location-15.0.1.aar/d504d985f6cf8635ae0d2ddb1f4fe78c/AndroidManifest.xml:5:5-44 +MERGED from [com.google.android.gms:play-services-location:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-location-15.0.1.aar/d504d985f6cf8635ae0d2ddb1f4fe78c/AndroidManifest.xml:5:5-44 +MERGED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:20:5-44 +MERGED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:20:5-44 +MERGED from [com.google.android.gms:play-services-places-placereport:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-places-placereport-15.0.1.aar/b0326d2e734889186f22ff72c5f1ccd7/AndroidManifest.xml:20:5-44 +MERGED from [com.google.android.gms:play-services-places-placereport:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-places-placereport-15.0.1.aar/b0326d2e734889186f22ff72c5f1ccd7/AndroidManifest.xml:20:5-44 +MERGED from [com.google.android.gms:play-services-tasks:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-tasks-15.0.1.aar/0c976ac46f0ff44f229c765b0f13ef45/AndroidManifest.xml:5:5-44 +MERGED from [com.google.android.gms:play-services-tasks:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-tasks-15.0.1.aar/0c976ac46f0ff44f229c765b0f13ef45/AndroidManifest.xml:5:5-44 +MERGED from [com.google.android.gms:play-services-basement:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-basement-15.0.1.aar/503b58d7bf662cf7ec6082e498f71e73/AndroidManifest.xml:20:5-44 +MERGED from [com.google.android.gms:play-services-basement:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-basement-15.0.1.aar/503b58d7bf662cf7ec6082e498f71e73/AndroidManifest.xml:20:5-44 +MERGED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:21:5-23:54 +MERGED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:21:5-23:54 +MERGED from [com.android.support:support-media-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/AndroidManifest.xml:21:5-23:63 +MERGED from [com.android.support:support-media-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/AndroidManifest.xml:21:5-23:63 +MERGED from [com.android.support:support-fragment:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-fragment-26.1.0.aar/38a513e188159a6500fc52af64a77def/AndroidManifest.xml:21:5-23:60 +MERGED from [com.android.support:support-fragment:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-fragment-26.1.0.aar/38a513e188159a6500fc52af64a77def/AndroidManifest.xml:21:5-23:60 +MERGED from [com.android.support:support-core-utils:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-utils-26.1.0.aar/06b7279e5b4b92d7d48265310457450b/AndroidManifest.xml:21:5-23:61 +MERGED from [com.android.support:support-core-utils:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-utils-26.1.0.aar/06b7279e5b4b92d7d48265310457450b/AndroidManifest.xml:21:5-23:61 +MERGED from [com.android.support:support-core-ui:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-ui-26.1.0.aar/896f5ff7a1dd17c1bd781ac5daa65c2d/AndroidManifest.xml:21:5-23:58 +MERGED from [com.android.support:support-core-ui:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-ui-26.1.0.aar/896f5ff7a1dd17c1bd781ac5daa65c2d/AndroidManifest.xml:21:5-23:58 +MERGED from [com.android.support:support-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/AndroidManifest.xml:21:5-23:58 +MERGED from [com.android.support:support-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/AndroidManifest.xml:21:5-23:58 +MERGED from [:CordovaLib] /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/AndroidManifest.xml:25:5-44 +MERGED from [:CordovaLib] /opt/lampp/htdocs/pd_officer/platforms/android/CordovaLib/build/intermediates/manifests/full/debug/AndroidManifest.xml:25:5-44 +MERGED from [android.arch.lifecycle:runtime:1.0.0] /home/venba/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/37adbfb36ef399b0ebe8e95994e6c17a/AndroidManifest.xml:20:5-22:41 +MERGED from [android.arch.lifecycle:runtime:1.0.0] /home/venba/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/37adbfb36ef399b0ebe8e95994e6c17a/AndroidManifest.xml:20:5-22:41 +INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:16:5-74 + tools:overrideLibrary + ADDED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:23:9-51 + android:targetSdkVersion + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:16:42-71 + android:minSdkVersion + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:16:15-41 + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml + INJECTED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml +uses-permission#android.permission.WRITE_EXTERNAL_STORAGE +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:17:5-81 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:17:22-78 +uses-permission#android.permission.USE_FINGERPRINT +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:18:5-74 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:18:22-71 +uses-permission#android.permission.ACCESS_COARSE_LOCATION +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:19:5-81 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:19:22-78 +uses-permission#android.permission.ACCESS_FINE_LOCATION +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:20:5-79 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:20:22-76 +uses-feature#android.hardware.location.gps +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:21:5-66 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:21:19-63 +uses-permission#android.permission.ACCESS_NETWORK_STATE +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:22:5-79 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:22:22-76 +meta-data#android.support.FILE_PROVIDER_PATHS +ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:13:13-123 + android:resource + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:13:75-120 + android:name + ADDED from /opt/lampp/htdocs/pd_officer/platforms/android/app/src/main/AndroidManifest.xml:13:24-74 +activity#com.google.android.gms.common.api.GoogleApiActivity +ADDED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:23:9-26:75 + android:exported + ADDED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:25:13-37 + android:theme + ADDED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:26:13-72 + android:name + ADDED from [com.google.android.gms:play-services-base:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-base-15.0.1.aar/2e567dbcf042d8da6f8805814a9ffc29/AndroidManifest.xml:24:13-79 +meta-data#com.google.android.gms.version +ADDED from [com.google.android.gms:play-services-basement:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-basement-15.0.1.aar/503b58d7bf662cf7ec6082e498f71e73/AndroidManifest.xml:23:9-25:69 + android:value + ADDED from [com.google.android.gms:play-services-basement:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-basement-15.0.1.aar/503b58d7bf662cf7ec6082e498f71e73/AndroidManifest.xml:25:13-66 + android:name + ADDED from [com.google.android.gms:play-services-basement:15.0.1] /home/venba/.gradle/caches/transforms-1/files-1.1/play-services-basement-15.0.1.aar/503b58d7bf662cf7ec6082e498f71e73/AndroidManifest.xml:24:13-58 +meta-data#android.support.VERSION +ADDED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-media-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-media-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/5b51b2e7692c07af9503ce95dd7aee1b/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-fragment:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-fragment-26.1.0.aar/38a513e188159a6500fc52af64a77def/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-fragment:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-fragment-26.1.0.aar/38a513e188159a6500fc52af64a77def/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-core-utils:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-utils-26.1.0.aar/06b7279e5b4b92d7d48265310457450b/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-core-utils:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-utils-26.1.0.aar/06b7279e5b4b92d7d48265310457450b/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-core-ui:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-ui-26.1.0.aar/896f5ff7a1dd17c1bd781ac5daa65c2d/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-core-ui:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-core-ui-26.1.0.aar/896f5ff7a1dd17c1bd781ac5daa65c2d/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-compat:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/893a170400a7a075cc4f21e509fc3f2b/AndroidManifest.xml:26:9-28:38 + android:value + ADDED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:28:13-35 + android:name + ADDED from [com.android.support:support-v4:26.1.0] /home/venba/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/66e71aae8b4cf13d94e9ce568176d8ca/AndroidManifest.xml:27:13-51 +meta-data#android.arch.lifecycle.VERSION +ADDED from [android.arch.lifecycle:runtime:1.0.0] /home/venba/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/37adbfb36ef399b0ebe8e95994e6c17a/AndroidManifest.xml:25:9-27:47 + android:value + ADDED from [android.arch.lifecycle:runtime:1.0.0] /home/venba/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/37adbfb36ef399b0ebe8e95994e6c17a/AndroidManifest.xml:27:13-44 + android:name + ADDED from [android.arch.lifecycle:runtime:1.0.0] /home/venba/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/37adbfb36ef399b0ebe8e95994e6c17a/AndroidManifest.xml:26:13-58 diff --git a/platforms/android/app/libs/sqlite-connector.jar b/platforms/android/app/libs/sqlite-connector.jar new file mode 100755 index 00000000..73387a1a Binary files /dev/null and b/platforms/android/app/libs/sqlite-connector.jar differ diff --git a/platforms/android/app/libs/sqlite-native-driver.jar b/platforms/android/app/libs/sqlite-native-driver.jar new file mode 100755 index 00000000..7bc15992 Binary files /dev/null and b/platforms/android/app/libs/sqlite-native-driver.jar differ diff --git a/platforms/android/app/src/main/AndroidManifest.xml b/platforms/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..f7d4e836 --- /dev/null +++ b/platforms/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/android/app/src/main/assets/www/assets/css/deeppurple-amber.css b/platforms/android/app/src/main/assets/www/assets/css/deeppurple-amber.css new file mode 100755 index 00000000..f0c9650f --- /dev/null +++ b/platforms/android/app/src/main/assets/www/assets/css/deeppurple-amber.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87)}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#673ab7}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ffd740}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.54)}.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-label{color:#673ab7}.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#673ab7}.mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23d1c4e9%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffe57f%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740} \ No newline at end of file diff --git a/platforms/android/app/src/main/assets/www/assets/deep.min.css b/platforms/android/app/src/main/assets/www/assets/deep.min.css new file mode 100755 index 00000000..f0c9650f --- /dev/null +++ b/platforms/android/app/src/main/assets/www/assets/deep.min.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87)}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#673ab7}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ffd740}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.54)}.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-label{color:#673ab7}.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#673ab7}.mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23d1c4e9%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffe57f%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740} \ No newline at end of file diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Black.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Black.ttf new file mode 100755 index 00000000..689fe5cb Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Black.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-BlackItalic.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-BlackItalic.ttf new file mode 100755 index 00000000..0b4e0ee1 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-BlackItalic.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Bold.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Bold.ttf new file mode 100755 index 00000000..d3f01ad2 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Bold.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-BoldItalic.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-BoldItalic.ttf new file mode 100755 index 00000000..41cc1e75 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-BoldItalic.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Italic.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Italic.ttf new file mode 100755 index 00000000..6a1cee5b Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Italic.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Light.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Light.ttf new file mode 100755 index 00000000..219063a5 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Light.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-LightItalic.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-LightItalic.ttf new file mode 100755 index 00000000..0e81e876 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-LightItalic.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Medium.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Medium.ttf new file mode 100755 index 00000000..1a7f3b0b Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Medium.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-MediumItalic.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-MediumItalic.ttf new file mode 100755 index 00000000..00302952 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-MediumItalic.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Regular.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Regular.ttf new file mode 100755 index 00000000..2c97eead Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Regular.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Thin.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Thin.ttf new file mode 100755 index 00000000..b74a4fd1 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-Thin.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-ThinItalic.ttf b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-ThinItalic.ttf new file mode 100755 index 00000000..dd0ddb85 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/Roboto-ThinItalic.ttf differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/ionicons.woff b/platforms/android/app/src/main/assets/www/assets/fonts/ionicons.woff new file mode 100755 index 00000000..e997f0d9 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/ionicons.woff differ diff --git a/platforms/android/app/src/main/assets/www/assets/fonts/ionicons.woff2 b/platforms/android/app/src/main/assets/www/assets/fonts/ionicons.woff2 new file mode 100755 index 00000000..66bcf5c5 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/fonts/ionicons.woff2 differ diff --git a/platforms/android/app/src/main/assets/www/assets/icon/favicon.ico b/platforms/android/app/src/main/assets/www/assets/icon/favicon.ico new file mode 100755 index 00000000..d76fa29d Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/icon/favicon.ico differ diff --git a/platforms/android/app/src/main/assets/www/assets/img/avatar/girl-avatar.png b/platforms/android/app/src/main/assets/www/assets/img/avatar/girl-avatar.png new file mode 100755 index 00000000..33560f7d Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/img/avatar/girl-avatar.png differ diff --git a/platforms/android/app/src/main/assets/www/assets/img/misc/adrian-199150-unsplash 1.jpg b/platforms/android/app/src/main/assets/www/assets/img/misc/adrian-199150-unsplash 1.jpg new file mode 100755 index 00000000..88ab7217 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/img/misc/adrian-199150-unsplash 1.jpg differ diff --git a/platforms/android/app/src/main/assets/www/assets/img/misc/avatar.jpg b/platforms/android/app/src/main/assets/www/assets/img/misc/avatar.jpg new file mode 100755 index 00000000..26d30741 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/img/misc/avatar.jpg differ diff --git a/platforms/android/app/src/main/assets/www/assets/img/misc/login.jpg b/platforms/android/app/src/main/assets/www/assets/img/misc/login.jpg new file mode 100755 index 00000000..88ab7217 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/img/misc/login.jpg differ diff --git a/platforms/android/app/src/main/assets/www/assets/img/misc/sidemenubg.jpg b/platforms/android/app/src/main/assets/www/assets/img/misc/sidemenubg.jpg new file mode 100755 index 00000000..2d01059a Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/img/misc/sidemenubg.jpg differ diff --git a/platforms/android/app/src/main/assets/www/assets/imgs/logo.png b/platforms/android/app/src/main/assets/www/assets/imgs/logo.png new file mode 100755 index 00000000..80f631d7 Binary files /dev/null and b/platforms/android/app/src/main/assets/www/assets/imgs/logo.png differ diff --git a/platforms/android/app/src/main/assets/www/assets/indigo-pink.css b/platforms/android/app/src/main/assets/www/assets/indigo-pink.css new file mode 100755 index 00000000..e4ee0fdf --- /dev/null +++ b/platforms/android/app/src/main/assets/www/assets/indigo-pink.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.288)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(63,81,181,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,64,129,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:#fff}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,64,129,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,64,129,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(63,81,181,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,64,129,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-datepicker-toggle-active{color:#3f51b5}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.54)}.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-label{color:#3f51b5}.mat-focused .mat-form-field-label.mat-accent{color:#ff4081}.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#3f51b5}.mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#3f51b5}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ff4081}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23c5cae9%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ff80ab%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(63,81,181,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,64,129,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#e91e63}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(233,30,99,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(233,30,99,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(63,81,181,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#3f51b5;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-primary .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-accent .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-warn .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-primary .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-accent .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-warn .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ff4081} \ No newline at end of file diff --git a/platforms/android/app/src/main/assets/www/build/main.css b/platforms/android/app/src/main/assets/www/build/main.css new file mode 100644 index 00000000..9bc3062c --- /dev/null +++ b/platforms/android/app/src/main/assets/www/build/main.css @@ -0,0 +1 @@ +.ion-ios-add:before{content:"\f102"}.ion-ios-add-circle:before{content:"\f101"}.ion-ios-add-circle-outline:before{content:"\f100"}.ion-ios-add-outline:before{content:"\f102"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-alarm-outline:before{content:"\f3c7"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-albums-outline:before{content:"\f3c9"}.ion-ios-alert:before{content:"\f104"}.ion-ios-alert-outline:before{content:"\f103"}.ion-ios-american-football:before{content:"\f106"}.ion-ios-american-football-outline:before{content:"\f105"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-analytics-outline:before{content:"\f3cd"}.ion-ios-aperture:before{content:"\f108"}.ion-ios-aperture-outline:before{content:"\f107"}.ion-ios-apps:before{content:"\f10a"}.ion-ios-apps-outline:before{content:"\f109"}.ion-ios-appstore:before{content:"\f10c"}.ion-ios-appstore-outline:before{content:"\f10b"}.ion-ios-archive:before{content:"\f10e"}.ion-ios-archive-outline:before{content:"\f10d"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-back-outline:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-down-outline:before{content:"\f3d0"}.ion-ios-arrow-dropdown:before{content:"\f110"}.ion-ios-arrow-dropdown-circle:before{content:"\f10f"}.ion-ios-arrow-dropdown-circle-outline:before{content:"\f10f"}.ion-ios-arrow-dropdown-outline:before{content:"\f110"}.ion-ios-arrow-dropleft:before{content:"\f112"}.ion-ios-arrow-dropleft-circle:before{content:"\f111"}.ion-ios-arrow-dropleft-circle-outline:before{content:"\f111"}.ion-ios-arrow-dropleft-outline:before{content:"\f112"}.ion-ios-arrow-dropright:before{content:"\f114"}.ion-ios-arrow-dropright-circle:before{content:"\f113"}.ion-ios-arrow-dropright-circle-outline:before{content:"\f113"}.ion-ios-arrow-dropright-outline:before{content:"\f114"}.ion-ios-arrow-dropup:before{content:"\f116"}.ion-ios-arrow-dropup-circle:before{content:"\f115"}.ion-ios-arrow-dropup-circle-outline:before{content:"\f115"}.ion-ios-arrow-dropup-outline:before{content:"\f116"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-forward-outline:before{content:"\f3d1"}.ion-ios-arrow-round-back:before{content:"\f117"}.ion-ios-arrow-round-back-outline:before{content:"\f117"}.ion-ios-arrow-round-down:before{content:"\f118"}.ion-ios-arrow-round-down-outline:before{content:"\f118"}.ion-ios-arrow-round-forward:before{content:"\f119"}.ion-ios-arrow-round-forward-outline:before{content:"\f119"}.ion-ios-arrow-round-up:before{content:"\f11a"}.ion-ios-arrow-round-up-outline:before{content:"\f11a"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-arrow-up-outline:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-at-outline:before{content:"\f3d9"}.ion-ios-attach:before{content:"\f11b"}.ion-ios-attach-outline:before{content:"\f11b"}.ion-ios-backspace:before{content:"\f11d"}.ion-ios-backspace-outline:before{content:"\f11c"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-barcode-outline:before{content:"\f3db"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-baseball-outline:before{content:"\f3dd"}.ion-ios-basket:before{content:"\f11f"}.ion-ios-basket-outline:before{content:"\f11e"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-basketball-outline:before{content:"\f3df"}.ion-ios-battery-charging:before{content:"\f120"}.ion-ios-battery-charging-outline:before{content:"\f120"}.ion-ios-battery-dead:before{content:"\f121"}.ion-ios-battery-dead-outline:before{content:"\f121"}.ion-ios-battery-full:before{content:"\f122"}.ion-ios-battery-full-outline:before{content:"\f122"}.ion-ios-beaker:before{content:"\f124"}.ion-ios-beaker-outline:before{content:"\f123"}.ion-ios-beer:before{content:"\f126"}.ion-ios-beer-outline:before{content:"\f125"}.ion-ios-bicycle:before{content:"\f127"}.ion-ios-bicycle-outline:before{content:"\f127"}.ion-ios-bluetooth:before{content:"\f128"}.ion-ios-bluetooth-outline:before{content:"\f128"}.ion-ios-boat:before{content:"\f12a"}.ion-ios-boat-outline:before{content:"\f129"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-body-outline:before{content:"\f3e3"}.ion-ios-bonfire:before{content:"\f12c"}.ion-ios-bonfire-outline:before{content:"\f12b"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-book-outline:before{content:"\f3e7"}.ion-ios-bookmark:before{content:"\f12e"}.ion-ios-bookmark-outline:before{content:"\f12d"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bookmarks-outline:before{content:"\f3e9"}.ion-ios-bowtie:before{content:"\f130"}.ion-ios-bowtie-outline:before{content:"\f12f"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-briefcase-outline:before{content:"\f3ed"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-browsers-outline:before{content:"\f3ef"}.ion-ios-brush:before{content:"\f132"}.ion-ios-brush-outline:before{content:"\f131"}.ion-ios-bug:before{content:"\f134"}.ion-ios-bug-outline:before{content:"\f133"}.ion-ios-build:before{content:"\f136"}.ion-ios-build-outline:before{content:"\f135"}.ion-ios-bulb:before{content:"\f138"}.ion-ios-bulb-outline:before{content:"\f137"}.ion-ios-bus:before{content:"\f13a"}.ion-ios-bus-outline:before{content:"\f139"}.ion-ios-cafe:before{content:"\f13c"}.ion-ios-cafe-outline:before{content:"\f13b"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calculator-outline:before{content:"\f3f1"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-calendar-outline:before{content:"\f3f3"}.ion-ios-call:before{content:"\f13e"}.ion-ios-call-outline:before{content:"\f13d"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-camera-outline:before{content:"\f3f5"}.ion-ios-car:before{content:"\f140"}.ion-ios-car-outline:before{content:"\f13f"}.ion-ios-card:before{content:"\f142"}.ion-ios-card-outline:before{content:"\f141"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cart-outline:before{content:"\f3f7"}.ion-ios-cash:before{content:"\f144"}.ion-ios-cash-outline:before{content:"\f143"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatboxes-outline:before{content:"\f3f9"}.ion-ios-chatbubbles:before{content:"\f146"}.ion-ios-chatbubbles-outline:before{content:"\f145"}.ion-ios-checkbox:before{content:"\f148"}.ion-ios-checkbox-outline:before{content:"\f147"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-circle:before{content:"\f14a"}.ion-ios-checkmark-circle-outline:before{content:"\f149"}.ion-ios-checkmark-outline:before{content:"\f3ff"}.ion-ios-clipboard:before{content:"\f14c"}.ion-ios-clipboard-outline:before{content:"\f14b"}.ion-ios-clock:before{content:"\f403"}.ion-ios-clock-outline:before{content:"\f402"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-circle:before{content:"\f14e"}.ion-ios-close-circle-outline:before{content:"\f14d"}.ion-ios-close-outline:before{content:"\f406"}.ion-ios-closed-captioning:before{content:"\f150"}.ion-ios-closed-captioning-outline:before{content:"\f14f"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-circle:before{content:"\f152"}.ion-ios-cloud-circle-outline:before{content:"\f151"}.ion-ios-cloud-done:before{content:"\f154"}.ion-ios-cloud-done-outline:before{content:"\f153"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-download-outline:before{content:"\f407"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloud-upload-outline:before{content:"\f40a"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-cloudy-night-outline:before{content:"\f40d"}.ion-ios-cloudy-outline:before{content:"\f40f"}.ion-ios-code:before{content:"\f157"}.ion-ios-code-download:before{content:"\f155"}.ion-ios-code-download-outline:before{content:"\f155"}.ion-ios-code-outline:before{content:"\f157"}.ion-ios-code-working:before{content:"\f156"}.ion-ios-code-working-outline:before{content:"\f156"}.ion-ios-cog:before{content:"\f412"}.ion-ios-cog-outline:before{content:"\f411"}.ion-ios-color-fill:before{content:"\f159"}.ion-ios-color-fill-outline:before{content:"\f158"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-filter-outline:before{content:"\f413"}.ion-ios-color-palette:before{content:"\f15b"}.ion-ios-color-palette-outline:before{content:"\f15a"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-color-wand-outline:before{content:"\f415"}.ion-ios-compass:before{content:"\f15d"}.ion-ios-compass-outline:before{content:"\f15c"}.ion-ios-construct:before{content:"\f15f"}.ion-ios-construct-outline:before{content:"\f15e"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contact-outline:before{content:"\f419"}.ion-ios-contacts:before{content:"\f161"}.ion-ios-contacts-outline:before{content:"\f160"}.ion-ios-contract:before{content:"\f162"}.ion-ios-contract-outline:before{content:"\f162"}.ion-ios-contrast:before{content:"\f163"}.ion-ios-contrast-outline:before{content:"\f163"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-copy-outline:before{content:"\f41b"}.ion-ios-create:before{content:"\f165"}.ion-ios-create-outline:before{content:"\f164"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-crop-outline:before{content:"\f166"}.ion-ios-cube:before{content:"\f168"}.ion-ios-cube-outline:before{content:"\f167"}.ion-ios-cut:before{content:"\f16a"}.ion-ios-cut-outline:before{content:"\f169"}.ion-ios-desktop:before{content:"\f16c"}.ion-ios-desktop-outline:before{content:"\f16b"}.ion-ios-disc:before{content:"\f16e"}.ion-ios-disc-outline:before{content:"\f16d"}.ion-ios-document:before{content:"\f170"}.ion-ios-document-outline:before{content:"\f16f"}.ion-ios-done-all:before{content:"\f171"}.ion-ios-done-all-outline:before{content:"\f171"}.ion-ios-download:before{content:"\f420"}.ion-ios-download-outline:before{content:"\f41f"}.ion-ios-easel:before{content:"\f173"}.ion-ios-easel-outline:before{content:"\f172"}.ion-ios-egg:before{content:"\f175"}.ion-ios-egg-outline:before{content:"\f174"}.ion-ios-exit:before{content:"\f177"}.ion-ios-exit-outline:before{content:"\f176"}.ion-ios-expand:before{content:"\f178"}.ion-ios-expand-outline:before{content:"\f178"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-off:before{content:"\f17a"}.ion-ios-eye-off-outline:before{content:"\f179"}.ion-ios-eye-outline:before{content:"\f424"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-fastforward-outline:before{content:"\f426"}.ion-ios-female:before{content:"\f17b"}.ion-ios-female-outline:before{content:"\f17b"}.ion-ios-filing:before{content:"\f429"}.ion-ios-filing-outline:before{content:"\f428"}.ion-ios-film:before{content:"\f42b"}.ion-ios-film-outline:before{content:"\f42a"}.ion-ios-finger-print:before{content:"\f17c"}.ion-ios-finger-print-outline:before{content:"\f17c"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flag-outline:before{content:"\f42c"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flame-outline:before{content:"\f42e"}.ion-ios-flash:before{content:"\f17e"}.ion-ios-flash-outline:before{content:"\f17d"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flask-outline:before{content:"\f430"}.ion-ios-flower:before{content:"\f433"}.ion-ios-flower-outline:before{content:"\f432"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-open:before{content:"\f180"}.ion-ios-folder-open-outline:before{content:"\f17f"}.ion-ios-folder-outline:before{content:"\f434"}.ion-ios-football:before{content:"\f437"}.ion-ios-football-outline:before{content:"\f436"}.ion-ios-funnel:before{content:"\f182"}.ion-ios-funnel-outline:before{content:"\f181"}.ion-ios-game-controller-a:before{content:"\f439"}.ion-ios-game-controller-a-outline:before{content:"\f438"}.ion-ios-game-controller-b:before{content:"\f43b"}.ion-ios-game-controller-b-outline:before{content:"\f43a"}.ion-ios-git-branch:before{content:"\f183"}.ion-ios-git-branch-outline:before{content:"\f183"}.ion-ios-git-commit:before{content:"\f184"}.ion-ios-git-commit-outline:before{content:"\f184"}.ion-ios-git-compare:before{content:"\f185"}.ion-ios-git-compare-outline:before{content:"\f185"}.ion-ios-git-merge:before{content:"\f186"}.ion-ios-git-merge-outline:before{content:"\f186"}.ion-ios-git-network:before{content:"\f187"}.ion-ios-git-network-outline:before{content:"\f187"}.ion-ios-git-pull-request:before{content:"\f188"}.ion-ios-git-pull-request-outline:before{content:"\f188"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-glasses-outline:before{content:"\f43e"}.ion-ios-globe:before{content:"\f18a"}.ion-ios-globe-outline:before{content:"\f189"}.ion-ios-grid:before{content:"\f18c"}.ion-ios-grid-outline:before{content:"\f18b"}.ion-ios-hammer:before{content:"\f18e"}.ion-ios-hammer-outline:before{content:"\f18d"}.ion-ios-hand:before{content:"\f190"}.ion-ios-hand-outline:before{content:"\f18f"}.ion-ios-happy:before{content:"\f192"}.ion-ios-happy-outline:before{content:"\f191"}.ion-ios-headset:before{content:"\f194"}.ion-ios-headset-outline:before{content:"\f193"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-outline:before{content:"\f442"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-buoy:before{content:"\f196"}.ion-ios-help-buoy-outline:before{content:"\f195"}.ion-ios-help-circle:before{content:"\f198"}.ion-ios-help-circle-outline:before{content:"\f197"}.ion-ios-help-outline:before{content:"\f446"}.ion-ios-home:before{content:"\f448"}.ion-ios-home-outline:before{content:"\f447"}.ion-ios-ice-cream:before{content:"\f19a"}.ion-ios-ice-cream-outline:before{content:"\f199"}.ion-ios-image:before{content:"\f19c"}.ion-ios-image-outline:before{content:"\f19b"}.ion-ios-images:before{content:"\f19e"}.ion-ios-images-outline:before{content:"\f19d"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-infinite-outline:before{content:"\f449"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-circle:before{content:"\f1a0"}.ion-ios-information-circle-outline:before{content:"\f19f"}.ion-ios-information-outline:before{content:"\f44d"}.ion-ios-ionic:before{content:"\f1a1"}.ion-ios-ionic-outline:before{content:"\f44e"}.ion-ios-ionitron:before{content:"\f1a3"}.ion-ios-ionitron-outline:before{content:"\f1a2"}.ion-ios-jet:before{content:"\f1a5"}.ion-ios-jet-outline:before{content:"\f1a4"}.ion-ios-key:before{content:"\f1a7"}.ion-ios-key-outline:before{content:"\f1a6"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-keypad-outline:before{content:"\f44f"}.ion-ios-laptop:before{content:"\f1a8"}.ion-ios-laptop-outline:before{content:"\f1a8"}.ion-ios-leaf:before{content:"\f1aa"}.ion-ios-leaf-outline:before{content:"\f1a9"}.ion-ios-link:before{content:"\f22a"}.ion-ios-link-outline:before{content:"\f1ca"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-box:before{content:"\f1ac"}.ion-ios-list-box-outline:before{content:"\f1ab"}.ion-ios-list-outline:before{content:"\f454"}.ion-ios-locate:before{content:"\f1ae"}.ion-ios-locate-outline:before{content:"\f1ad"}.ion-ios-lock:before{content:"\f1b0"}.ion-ios-lock-outline:before{content:"\f1af"}.ion-ios-log-in:before{content:"\f1b1"}.ion-ios-log-in-outline:before{content:"\f1b1"}.ion-ios-log-out:before{content:"\f1b2"}.ion-ios-log-out-outline:before{content:"\f1b2"}.ion-ios-magnet:before{content:"\f1b4"}.ion-ios-magnet-outline:before{content:"\f1b3"}.ion-ios-mail:before{content:"\f1b8"}.ion-ios-mail-open:before{content:"\f1b6"}.ion-ios-mail-open-outline:before{content:"\f1b5"}.ion-ios-mail-outline:before{content:"\f1b7"}.ion-ios-male:before{content:"\f1b9"}.ion-ios-male-outline:before{content:"\f1b9"}.ion-ios-man:before{content:"\f1bb"}.ion-ios-man-outline:before{content:"\f1ba"}.ion-ios-map:before{content:"\f1bd"}.ion-ios-map-outline:before{content:"\f1bc"}.ion-ios-medal:before{content:"\f1bf"}.ion-ios-medal-outline:before{content:"\f1be"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medical-outline:before{content:"\f45b"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-medkit-outline:before{content:"\f45d"}.ion-ios-megaphone:before{content:"\f1c1"}.ion-ios-megaphone-outline:before{content:"\f1c0"}.ion-ios-menu:before{content:"\f1c3"}.ion-ios-menu-outline:before{content:"\f1c2"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-mic-off-outline:before{content:"\f1c4"}.ion-ios-mic-outline:before{content:"\f460"}.ion-ios-microphone:before{content:"\f1c6"}.ion-ios-microphone-outline:before{content:"\f1c5"}.ion-ios-moon:before{content:"\f468"}.ion-ios-moon-outline:before{content:"\f467"}.ion-ios-more:before{content:"\f1c8"}.ion-ios-more-outline:before{content:"\f1c7"}.ion-ios-move:before{content:"\f1cb"}.ion-ios-move-outline:before{content:"\f1cb"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-note-outline:before{content:"\f1cc"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-musical-notes-outline:before{content:"\f1cd"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-navigate-outline:before{content:"\f46d"}.ion-ios-no-smoking:before{content:"\f1cf"}.ion-ios-no-smoking-outline:before{content:"\f1ce"}.ion-ios-notifications:before{content:"\f1d3"}.ion-ios-notifications-off:before{content:"\f1d1"}.ion-ios-notifications-off-outline:before{content:"\f1d0"}.ion-ios-notifications-outline:before{content:"\f1d2"}.ion-ios-nuclear:before{content:"\f1d5"}.ion-ios-nuclear-outline:before{content:"\f1d4"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-nutrition-outline:before{content:"\f46f"}.ion-ios-open:before{content:"\f1d7"}.ion-ios-open-outline:before{content:"\f1d6"}.ion-ios-options:before{content:"\f1d9"}.ion-ios-options-outline:before{content:"\f1d8"}.ion-ios-outlet:before{content:"\f1db"}.ion-ios-outlet-outline:before{content:"\f1da"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-outline:before{content:"\f471"}.ion-ios-paper-plane:before{content:"\f1dd"}.ion-ios-paper-plane-outline:before{content:"\f1dc"}.ion-ios-partly-sunny:before{content:"\f1df"}.ion-ios-partly-sunny-outline:before{content:"\f1de"}.ion-ios-pause:before{content:"\f478"}.ion-ios-pause-outline:before{content:"\f477"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-paw-outline:before{content:"\f479"}.ion-ios-people:before{content:"\f47c"}.ion-ios-people-outline:before{content:"\f47b"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-add:before{content:"\f1e1"}.ion-ios-person-add-outline:before{content:"\f1e0"}.ion-ios-person-outline:before{content:"\f47d"}.ion-ios-phone-landscape:before{content:"\f1e2"}.ion-ios-phone-landscape-outline:before{content:"\f1e2"}.ion-ios-phone-portrait:before{content:"\f1e3"}.ion-ios-phone-portrait-outline:before{content:"\f1e3"}.ion-ios-photos:before{content:"\f482"}.ion-ios-photos-outline:before{content:"\f481"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pie-outline:before{content:"\f483"}.ion-ios-pin:before{content:"\f1e5"}.ion-ios-pin-outline:before{content:"\f1e4"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pint-outline:before{content:"\f485"}.ion-ios-pizza:before{content:"\f1e7"}.ion-ios-pizza-outline:before{content:"\f1e6"}.ion-ios-plane:before{content:"\f1e9"}.ion-ios-plane-outline:before{content:"\f1e8"}.ion-ios-planet:before{content:"\f1eb"}.ion-ios-planet-outline:before{content:"\f1ea"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-outline:before{content:"\f487"}.ion-ios-podium:before{content:"\f1ed"}.ion-ios-podium-outline:before{content:"\f1ec"}.ion-ios-power:before{content:"\f1ef"}.ion-ios-power-outline:before{content:"\f1ee"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetag-outline:before{content:"\f48c"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-pricetags-outline:before{content:"\f48e"}.ion-ios-print:before{content:"\f1f1"}.ion-ios-print-outline:before{content:"\f1f0"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-pulse-outline:before{content:"\f1f2"}.ion-ios-qr-scanner:before{content:"\f1f3"}.ion-ios-qr-scanner-outline:before{content:"\f1f3"}.ion-ios-quote:before{content:"\f1f5"}.ion-ios-quote-outline:before{content:"\f1f4"}.ion-ios-radio:before{content:"\f1f9"}.ion-ios-radio-button-off:before{content:"\f1f6"}.ion-ios-radio-button-off-outline:before{content:"\f1f6"}.ion-ios-radio-button-on:before{content:"\f1f7"}.ion-ios-radio-button-on-outline:before{content:"\f1f7"}.ion-ios-radio-outline:before{content:"\f1f8"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-rainy-outline:before{content:"\f494"}.ion-ios-recording:before{content:"\f497"}.ion-ios-recording-outline:before{content:"\f496"}.ion-ios-redo:before{content:"\f499"}.ion-ios-redo-outline:before{content:"\f498"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-circle:before{content:"\f226"}.ion-ios-refresh-circle-outline:before{content:"\f224"}.ion-ios-refresh-outline:before{content:"\f49c"}.ion-ios-remove:before{content:"\f1fc"}.ion-ios-remove-circle:before{content:"\f1fb"}.ion-ios-remove-circle-outline:before{content:"\f1fa"}.ion-ios-remove-outline:before{content:"\f1fc"}.ion-ios-reorder:before{content:"\f1fd"}.ion-ios-reorder-outline:before{content:"\f1fd"}.ion-ios-repeat:before{content:"\f1fe"}.ion-ios-repeat-outline:before{content:"\f1fe"}.ion-ios-resize:before{content:"\f1ff"}.ion-ios-resize-outline:before{content:"\f1ff"}.ion-ios-restaurant:before{content:"\f201"}.ion-ios-restaurant-outline:before{content:"\f200"}.ion-ios-return-left:before{content:"\f202"}.ion-ios-return-left-outline:before{content:"\f202"}.ion-ios-return-right:before{content:"\f203"}.ion-ios-return-right-outline:before{content:"\f203"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-reverse-camera-outline:before{content:"\f49e"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-rewind-outline:before{content:"\f4a0"}.ion-ios-ribbon:before{content:"\f205"}.ion-ios-ribbon-outline:before{content:"\f204"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-rose-outline:before{content:"\f4a2"}.ion-ios-sad:before{content:"\f207"}.ion-ios-sad-outline:before{content:"\f206"}.ion-ios-school:before{content:"\f209"}.ion-ios-school-outline:before{content:"\f208"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-search-outline:before{content:"\f20a"}.ion-ios-send:before{content:"\f20c"}.ion-ios-send-outline:before{content:"\f20b"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-settings-outline:before{content:"\f20d"}.ion-ios-share:before{content:"\f211"}.ion-ios-share-alt:before{content:"\f20f"}.ion-ios-share-alt-outline:before{content:"\f20e"}.ion-ios-share-outline:before{content:"\f210"}.ion-ios-shirt:before{content:"\f213"}.ion-ios-shirt-outline:before{content:"\f212"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-shuffle-outline:before{content:"\f4a9"}.ion-ios-skip-backward:before{content:"\f215"}.ion-ios-skip-backward-outline:before{content:"\f214"}.ion-ios-skip-forward:before{content:"\f217"}.ion-ios-skip-forward-outline:before{content:"\f216"}.ion-ios-snow:before{content:"\f218"}.ion-ios-snow-outline:before{content:"\f22c"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-speedometer-outline:before{content:"\f4af"}.ion-ios-square:before{content:"\f21a"}.ion-ios-square-outline:before{content:"\f219"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-half-outline:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stats:before{content:"\f21c"}.ion-ios-stats-outline:before{content:"\f21b"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-stopwatch-outline:before{content:"\f4b4"}.ion-ios-subway:before{content:"\f21e"}.ion-ios-subway-outline:before{content:"\f21d"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-sunny-outline:before{content:"\f4b6"}.ion-ios-swap:before{content:"\f21f"}.ion-ios-swap-outline:before{content:"\f21f"}.ion-ios-switch:before{content:"\f221"}.ion-ios-switch-outline:before{content:"\f220"}.ion-ios-sync:before{content:"\f222"}.ion-ios-sync-outline:before{content:"\f222"}.ion-ios-tablet-landscape:before{content:"\f223"}.ion-ios-tablet-landscape-outline:before{content:"\f223"}.ion-ios-tablet-portrait:before{content:"\f24e"}.ion-ios-tablet-portrait-outline:before{content:"\f24e"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-tennisball-outline:before{content:"\f4ba"}.ion-ios-text:before{content:"\f250"}.ion-ios-text-outline:before{content:"\f24f"}.ion-ios-thermometer:before{content:"\f252"}.ion-ios-thermometer-outline:before{content:"\f251"}.ion-ios-thumbs-down:before{content:"\f254"}.ion-ios-thumbs-down-outline:before{content:"\f253"}.ion-ios-thumbs-up:before{content:"\f256"}.ion-ios-thumbs-up-outline:before{content:"\f255"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-thunderstorm-outline:before{content:"\f4bc"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-time-outline:before{content:"\f4be"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-timer-outline:before{content:"\f4c0"}.ion-ios-train:before{content:"\f258"}.ion-ios-train-outline:before{content:"\f257"}.ion-ios-transgender:before{content:"\f259"}.ion-ios-transgender-outline:before{content:"\f259"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trash-outline:before{content:"\f4c4"}.ion-ios-trending-down:before{content:"\f25a"}.ion-ios-trending-down-outline:before{content:"\f25a"}.ion-ios-trending-up:before{content:"\f25b"}.ion-ios-trending-up-outline:before{content:"\f25b"}.ion-ios-trophy:before{content:"\f25d"}.ion-ios-trophy-outline:before{content:"\f25c"}.ion-ios-umbrella:before{content:"\f25f"}.ion-ios-umbrella-outline:before{content:"\f25e"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-undo-outline:before{content:"\f4c6"}.ion-ios-unlock:before{content:"\f261"}.ion-ios-unlock-outline:before{content:"\f260"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-videocam-outline:before{content:"\f4cc"}.ion-ios-volume-down:before{content:"\f262"}.ion-ios-volume-down-outline:before{content:"\f262"}.ion-ios-volume-mute:before{content:"\f263"}.ion-ios-volume-mute-outline:before{content:"\f263"}.ion-ios-volume-off:before{content:"\f264"}.ion-ios-volume-off-outline:before{content:"\f264"}.ion-ios-volume-up:before{content:"\f265"}.ion-ios-volume-up-outline:before{content:"\f265"}.ion-ios-walk:before{content:"\f266"}.ion-ios-walk-outline:before{content:"\f266"}.ion-ios-warning:before{content:"\f268"}.ion-ios-warning-outline:before{content:"\f267"}.ion-ios-watch:before{content:"\f269"}.ion-ios-watch-outline:before{content:"\f269"}.ion-ios-water:before{content:"\f26b"}.ion-ios-water-outline:before{content:"\f26a"}.ion-ios-wifi:before{content:"\f26d"}.ion-ios-wifi-outline:before{content:"\f26c"}.ion-ios-wine:before{content:"\f26f"}.ion-ios-wine-outline:before{content:"\f26e"}.ion-ios-woman:before{content:"\f271"}.ion-ios-woman-outline:before{content:"\f270"}.ion-logo-android:before{content:"\f225"}.ion-logo-angular:before{content:"\f227"}.ion-logo-apple:before{content:"\f229"}.ion-logo-bitcoin:before{content:"\f22b"}.ion-logo-buffer:before{content:"\f22d"}.ion-logo-chrome:before{content:"\f22f"}.ion-logo-codepen:before{content:"\f230"}.ion-logo-css3:before{content:"\f231"}.ion-logo-designernews:before{content:"\f232"}.ion-logo-dribbble:before{content:"\f233"}.ion-logo-dropbox:before{content:"\f234"}.ion-logo-euro:before{content:"\f235"}.ion-logo-facebook:before{content:"\f236"}.ion-logo-foursquare:before{content:"\f237"}.ion-logo-freebsd-devil:before{content:"\f238"}.ion-logo-github:before{content:"\f239"}.ion-logo-google:before{content:"\f23a"}.ion-logo-googleplus:before{content:"\f23b"}.ion-logo-hackernews:before{content:"\f23c"}.ion-logo-html5:before{content:"\f23d"}.ion-logo-instagram:before{content:"\f23e"}.ion-logo-javascript:before{content:"\f23f"}.ion-logo-linkedin:before{content:"\f240"}.ion-logo-markdown:before{content:"\f241"}.ion-logo-nodejs:before{content:"\f242"}.ion-logo-octocat:before{content:"\f243"}.ion-logo-pinterest:before{content:"\f244"}.ion-logo-playstation:before{content:"\f245"}.ion-logo-python:before{content:"\f246"}.ion-logo-reddit:before{content:"\f247"}.ion-logo-rss:before{content:"\f248"}.ion-logo-sass:before{content:"\f249"}.ion-logo-skype:before{content:"\f24a"}.ion-logo-snapchat:before{content:"\f24b"}.ion-logo-steam:before{content:"\f24c"}.ion-logo-tumblr:before{content:"\f24d"}.ion-logo-tux:before{content:"\f2ae"}.ion-logo-twitch:before{content:"\f2af"}.ion-logo-twitter:before{content:"\f2b0"}.ion-logo-usd:before{content:"\f2b1"}.ion-logo-vimeo:before{content:"\f2c4"}.ion-logo-whatsapp:before{content:"\f2c5"}.ion-logo-windows:before{content:"\f32f"}.ion-logo-wordpress:before{content:"\f330"}.ion-logo-xbox:before{content:"\f34c"}.ion-logo-yahoo:before{content:"\f34d"}.ion-logo-yen:before{content:"\f34e"}.ion-logo-youtube:before{content:"\f34f"}.ion-md-add:before{content:"\f273"}.ion-md-add-circle:before{content:"\f272"}.ion-md-alarm:before{content:"\f274"}.ion-md-albums:before{content:"\f275"}.ion-md-alert:before{content:"\f276"}.ion-md-american-football:before{content:"\f277"}.ion-md-analytics:before{content:"\f278"}.ion-md-aperture:before{content:"\f279"}.ion-md-apps:before{content:"\f27a"}.ion-md-appstore:before{content:"\f27b"}.ion-md-archive:before{content:"\f27c"}.ion-md-arrow-back:before{content:"\f27d"}.ion-md-arrow-down:before{content:"\f27e"}.ion-md-arrow-dropdown:before{content:"\f280"}.ion-md-arrow-dropdown-circle:before{content:"\f27f"}.ion-md-arrow-dropleft:before{content:"\f282"}.ion-md-arrow-dropleft-circle:before{content:"\f281"}.ion-md-arrow-dropright:before{content:"\f284"}.ion-md-arrow-dropright-circle:before{content:"\f283"}.ion-md-arrow-dropup:before{content:"\f286"}.ion-md-arrow-dropup-circle:before{content:"\f285"}.ion-md-arrow-forward:before{content:"\f287"}.ion-md-arrow-round-back:before{content:"\f288"}.ion-md-arrow-round-down:before{content:"\f289"}.ion-md-arrow-round-forward:before{content:"\f28a"}.ion-md-arrow-round-up:before{content:"\f28b"}.ion-md-arrow-up:before{content:"\f28c"}.ion-md-at:before{content:"\f28d"}.ion-md-attach:before{content:"\f28e"}.ion-md-backspace:before{content:"\f28f"}.ion-md-barcode:before{content:"\f290"}.ion-md-baseball:before{content:"\f291"}.ion-md-basket:before{content:"\f292"}.ion-md-basketball:before{content:"\f293"}.ion-md-battery-charging:before{content:"\f294"}.ion-md-battery-dead:before{content:"\f295"}.ion-md-battery-full:before{content:"\f296"}.ion-md-beaker:before{content:"\f297"}.ion-md-beer:before{content:"\f298"}.ion-md-bicycle:before{content:"\f299"}.ion-md-bluetooth:before{content:"\f29a"}.ion-md-boat:before{content:"\f29b"}.ion-md-body:before{content:"\f29c"}.ion-md-bonfire:before{content:"\f29d"}.ion-md-book:before{content:"\f29e"}.ion-md-bookmark:before{content:"\f29f"}.ion-md-bookmarks:before{content:"\f2a0"}.ion-md-bowtie:before{content:"\f2a1"}.ion-md-briefcase:before{content:"\f2a2"}.ion-md-browsers:before{content:"\f2a3"}.ion-md-brush:before{content:"\f2a4"}.ion-md-bug:before{content:"\f2a5"}.ion-md-build:before{content:"\f2a6"}.ion-md-bulb:before{content:"\f2a7"}.ion-md-bus:before{content:"\f2a8"}.ion-md-cafe:before{content:"\f2a9"}.ion-md-calculator:before{content:"\f2aa"}.ion-md-calendar:before{content:"\f2ab"}.ion-md-call:before{content:"\f2ac"}.ion-md-camera:before{content:"\f2ad"}.ion-md-car:before{content:"\f2b2"}.ion-md-card:before{content:"\f2b3"}.ion-md-cart:before{content:"\f2b4"}.ion-md-cash:before{content:"\f2b5"}.ion-md-chatboxes:before{content:"\f2b6"}.ion-md-chatbubbles:before{content:"\f2b7"}.ion-md-checkbox:before{content:"\f2b9"}.ion-md-checkbox-outline:before{content:"\f2b8"}.ion-md-checkmark:before{content:"\f2bc"}.ion-md-checkmark-circle:before{content:"\f2bb"}.ion-md-checkmark-circle-outline:before{content:"\f2ba"}.ion-md-clipboard:before{content:"\f2bd"}.ion-md-clock:before{content:"\f2be"}.ion-md-close:before{content:"\f2c0"}.ion-md-close-circle:before{content:"\f2bf"}.ion-md-closed-captioning:before{content:"\f2c1"}.ion-md-cloud:before{content:"\f2c9"}.ion-md-cloud-circle:before{content:"\f2c2"}.ion-md-cloud-done:before{content:"\f2c3"}.ion-md-cloud-download:before{content:"\f2c6"}.ion-md-cloud-outline:before{content:"\f2c7"}.ion-md-cloud-upload:before{content:"\f2c8"}.ion-md-cloudy:before{content:"\f2cb"}.ion-md-cloudy-night:before{content:"\f2ca"}.ion-md-code:before{content:"\f2ce"}.ion-md-code-download:before{content:"\f2cc"}.ion-md-code-working:before{content:"\f2cd"}.ion-md-cog:before{content:"\f2cf"}.ion-md-color-fill:before{content:"\f2d0"}.ion-md-color-filter:before{content:"\f2d1"}.ion-md-color-palette:before{content:"\f2d2"}.ion-md-color-wand:before{content:"\f2d3"}.ion-md-compass:before{content:"\f2d4"}.ion-md-construct:before{content:"\f2d5"}.ion-md-contact:before{content:"\f2d6"}.ion-md-contacts:before{content:"\f2d7"}.ion-md-contract:before{content:"\f2d8"}.ion-md-contrast:before{content:"\f2d9"}.ion-md-copy:before{content:"\f2da"}.ion-md-create:before{content:"\f2db"}.ion-md-crop:before{content:"\f2dc"}.ion-md-cube:before{content:"\f2dd"}.ion-md-cut:before{content:"\f2de"}.ion-md-desktop:before{content:"\f2df"}.ion-md-disc:before{content:"\f2e0"}.ion-md-document:before{content:"\f2e1"}.ion-md-done-all:before{content:"\f2e2"}.ion-md-download:before{content:"\f2e3"}.ion-md-easel:before{content:"\f2e4"}.ion-md-egg:before{content:"\f2e5"}.ion-md-exit:before{content:"\f2e6"}.ion-md-expand:before{content:"\f2e7"}.ion-md-eye:before{content:"\f2e9"}.ion-md-eye-off:before{content:"\f2e8"}.ion-md-fastforward:before{content:"\f2ea"}.ion-md-female:before{content:"\f2eb"}.ion-md-filing:before{content:"\f2ec"}.ion-md-film:before{content:"\f2ed"}.ion-md-finger-print:before{content:"\f2ee"}.ion-md-flag:before{content:"\f2ef"}.ion-md-flame:before{content:"\f2f0"}.ion-md-flash:before{content:"\f2f1"}.ion-md-flask:before{content:"\f2f2"}.ion-md-flower:before{content:"\f2f3"}.ion-md-folder:before{content:"\f2f5"}.ion-md-folder-open:before{content:"\f2f4"}.ion-md-football:before{content:"\f2f6"}.ion-md-funnel:before{content:"\f2f7"}.ion-md-game-controller-a:before{content:"\f2f8"}.ion-md-game-controller-b:before{content:"\f2f9"}.ion-md-git-branch:before{content:"\f2fa"}.ion-md-git-commit:before{content:"\f2fb"}.ion-md-git-compare:before{content:"\f2fc"}.ion-md-git-merge:before{content:"\f2fd"}.ion-md-git-network:before{content:"\f2fe"}.ion-md-git-pull-request:before{content:"\f2ff"}.ion-md-glasses:before{content:"\f300"}.ion-md-globe:before{content:"\f301"}.ion-md-grid:before{content:"\f302"}.ion-md-hammer:before{content:"\f303"}.ion-md-hand:before{content:"\f304"}.ion-md-happy:before{content:"\f305"}.ion-md-headset:before{content:"\f306"}.ion-md-heart:before{content:"\f308"}.ion-md-heart-outline:before{content:"\f307"}.ion-md-help:before{content:"\f30b"}.ion-md-help-buoy:before{content:"\f309"}.ion-md-help-circle:before{content:"\f30a"}.ion-md-home:before{content:"\f30c"}.ion-md-ice-cream:before{content:"\f30d"}.ion-md-image:before{content:"\f30e"}.ion-md-images:before{content:"\f30f"}.ion-md-infinite:before{content:"\f310"}.ion-md-information:before{content:"\f312"}.ion-md-information-circle:before{content:"\f311"}.ion-md-ionic:before{content:"\f313"}.ion-md-ionitron:before{content:"\f314"}.ion-md-jet:before{content:"\f315"}.ion-md-key:before{content:"\f316"}.ion-md-keypad:before{content:"\f317"}.ion-md-laptop:before{content:"\f318"}.ion-md-leaf:before{content:"\f319"}.ion-md-link:before{content:"\f22e"}.ion-md-list:before{content:"\f31b"}.ion-md-list-box:before{content:"\f31a"}.ion-md-locate:before{content:"\f31c"}.ion-md-lock:before{content:"\f31d"}.ion-md-log-in:before{content:"\f31e"}.ion-md-log-out:before{content:"\f31f"}.ion-md-magnet:before{content:"\f320"}.ion-md-mail:before{content:"\f322"}.ion-md-mail-open:before{content:"\f321"}.ion-md-male:before{content:"\f323"}.ion-md-man:before{content:"\f324"}.ion-md-map:before{content:"\f325"}.ion-md-medal:before{content:"\f326"}.ion-md-medical:before{content:"\f327"}.ion-md-medkit:before{content:"\f328"}.ion-md-megaphone:before{content:"\f329"}.ion-md-menu:before{content:"\f32a"}.ion-md-mic:before{content:"\f32c"}.ion-md-mic-off:before{content:"\f32b"}.ion-md-microphone:before{content:"\f32d"}.ion-md-moon:before{content:"\f32e"}.ion-md-more:before{content:"\f1c9"}.ion-md-move:before{content:"\f331"}.ion-md-musical-note:before{content:"\f332"}.ion-md-musical-notes:before{content:"\f333"}.ion-md-navigate:before{content:"\f334"}.ion-md-no-smoking:before{content:"\f335"}.ion-md-notifications:before{content:"\f338"}.ion-md-notifications-off:before{content:"\f336"}.ion-md-notifications-outline:before{content:"\f337"}.ion-md-nuclear:before{content:"\f339"}.ion-md-nutrition:before{content:"\f33a"}.ion-md-open:before{content:"\f33b"}.ion-md-options:before{content:"\f33c"}.ion-md-outlet:before{content:"\f33d"}.ion-md-paper:before{content:"\f33f"}.ion-md-paper-plane:before{content:"\f33e"}.ion-md-partly-sunny:before{content:"\f340"}.ion-md-pause:before{content:"\f341"}.ion-md-paw:before{content:"\f342"}.ion-md-people:before{content:"\f343"}.ion-md-person:before{content:"\f345"}.ion-md-person-add:before{content:"\f344"}.ion-md-phone-landscape:before{content:"\f346"}.ion-md-phone-portrait:before{content:"\f347"}.ion-md-photos:before{content:"\f348"}.ion-md-pie:before{content:"\f349"}.ion-md-pin:before{content:"\f34a"}.ion-md-pint:before{content:"\f34b"}.ion-md-pizza:before{content:"\f354"}.ion-md-plane:before{content:"\f355"}.ion-md-planet:before{content:"\f356"}.ion-md-play:before{content:"\f357"}.ion-md-podium:before{content:"\f358"}.ion-md-power:before{content:"\f359"}.ion-md-pricetag:before{content:"\f35a"}.ion-md-pricetags:before{content:"\f35b"}.ion-md-print:before{content:"\f35c"}.ion-md-pulse:before{content:"\f35d"}.ion-md-qr-scanner:before{content:"\f35e"}.ion-md-quote:before{content:"\f35f"}.ion-md-radio:before{content:"\f362"}.ion-md-radio-button-off:before{content:"\f360"}.ion-md-radio-button-on:before{content:"\f361"}.ion-md-rainy:before{content:"\f363"}.ion-md-recording:before{content:"\f364"}.ion-md-redo:before{content:"\f365"}.ion-md-refresh:before{content:"\f366"}.ion-md-refresh-circle:before{content:"\f228"}.ion-md-remove:before{content:"\f368"}.ion-md-remove-circle:before{content:"\f367"}.ion-md-reorder:before{content:"\f369"}.ion-md-repeat:before{content:"\f36a"}.ion-md-resize:before{content:"\f36b"}.ion-md-restaurant:before{content:"\f36c"}.ion-md-return-left:before{content:"\f36d"}.ion-md-return-right:before{content:"\f36e"}.ion-md-reverse-camera:before{content:"\f36f"}.ion-md-rewind:before{content:"\f370"}.ion-md-ribbon:before{content:"\f371"}.ion-md-rose:before{content:"\f372"}.ion-md-sad:before{content:"\f373"}.ion-md-school:before{content:"\f374"}.ion-md-search:before{content:"\f375"}.ion-md-send:before{content:"\f376"}.ion-md-settings:before{content:"\f377"}.ion-md-share:before{content:"\f379"}.ion-md-share-alt:before{content:"\f378"}.ion-md-shirt:before{content:"\f37a"}.ion-md-shuffle:before{content:"\f37b"}.ion-md-skip-backward:before{content:"\f37c"}.ion-md-skip-forward:before{content:"\f37d"}.ion-md-snow:before{content:"\f37e"}.ion-md-speedometer:before{content:"\f37f"}.ion-md-square:before{content:"\f381"}.ion-md-square-outline:before{content:"\f380"}.ion-md-star:before{content:"\f384"}.ion-md-star-half:before{content:"\f382"}.ion-md-star-outline:before{content:"\f383"}.ion-md-stats:before{content:"\f385"}.ion-md-stopwatch:before{content:"\f386"}.ion-md-subway:before{content:"\f387"}.ion-md-sunny:before{content:"\f388"}.ion-md-swap:before{content:"\f389"}.ion-md-switch:before{content:"\f38a"}.ion-md-sync:before{content:"\f38b"}.ion-md-tablet-landscape:before{content:"\f38c"}.ion-md-tablet-portrait:before{content:"\f38d"}.ion-md-tennisball:before{content:"\f38e"}.ion-md-text:before{content:"\f38f"}.ion-md-thermometer:before{content:"\f390"}.ion-md-thumbs-down:before{content:"\f391"}.ion-md-thumbs-up:before{content:"\f392"}.ion-md-thunderstorm:before{content:"\f393"}.ion-md-time:before{content:"\f394"}.ion-md-timer:before{content:"\f395"}.ion-md-train:before{content:"\f396"}.ion-md-transgender:before{content:"\f397"}.ion-md-trash:before{content:"\f398"}.ion-md-trending-down:before{content:"\f399"}.ion-md-trending-up:before{content:"\f39a"}.ion-md-trophy:before{content:"\f39b"}.ion-md-umbrella:before{content:"\f39c"}.ion-md-undo:before{content:"\f39d"}.ion-md-unlock:before{content:"\f39e"}.ion-md-videocam:before{content:"\f39f"}.ion-md-volume-down:before{content:"\f3a0"}.ion-md-volume-mute:before{content:"\f3a1"}.ion-md-volume-off:before{content:"\f3a2"}.ion-md-volume-up:before{content:"\f3a3"}.ion-md-walk:before{content:"\f3a4"}.ion-md-warning:before{content:"\f3a5"}.ion-md-watch:before{content:"\f3a6"}.ion-md-water:before{content:"\f3a7"}.ion-md-wifi:before{content:"\f3a8"}.ion-md-wine:before{content:"\f3a9"}.ion-md-woman:before{content:"\f3aa"}@font-face{font-family:Ionicons;src:url(../assets/fonts/ionicons.woff2?v=3.0.0-alpha.3) format("woff2"),url(../assets/fonts/ionicons.woff?v=3.0.0-alpha.3) format("woff"),url(../assets/fonts/ionicons.ttf?v=3.0.0-alpha.3) format("truetype");font-weight:400;font-style:normal}ion-icon{display:inline-block;font-family:Ionicons;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-rendering:auto;text-transform:none;speak:none}ion-icon::before{display:inline-block}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(../assets/fonts/roboto-light.woff2) format("woff2"),url(../assets/fonts/roboto-light.woff) format("woff"),url(../assets/fonts/roboto-light.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url(../assets/fonts/roboto-regular.woff2) format("woff2"),url(../assets/fonts/roboto-regular.woff) format("woff"),url(../assets/fonts/roboto-regular.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local("Roboto Medium"),local("Roboto-Medium"),url(../assets/fonts/roboto-medium.woff2) format("woff2"),url(../assets/fonts/roboto-medium.woff) format("woff"),url(../assets/fonts/roboto-medium.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(../assets/fonts/roboto-bold.woff2) format("woff2"),url(../assets/fonts/roboto-bold.woff) format("woff"),url(../assets/fonts/roboto-bold.ttf) format("truetype")}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:300;src:local("Noto Sans"),local("Noto-Sans-Regular"),url(../assets/fonts/noto-sans-regular.woff) format("woff"),url(../assets/fonts/noto-sans-regular.ttf) format("truetype")}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:400;src:local("Noto Sans"),local("Noto-Sans-Regular"),url(../assets/fonts/noto-sans-regular.woff) format("woff"),url(../assets/fonts/noto-sans-regular.ttf) format("truetype")}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:500;src:local("Noto Sans Bold"),local("Noto-Sans-Bold"),url(../assets/fonts/noto-sans-bold.woff) format("woff"),url(../assets/fonts/noto-sans-bold.ttf) format("truetype")}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:700;src:local("Noto Sans Bold"),local("Noto-Sans-Bold"),url(../assets/fonts/noto-sans-bold.woff) format("woff"),url(../assets/fonts/noto-sans-bold.ttf) format("truetype")}ion-action-sheet{left:0;top:0;position:absolute;z-index:1000;display:block;width:100%;height:100%}.action-sheet-wrapper{left:0;right:0;top:0;bottom:0;margin:auto;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);position:absolute;z-index:10;display:block;width:100%;max-width:500px;pointer-events:none}.action-sheet-button{width:100%}.action-sheet-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group{overflow:scroll;-webkit-flex-shrink:2;-ms-flex-negative:2;flex-shrink:2;pointer-events:all}.action-sheet-group-cancel{overflow:hidden;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.action-sheet-ios{text-align:center}.action-sheet-ios .action-sheet-wrapper{margin:constant(safe-area-inset-top) auto constant(safe-area-inset-bottom);margin:env(safe-area-inset-top) auto env(safe-area-inset-bottom)}.action-sheet-ios .action-sheet-container{padding:0 10px}.action-sheet-ios .action-sheet-group{border-radius:13px;margin-bottom:8px;background:#f9f9f9}.action-sheet-ios .action-sheet-group:first-child{margin-top:10px}.action-sheet-ios .action-sheet-group:last-child{margin-bottom:10px}.action-sheet-ios .action-sheet-title{padding:1.5rem;text-align:center;border-radius:0;border-bottom:.55px solid #d6d6da;font-size:1.3rem;font-weight:400;color:#8f8f8f}.action-sheet-ios .action-sheet-button{margin:0;padding:18px;min-height:5.6rem;border-bottom:.55px solid #d6d6da;font-size:2rem;color:#007aff;background:0 0}.action-sheet-ios .action-sheet-button:last-child{border-bottom-color:transparent}.action-sheet-ios .action-sheet-button.activated{margin-top:-.55px;border-top:.55px solid #ebebeb;border-bottom-color:#ebebeb;background:#ebebeb}.action-sheet-ios .action-sheet-selected{font-weight:700;background:#fff}.action-sheet-ios .action-sheet-destructive{color:#f53d3d}.action-sheet-ios .action-sheet-cancel{font-weight:600;background:#fff}.action-sheet-md .action-sheet-title{text-align:left;text-align:start;font-size:1.6rem;color:#757575;padding:11px 16px 17px}.action-sheet-md .action-sheet-button{text-align:left;text-align:start;position:relative;overflow:hidden;min-height:4.8rem;font-size:1.6rem;color:#222;background:0 0;padding:0 16px}.action-sheet-md .action-sheet-button.activated{background:#f1f1f1}.action-sheet-md .action-sheet-icon{padding:0;text-align:center;width:2.3rem;font-size:2.4rem;vertical-align:middle;margin:0 32px 0 0}.action-sheet-md .action-sheet-group{background:#fafafa}.action-sheet-md .action-sheet-group:first-child{padding-top:.8rem}.action-sheet-md .action-sheet-group:last-child{padding-bottom:.8rem}.action-sheet-md .action-sheet-group .button-inner{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.action-sheet-md .action-sheet-selected{font-weight:700}.action-sheet-wp .action-sheet-title{text-align:left;text-align:start;font-size:2rem;color:#4d4d4d;padding:11px 16px 17px}.action-sheet-wp .action-sheet-button{text-align:left;text-align:start;min-height:4.8rem;font-size:1.5rem;color:#4d4d4d;background:0 0;padding:0 16px}.action-sheet-wp .action-sheet-button.activated{background:#aaa}.action-sheet-wp .action-sheet-icon{padding:0;text-align:center;width:2.3rem;font-size:2.4rem;vertical-align:middle;margin:0 20px 0 0}.action-sheet-wp .action-sheet-group{background:#fff}.action-sheet-wp .action-sheet-group:first-child{padding-top:.8rem;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.2);box-shadow:0 -1px 0 rgba(0,0,0,.2)}.action-sheet-wp .action-sheet-group:last-child{padding-bottom:.8rem}.action-sheet-wp .action-sheet-group .button-inner{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.action-sheet-wp .action-sheet-selected{font-weight:700}.action-sheet-wp .action-sheet-cancel{background:0 0}ion-alert{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;contain:strict}ion-alert.alert-top{padding-top:50px;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}ion-alert input{width:100%}.alert-wrapper{z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-width:250px;max-height:90%;opacity:0;contain:content}.alert-title{margin:0;padding:0}.alert-sub-title{margin:5px 0 0;padding:0;font-weight:400}.alert-message{overflow-y:scroll;-webkit-overflow-scrolling:touch}.alert-input{padding:10px 0;border:0;background:inherit}.alert-input::-moz-placeholder{color:#999}.alert-input:-ms-input-placeholder{color:#999}.alert-input::-webkit-input-placeholder{text-indent:0;color:#999}.alert-button-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.alert-button-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button{margin:0;z-index:0;display:block;font-size:14px;line-height:20px}.alert-tappable{text-align:left;text-align:start;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;margin:0;padding:0;width:100%;font-size:inherit;line-height:initial;background:0 0}.alert-ios .alert-wrapper{border-radius:13px;overflow:hidden;max-width:270px;background-color:#f8f8f8;-webkit-box-shadow:none;box-shadow:none}.alert-ios .alert-head{text-align:center;padding:12px 16px 7px}.alert-ios .alert-title{margin-top:8px;font-size:17px;font-weight:600}.alert-ios .alert-sub-title{font-size:14px;color:#666}.alert-ios .alert-input-group,.alert-ios .alert-message{text-align:center;font-size:13px;color:inherit;padding:0 16px 21px}.alert-ios .alert-message{max-height:240px}.alert-ios .alert-message:empty{padding:0 0 12px}.alert-ios .alert-input{-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;margin-top:10px;border-radius:4px;border:.55px solid #ccc;background-color:#fff;padding:6px}.alert-ios .alert-checkbox-group,.alert-ios .alert-radio-group{overflow:scroll;max-height:240px;border-top:.55px solid #dbdbdf;-webkit-overflow-scrolling:touch}.alert-ios .alert-tappable{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:44px}.alert-ios .alert-radio-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px}.alert-ios [aria-checked=true] .alert-radio-label{color:#673ab7}.alert-ios .alert-radio-icon{position:relative;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;min-width:30px}.alert-ios [aria-checked=true] .alert-radio-inner{left:7px;top:-7px;position:absolute;width:6px;height:12px;border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#673ab7;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.alert-ios .alert-checkbox-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px}.alert-ios [aria-checked=true] .alert-checkbox-label{color:initial}.alert-ios .alert-checkbox-icon{border-radius:50%;position:relative;width:21px;height:21px;border-width:.55px;border-style:solid;border-color:#c8c7cc;background-color:#fff;margin:10px 6px 10px 16px}.alert-ios [aria-checked=true] .alert-checkbox-icon{border-color:#673ab7;background-color:#673ab7}.alert-ios [aria-checked=true] .alert-checkbox-inner{left:7px;top:4px;position:absolute;width:4px;height:9px;border-width:.55px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.alert-ios .alert-button-group{margin-right:-.55px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.alert-ios .alert-button{margin:0;border-radius:0;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:44px;border-top:.55px solid #dbdbdf;border-right:.55px solid #dbdbdf;font-size:17px;color:#673ab7;background-color:transparent}.alert-ios .alert-button:last-child{border-right:0;font-weight:700}.alert-ios .alert-button.activated{background-color:#e9e9e9}.alert-md .alert-wrapper{border-radius:2px;max-width:280px;background-color:#fafafa;-webkit-box-shadow:0 16px 20px rgba(0,0,0,.4);box-shadow:0 16px 20px rgba(0,0,0,.4)}.alert-md .alert-head{text-align:left;text-align:start;padding:24px 24px 20px}.alert-md .alert-title{font-size:22px}.alert-md .alert-sub-title{font-size:16px}.alert-md .alert-input-group,.alert-md .alert-message{color:rgba(0,0,0,.5);padding:0 24px 24px}.alert-md .alert-message{max-height:240px;font-size:15px}.alert-md .alert-message:empty{padding:0}.alert-md .alert-input{margin:5px 0;border-bottom:1px solid #dedede;color:#000}.alert-md .alert-input:focus{margin-bottom:4px;border-bottom:2px solid #673ab7}.alert-md .alert-checkbox-group,.alert-md .alert-radio-group{position:relative;overflow:auto;max-height:240px;border-top:1px solid #dedede;border-bottom:1px solid #dedede}.alert-md .alert-tappable{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;min-height:4.4rem}.alert-md .alert-radio-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px 26px}.alert-md .alert-radio-icon{left:13px;top:0;border-radius:50%;position:relative;display:block;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#787878}.alert-md .alert-radio-inner{left:2px;top:2px;border-radius:50%;position:absolute;width:8px;height:8px;background-color:#673ab7;-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0);-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1);transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1);transition:transform 280ms cubic-bezier(.4,0,.2,1);transition:transform 280ms cubic-bezier(.4,0,.2,1),-webkit-transform 280ms cubic-bezier(.4,0,.2,1)}.alert-md [aria-checked=true] .alert-radio-label{color:#673ab7}.alert-md [aria-checked=true] .alert-radio-icon{border-color:#673ab7}.alert-md [aria-checked=true] .alert-radio-inner{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.alert-md .alert-checkbox-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px 26px}.alert-md [aria-checked=true] .alert-checkbox-label{color:initial}.alert-md .alert-checkbox-icon{left:13px;top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#787878}.alert-md [aria-checked=true] .alert-checkbox-icon{border-color:#673ab7;background-color:#673ab7}.alert-md [aria-checked=true] .alert-checkbox-inner{left:3px;top:0;position:absolute;width:6px;height:10px;border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.alert-md .alert-button-group{-webkit-flex-wrap:wrap-reverse;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:8px 8px 8px 24px}.alert-md .alert-button{text-align:right;text-align:end;border-radius:2px;position:relative;overflow:hidden;font-weight:500;text-transform:uppercase;color:#673ab7;background-color:transparent;margin:0 8px 0 0;padding:10px}.alert-md .alert-button.activated{background-color:rgba(158,158,158,.2)}.alert-md .alert-button .button-inner{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.alert-wp ion-backdrop{background:#fff}.alert-wp .alert-wrapper{border-radius:0;width:100%;max-width:520px;border:1px solid #673ab7;background:#e6e6e6}.alert-wp .alert-head{text-align:left;text-align:start;padding:20px 22px 5px}.alert-wp .alert-title{font-size:20px;font-weight:400}.alert-wp .alert-sub-title{font-size:16px}.alert-wp .alert-input-group,.alert-wp .alert-message{color:#000;padding:0 22px 8px}.alert-wp .alert-message{max-height:240px;font-size:13px}.alert-wp .alert-message:empty{padding:0}.alert-wp .alert-input{border:2px solid rgba(0,0,0,.5);line-height:3rem;color:#000;margin:5px 0;padding:0 8px}.alert-wp .alert-input:focus{border-color:#673ab7}.alert-wp .alert-checkbox-group,.alert-wp .alert-radio-group{position:relative;overflow:auto;max-height:240px}.alert-wp .alert-tappable{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;min-height:4.4rem}.alert-wp .alert-radio-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px 26px}.alert-wp .alert-radio-icon{left:13px;top:0;margin:0;border-radius:50%;position:relative;display:block;width:16px;height:16px;border-width:2px;border-style:solid;border-color:rgba(0,0,0,.5)}.alert-wp .alert-radio-inner{left:2px;top:2px;border-radius:50%;position:absolute;display:none;width:8px;height:8px;background:#673ab7}.alert-wp [aria-checked=true] .alert-radio-label{color:#000}.alert-wp [aria-checked=true] .alert-radio-icon{border-color:rgba(0,0,0,.5)}.alert-wp [aria-checked=true] .alert-radio-inner{display:block}.alert-wp .alert-checkbox-label{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-overflow:ellipsis;white-space:nowrap;color:initial;padding:13px 26px}.alert-wp [aria-checked=true] .alert-checkbox-label{color:initial}.alert-wp .alert-checkbox-icon{left:13px;top:0;border-radius:0;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:rgba(0,0,0,.5);background:0 0}.alert-wp [aria-checked=true] .alert-checkbox-icon{border-color:#673ab7;background:#673ab7}.alert-wp [aria-checked=true] .alert-checkbox-inner{left:3px;top:-2px;position:absolute;width:6px;height:12px;border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.alert-wp .alert-button-group{-webkit-flex-wrap:wrap-reverse;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:20px 22px}.alert-wp .alert-button-group-vertical .alert-button{margin-top:5px;width:100%}.alert-wp .alert-button-group-vertical .alert-button:first-child:not(:only-child){margin-right:0;margin-top:0}.alert-wp .alert-button{border-radius:0;width:49.5%;font-weight:400;color:#000;background:#b8b8b8;padding:5px}.alert-wp .alert-button:first-child:not(:only-child){margin-right:1%}.alert-wp .alert-button.activated{background:#a9a9a9}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%;border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:1px;border-width:0;-webkit-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}input,label,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::-webkit-input-placeholder{padding-left:2px}textarea:-ms-input-placeholder{padding-left:2px}textarea::-ms-input-placeholder{padding-left:2px}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}[tappable],[tappable] div,[tappable] ion-icon,[tappable] ion-label,[tappable] span,a,a div,a ion-icon,a ion-label,a span,button,button div,button ion-icon,button ion-label,button span,input,textarea{-ms-touch-action:manipulation;touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{border:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hide,[hidden],template{display:none!important}.sticky{position:-webkit-sticky;position:sticky;top:0}:active,:focus{outline:0}.focus-outline :focus{outline:thin dotted;outline-offset:-1px}.focus-outline [ion-button]:focus,.focus-outline button:focus{border-color:#51a7e8;outline:2px solid #51a7e8;-webkit-box-shadow:0 0 8px 1px #51a7e8;box-shadow:0 0 8px 1px #51a7e8}ion-input :focus{outline:0}.click-block{display:none}.click-block-enabled{left:0;right:0;top:0;bottom:0;-webkit-transform:translate3d(0,-100%,0) translateY(1px);transform:translate3d(0,-100%,0) translateY(1px);position:absolute;z-index:99999;display:block;opacity:0;contain:strict}.click-block-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;font-size:62.5%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;position:fixed;overflow:hidden;width:100%;max-width:100%;height:100%;max-height:100%;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-user-drag:none;-ms-content-zooming:none;-ms-touch-action:manipulation;touch-action:manipulation;word-wrap:break-word;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}a{background-color:transparent}.enable-hover a:hover{opacity:.7}h1,h2,h3,h4,h5,h6{margin-top:1.6rem;margin-bottom:1rem;font-weight:500;line-height:1.2}[padding] h1:first-child,[padding] h2:first-child,[padding] h3:first-child,[padding] h4:first-child,[padding] h5:first-child,[padding] h6:first-child{margin-top:-.3rem}h1+h2,h1+h3,h2+h3{margin-top:-.3rem}h1{margin-top:2rem;font-size:2.6rem}h2{margin-top:1.8rem;font-size:2.4rem}h3{font-size:2.2rem}h4{font-size:2rem}h5{font-size:1.8rem}h6{font-size:1.6rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.app-root,ion-app,ion-nav,ion-tab,ion-tabs{left:0;top:0;position:absolute;z-index:0;display:block;width:100%;height:100%}ion-nav,ion-tab,ion-tabs{overflow:hidden}ion-tab{display:none}ion-tab.show-tab{display:block}.app-root,.ion-page,ion-app,ion-nav,ion-tab,ion-tabs{contain:strict}.ion-page{left:0;top:0;position:absolute;display:block;width:100%;height:100%;opacity:0}.ion-page.show-page{opacity:1}ion-header{left:0;top:0;position:absolute;z-index:10;display:block;width:100%}ion-footer{left:0;bottom:0;position:absolute;z-index:10;display:block;width:100%}.nav-decor,[app-viewport],[nav-viewport],[overlay-portal],[tab-portal]{display:none}[text-center]{text-align:center!important}[text-justify]{text-align:justify!important}[text-start]{text-align:left;text-align:start!important}[text-end]{text-align:right;text-align:end!important}[text-left]{text-align:left!important}[text-right]{text-align:right!important}[text-nowrap]{white-space:nowrap!important}[text-wrap]{white-space:normal!important}@media (min-width:576px){[text-sm-center]{text-align:center!important}[text-sm-justify]{text-align:justify!important}[text-sm-start]{text-align:left;text-align:start!important}[text-sm-end]{text-align:right;text-align:end!important}[text-sm-left]{text-align:left!important}[text-sm-right]{text-align:right!important}[text-sm-nowrap]{white-space:nowrap!important}[text-sm-wrap]{white-space:normal!important}}@media (min-width:768px){[text-md-center]{text-align:center!important}[text-md-justify]{text-align:justify!important}[text-md-start]{text-align:left;text-align:start!important}[text-md-end]{text-align:right;text-align:end!important}[text-md-left]{text-align:left!important}[text-md-right]{text-align:right!important}[text-md-nowrap]{white-space:nowrap!important}[text-md-wrap]{white-space:normal!important}}@media (min-width:992px){[text-lg-center]{text-align:center!important}[text-lg-justify]{text-align:justify!important}[text-lg-start]{text-align:left;text-align:start!important}[text-lg-end]{text-align:right;text-align:end!important}[text-lg-left]{text-align:left!important}[text-lg-right]{text-align:right!important}[text-lg-nowrap]{white-space:nowrap!important}[text-lg-wrap]{white-space:normal!important}}@media (min-width:1200px){[text-xl-center]{text-align:center!important}[text-xl-justify]{text-align:justify!important}[text-xl-start]{text-align:left;text-align:start!important}[text-xl-end]{text-align:right;text-align:end!important}[text-xl-left]{text-align:left!important}[text-xl-right]{text-align:right!important}[text-xl-nowrap]{white-space:nowrap!important}[text-xl-wrap]{white-space:normal!important}}[text-uppercase]{text-transform:uppercase!important}[text-lowercase]{text-transform:lowercase!important}[text-capitalize]{text-transform:capitalize!important}@media (min-width:576px){[text-sm-uppercase]{text-transform:uppercase!important}[text-sm-lowercase]{text-transform:lowercase!important}[text-sm-capitalize]{text-transform:capitalize!important}}@media (min-width:768px){[text-md-uppercase]{text-transform:uppercase!important}[text-md-lowercase]{text-transform:lowercase!important}[text-md-capitalize]{text-transform:capitalize!important}}@media (min-width:992px){[text-lg-uppercase]{text-transform:uppercase!important}[text-lg-lowercase]{text-transform:lowercase!important}[text-lg-capitalize]{text-transform:capitalize!important}}@media (min-width:1200px){[text-xl-uppercase]{text-transform:uppercase!important}[text-xl-lowercase]{text-transform:lowercase!important}[text-xl-capitalize]{text-transform:capitalize!important}}[float-left]{float:left!important}[float-right]{float:right!important}[float-start]{float:left!important}[float-end]{float:right!important}@media (min-width:576px){[float-sm-left]{float:left!important}[float-sm-right]{float:right!important}[float-sm-start]{float:left!important}[float-sm-end]{float:right!important}}@media (min-width:768px){[float-md-left]{float:left!important}[float-md-right]{float:right!important}[float-md-start]{float:left!important}[float-md-end]{float:right!important}}@media (min-width:992px){[float-lg-left]{float:left!important}[float-lg-right]{float:right!important}[float-lg-start]{float:left!important}[float-lg-end]{float:right!important}}@media (min-width:1200px){[float-xl-left]{float:left!important}[float-xl-right]{float:right!important}[float-xl-start]{float:left!important}[float-xl-end]{float:right!important}}ion-app.ios{font-family:-apple-system,"Helvetica Neue",Roboto,sans-serif;font-size:1.4rem;background-color:#fff}ion-app.md{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:1.4rem;background-color:#fff}ion-app.wp{font-family:"Segoe UI","Noto Sans",sans-serif;font-size:1.4rem;background-color:#fff}ion-backdrop{left:0;top:0;position:absolute;z-index:2;display:block;width:100%;height:100%;background-color:#000;opacity:.01;-webkit-transform:translateZ(0);transform:translateZ(0)}ion-backdrop.backdrop-no-tappable{cursor:auto}ion-badge{padding:3px 8px;text-align:center;display:inline-block;min-width:10px;font-size:1.3rem;font-weight:700;line-height:1;white-space:nowrap;vertical-align:baseline}ion-badge:empty{display:none}.badge-ios{border-radius:10px;color:#fff;background-color:#673ab7}.badge-ios-primary{color:#fff;background-color:#673ab7}.badge-ios-secondary{color:#fff;background-color:#32db64}.badge-ios-danger{color:#fff;background-color:#f53d3d}.badge-ios-light{color:#000;background-color:#f4f4f4}.badge-ios-dark{color:#fff;background-color:#222}.badge-ios-optblue{color:#fff;background-color:#e00201}.badge-md{border-radius:4px;color:#fff;background-color:#673ab7}.badge-md-primary{color:#fff;background-color:#673ab7}.badge-md-secondary{color:#fff;background-color:#32db64}.badge-md-danger{color:#fff;background-color:#f53d3d}.badge-md-light{color:#000;background-color:#f4f4f4}.badge-md-dark{color:#fff;background-color:#222}.badge-md-optblue{color:#fff;background-color:#e00201}.badge-wp{border-radius:0;color:#fff;background-color:#673ab7}.badge-wp-primary{color:#fff;background-color:#673ab7}.badge-wp-secondary{color:#fff;background-color:#32db64}.badge-wp-danger{color:#fff;background-color:#f53d3d}.badge-wp-light{color:#000;background-color:#f4f4f4}.badge-wp-dark{color:#fff;background-color:#222}.badge-wp-optblue{color:#fff;background-color:#e00201}.button{text-align:center;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;position:relative;z-index:0;display:inline-block;text-overflow:ellipsis;text-transform:none;white-space:nowrap;cursor:pointer;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-transition:background-color,opacity .1s linear;transition:background-color,opacity .1s linear;-webkit-font-kerning:none;font-kerning:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;contain:content}.button-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}[ion-button]{text-decoration:none}[ion-button][disabled],a[disabled],button[disabled]{cursor:default;opacity:.4;pointer-events:none}.button-block{display:block;clear:both;width:100%;contain:strict}.button-block::after{clear:both}.button-full{display:block;width:100%;contain:strict}.button-full.button-outline{border-radius:0;border-right-width:0;border-left-width:0}[icon-left] ion-icon,[icon-start] ion-icon{font-size:1.4em;line-height:.67;pointer-events:none;padding-right:.3em}[icon-end] ion-icon,[icon-right] ion-icon{font-size:1.4em;line-height:.67;pointer-events:none;padding-left:.4em}.button[icon-only]{padding:0;min-width:.9em}[icon-only] ion-icon{padding:0 .5em;font-size:1.8em;line-height:.67;pointer-events:none}.button-ios{border-radius:4px;height:2.8em;font-size:1.6rem;color:#fff;background-color:#673ab7;margin:.4rem .2rem;padding:0 1em}.button-ios.activated{background-color:#734abd;opacity:1}.button-ios:hover:not(.disable-hover){opacity:.8}.button-large-ios{height:2.8em;font-size:2rem;padding:0 1em}.button-small-ios{height:2.1em;font-size:1.3rem;padding:0 .9em}.button-small-ios[icon-only] ion-icon{font-size:1.3em}.button-block-ios{margin-left:0;margin-right:0}.button-full-ios{margin-left:0;margin-right:0;border-radius:0;border-right-width:0;border-left-width:0}.button-outline-ios{border-radius:4px;border-width:1px;border-style:solid;border-color:#673ab7;color:#673ab7;background-color:transparent}.button-outline-ios.activated{color:#fff;background-color:#673ab7;opacity:1}.button-clear-ios{border-color:transparent;color:#673ab7;background-color:transparent}.button-clear-ios.activated{background-color:transparent;opacity:.4}.button-clear-ios:hover:not(.disable-hover){color:#673ab7;opacity:.6}.button-round-ios{border-radius:64px;padding:0 2.6rem}.button-ios-primary{color:#fff;background-color:#673ab7}.button-ios-primary.activated{background-color:#734abd}.button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.button-clear-ios-primary{border-color:transparent;color:#673ab7;background-color:transparent}.button-clear-ios-primary.activated{opacity:.4}.button-clear-ios-primary:hover:not(.disable-hover){color:#673ab7}.button-ios-secondary{color:#fff;background-color:#32db64}.button-ios-secondary.activated{background-color:#2ec95c}.button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.button-clear-ios-secondary{border-color:transparent;color:#32db64;background-color:transparent}.button-clear-ios-secondary.activated{opacity:.4}.button-clear-ios-secondary:hover:not(.disable-hover){color:#32db64}.button-ios-danger{color:#fff;background-color:#f53d3d}.button-ios-danger.activated{background-color:#e13838}.button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.button-clear-ios-danger{border-color:transparent;color:#f53d3d;background-color:transparent}.button-clear-ios-danger.activated{opacity:.4}.button-clear-ios-danger:hover:not(.disable-hover){color:#f53d3d}.button-ios-light{color:#000;background-color:#f4f4f4}.button-ios-light.activated{background-color:#e0e0e0}.button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.button-clear-ios-light{border-color:transparent;color:#f4f4f4;background-color:transparent}.button-clear-ios-light.activated{opacity:.4}.button-clear-ios-light:hover:not(.disable-hover){color:#f4f4f4}.button-ios-dark{color:#fff;background-color:#222}.button-ios-dark.activated{background-color:#343434}.button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.button-outline-ios-dark.activated{color:#fff;background-color:#222}.button-clear-ios-dark{border-color:transparent;color:#222;background-color:transparent}.button-clear-ios-dark.activated{opacity:.4}.button-clear-ios-dark:hover:not(.disable-hover){color:#222}.button-ios-optblue{color:#fff;background-color:#e00201}.button-ios-optblue.activated{background-color:#e21615}.button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.button-clear-ios-optblue{border-color:transparent;color:#e00201;background-color:transparent}.button-clear-ios-optblue.activated{opacity:.4}.button-clear-ios-optblue:hover:not(.disable-hover){color:#e00201}.button-strong-ios{font-weight:600}.button-md{border-radius:2px;overflow:hidden;height:3.6rem;font-size:1.4rem;font-weight:500;text-transform:uppercase;color:#fff;background-color:#673ab7;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);margin:.4rem .2rem;padding:0 1.1em}.button-md:hover:not(.disable-hover){background-color:#673ab7}.button-md.activated{background-color:#734abd;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.14),0 3px 5px rgba(0,0,0,.21),0 0 0 0 transparent;box-shadow:0 3px 5px rgba(0,0,0,.14),0 3px 5px rgba(0,0,0,.21),0 0 0 0 transparent}.button-md .button-effect{background-color:#fff}.button-large-md{height:2.8em;font-size:2rem;padding:0 1em}.button-small-md{height:2.1em;font-size:1.3rem;padding:0 .9em}.button-small-md[icon-only] ion-icon{font-size:1.4em}.button-block-md{margin-left:0;margin-right:0}.button-full-md{margin-left:0;margin-right:0;border-radius:0;border-right-width:0;border-left-width:0}.button-outline-md{border-width:1px;border-style:solid;border-color:#673ab7;color:#673ab7;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.button-outline-md:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md.activated{background-color:transparent;-webkit-box-shadow:none;box-shadow:none;opacity:1}.button-outline-md .button-effect{background-color:#673ab7}.button-clear-md{border-color:transparent;color:#673ab7;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;opacity:1}.button-clear-md.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-clear-md .button-effect{background-color:#999}.button-round-md{border-radius:64px;padding:0 2.6rem}.button-md [icon-only]{padding:0}.button-effect{border-radius:50%;-webkit-transform-origin:center center;transform-origin:center center;position:absolute;z-index:0;display:none;background-color:#555;opacity:.2;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;pointer-events:none;top:0;left:0}.md button .button-effect{display:block}.button-md-primary{color:#fff;background-color:#673ab7}.button-md-primary:hover:not(.disable-hover){background-color:#673ab7}.button-md-primary.activated{background-color:#734abd;opacity:1}.button-md-primary .button-effect{background-color:#fff}.button-outline-md-primary{border-color:#6f44bb;color:#6f44bb;background-color:transparent}.button-outline-md-primary:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-primary.activated{background-color:transparent}.button-outline-md-primary .button-effect{background-color:#6f44bb}.button-clear-md-primary{border-color:transparent;color:#673ab7;background-color:transparent}.button-clear-md-primary.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-primary:hover:not(.disable-hover){color:#673ab7}.button-md-secondary{color:#fff;background-color:#32db64}.button-md-secondary:hover:not(.disable-hover){background-color:#32db64}.button-md-secondary.activated{background-color:#2ec95c;opacity:1}.button-md-secondary .button-effect{background-color:#fff}.button-outline-md-secondary{border-color:#30d05f;color:#30d05f;background-color:transparent}.button-outline-md-secondary:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-secondary.activated{background-color:transparent}.button-outline-md-secondary .button-effect{background-color:#30d05f}.button-clear-md-secondary{border-color:transparent;color:#32db64;background-color:transparent}.button-clear-md-secondary.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-secondary:hover:not(.disable-hover){color:#32db64}.button-md-danger{color:#fff;background-color:#f53d3d}.button-md-danger:hover:not(.disable-hover){background-color:#f53d3d}.button-md-danger.activated{background-color:#e13838;opacity:1}.button-md-danger .button-effect{background-color:#fff}.button-outline-md-danger{border-color:#e93a3a;color:#e93a3a;background-color:transparent}.button-outline-md-danger:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-danger.activated{background-color:transparent}.button-outline-md-danger .button-effect{background-color:#e93a3a}.button-clear-md-danger{border-color:transparent;color:#f53d3d;background-color:transparent}.button-clear-md-danger.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-danger:hover:not(.disable-hover){color:#f53d3d}.button-md-light{color:#000;background-color:#f4f4f4}.button-md-light:hover:not(.disable-hover){background-color:#f4f4f4}.button-md-light.activated{background-color:#e0e0e0;opacity:1}.button-md-light .button-effect{background-color:#000}.button-outline-md-light{border-color:#e8e8e8;color:#e8e8e8;background-color:transparent}.button-outline-md-light:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-light.activated{background-color:transparent}.button-outline-md-light .button-effect{background-color:#e8e8e8}.button-clear-md-light{border-color:transparent;color:#f4f4f4;background-color:transparent}.button-clear-md-light.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-light:hover:not(.disable-hover){color:#f4f4f4}.button-md-dark{color:#fff;background-color:#222}.button-md-dark:hover:not(.disable-hover){background-color:#222}.button-md-dark.activated{background-color:#343434;opacity:1}.button-md-dark .button-effect{background-color:#fff}.button-outline-md-dark{border-color:#2d2d2d;color:#2d2d2d;background-color:transparent}.button-outline-md-dark:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-dark.activated{background-color:transparent}.button-outline-md-dark .button-effect{background-color:#2d2d2d}.button-clear-md-dark{border-color:transparent;color:#222;background-color:transparent}.button-clear-md-dark.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-dark:hover:not(.disable-hover){color:#222}.button-md-optblue{color:#fff;background-color:#e00201}.button-md-optblue:hover:not(.disable-hover){background-color:#e00201}.button-md-optblue.activated{background-color:#e21615;opacity:1}.button-md-optblue .button-effect{background-color:#fff}.button-outline-md-optblue{border-color:#e20f0e;color:#e20f0e;background-color:transparent}.button-outline-md-optblue:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-md-optblue.activated{background-color:transparent}.button-outline-md-optblue .button-effect{background-color:#e20f0e}.button-clear-md-optblue{border-color:transparent;color:#e00201;background-color:transparent}.button-clear-md-optblue.activated{background-color:rgba(158,158,158,.2);-webkit-box-shadow:none;box-shadow:none}.button-clear-md-optblue:hover:not(.disable-hover){color:#e00201}.button-strong-md{font-weight:700}.button-wp{border-radius:0;height:3.6rem;border:3px solid transparent;font-size:1.4rem;color:#fff;background-color:#673ab7;margin:.4rem .2rem;padding:0 1.1em}.button-wp:hover:not(.disable-hover){border-color:#734abd;background-color:#673ab7}.button-wp.activated{background-color:#734abd}.button-large-wp{height:2.8em;font-size:2rem;padding:0 1em}.button-small-wp{height:2.1em;font-size:1.3rem;padding:0 .9em}.button-small-wp[icon-only] ion-icon{font-size:1.4em}.button-block-wp{margin-left:0;margin-right:0}.button-full-wp{margin-left:0;margin-right:0;border-radius:0;border-right-width:0;border-left-width:0}.button-outline-wp{border-width:1px;border-style:solid;border-color:#673ab7;color:#673ab7;background-color:transparent}.button-outline-wp:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-outline-wp.activated{background-color:rgba(103,58,183,.16)}.button-clear-wp{color:#673ab7;background-color:transparent}.button-clear-wp.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp:hover:not(.disable-hover){background-color:rgba(158,158,158,.1)}.button-round-wp{border-radius:64px;padding:0 2.6rem}.button-wp [icon-only]{padding:0}.button-wp-primary{color:#fff;background-color:#673ab7}.button-wp-primary:hover:not(.disable-hover){border-color:#734abd;background-color:#673ab7}.button-wp-primary.activated{background-color:#734abd}.button-outline-wp-primary{border-color:#6f44bb;color:#6f44bb;background-color:transparent}.button-outline-wp-primary:hover:not(.disable-hover){border-color:#6f44bb;background-color:rgba(158,158,158,.1)}.button-outline-wp-primary.activated{background-color:rgba(111,68,187,.16)}.button-clear-wp-primary{color:#673ab7;background-color:transparent}.button-clear-wp-primary.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-primary:hover:not(.disable-hover){color:#673ab7}.button-wp-secondary{color:#fff;background-color:#32db64}.button-wp-secondary:hover:not(.disable-hover){border-color:#2ec95c;background-color:#32db64}.button-wp-secondary.activated{background-color:#2ec95c}.button-outline-wp-secondary{border-color:#30d05f;color:#30d05f;background-color:transparent}.button-outline-wp-secondary:hover:not(.disable-hover){border-color:#30d05f;background-color:rgba(158,158,158,.1)}.button-outline-wp-secondary.activated{background-color:rgba(48,208,95,.16)}.button-clear-wp-secondary{color:#32db64;background-color:transparent}.button-clear-wp-secondary.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-secondary:hover:not(.disable-hover){color:#32db64}.button-wp-danger{color:#fff;background-color:#f53d3d}.button-wp-danger:hover:not(.disable-hover){border-color:#e13838;background-color:#f53d3d}.button-wp-danger.activated{background-color:#e13838}.button-outline-wp-danger{border-color:#e93a3a;color:#e93a3a;background-color:transparent}.button-outline-wp-danger:hover:not(.disable-hover){border-color:#e93a3a;background-color:rgba(158,158,158,.1)}.button-outline-wp-danger.activated{background-color:rgba(233,58,58,.16)}.button-clear-wp-danger{color:#f53d3d;background-color:transparent}.button-clear-wp-danger.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-danger:hover:not(.disable-hover){color:#f53d3d}.button-wp-light{color:#000;background-color:#f4f4f4}.button-wp-light:hover:not(.disable-hover){border-color:#e0e0e0;background-color:#f4f4f4}.button-wp-light.activated{background-color:#e0e0e0}.button-outline-wp-light{border-color:#e8e8e8;color:#e8e8e8;background-color:transparent}.button-outline-wp-light:hover:not(.disable-hover){border-color:#e8e8e8;background-color:rgba(158,158,158,.1)}.button-outline-wp-light.activated{background-color:rgba(232,232,232,.16)}.button-clear-wp-light{color:#f4f4f4;background-color:transparent}.button-clear-wp-light.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-light:hover:not(.disable-hover){color:#f4f4f4}.button-wp-dark{color:#fff;background-color:#222}.button-wp-dark:hover:not(.disable-hover){border-color:#343434;background-color:#222}.button-wp-dark.activated{background-color:#343434}.button-outline-wp-dark{border-color:#2d2d2d;color:#2d2d2d;background-color:transparent}.button-outline-wp-dark:hover:not(.disable-hover){border-color:#2d2d2d;background-color:rgba(158,158,158,.1)}.button-outline-wp-dark.activated{background-color:rgba(45,45,45,.16)}.button-clear-wp-dark{color:#222;background-color:transparent}.button-clear-wp-dark.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-dark:hover:not(.disable-hover){color:#222}.button-wp-optblue{color:#fff;background-color:#e00201}.button-wp-optblue:hover:not(.disable-hover){border-color:#e21615;background-color:#e00201}.button-wp-optblue.activated{background-color:#e21615}.button-outline-wp-optblue{border-color:#e20f0e;color:#e20f0e;background-color:transparent}.button-outline-wp-optblue:hover:not(.disable-hover){border-color:#e20f0e;background-color:rgba(158,158,158,.1)}.button-outline-wp-optblue.activated{background-color:rgba(226,15,14,.16)}.button-clear-wp-optblue{color:#e00201;background-color:transparent}.button-clear-wp-optblue.activated{background-color:rgba(158,158,158,.2)}.button-clear-wp-optblue:hover:not(.disable-hover){color:#e00201}.button-strong-wp{font-weight:700}ion-card{display:block;overflow:hidden}ion-card img{display:block;width:100%}ion-card-header{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ion-card-content{display:block}.card-ios{margin:12px;border-radius:2px;width:calc(100% - 24px);font-size:1.4rem;background:#fff;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.card-ios ion-list{margin-bottom:0}.card-ios>.item-wrapper:last-child .item,.card-ios>.item:last-child,.card-ios>.item:last-child .item-inner{border-bottom:0}.card-ios .item-ios.item-block .item-inner{border:0}.card-content-ios{padding:13px 16px 14px;font-size:1.4rem;line-height:1.4}.card-header-ios{font-size:1.6rem;font-weight:500;color:#333;padding:16px}.card-header-ios+.card-content-ios,.card-ios .item+.card-content-ios{padding-top:0}.card .note-ios{font-size:1.3rem}.card-title-ios{display:block;font-size:1.8rem;line-height:1.2;color:#222;margin:2px 0;padding:8px 0}.card-ios h1{margin:0 0 2px;font-size:2.4rem;font-weight:400}.card-ios h2{margin:2px 0;font-size:1.6rem;font-weight:400}.card-ios h3,.card-ios h4,.card-ios h5,.card-ios h6{margin:2px 0;font-size:1.4rem;font-weight:400}.card-ios p{margin:0 0 2px;font-size:1.4rem;color:#666}.card-ios+ion-card{margin-top:0}.card-ios .text-ios-primary{color:#673ab7}.card-ios-primary{color:#fff;background-color:#673ab7}.card-ios-primary .card-content-ios,.card-ios-primary .card-header-ios,.card-ios-primary .card-title-ios,.card-ios-primary p{color:#fff}.card-ios-primary .card-content-ios-primary,.card-ios-primary .card-header-ios-primary,.card-ios-primary .card-title-ios-primary,.card-ios-primary .text-ios-primary{color:#673ab7}.card-ios-primary .card-content-ios-secondary,.card-ios-primary .card-header-ios-secondary,.card-ios-primary .card-title-ios-secondary,.card-ios-primary .text-ios-secondary{color:#32db64}.card-ios-primary .card-content-ios-danger,.card-ios-primary .card-header-ios-danger,.card-ios-primary .card-title-ios-danger,.card-ios-primary .text-ios-danger{color:#f53d3d}.card-ios-primary .card-content-ios-light,.card-ios-primary .card-header-ios-light,.card-ios-primary .card-title-ios-light,.card-ios-primary .text-ios-light{color:#f4f4f4}.card-ios-primary .card-content-ios-dark,.card-ios-primary .card-header-ios-dark,.card-ios-primary .card-title-ios-dark,.card-ios-primary .text-ios-dark{color:#222}.card-ios-primary .card-content-ios-optblue,.card-ios-primary .card-header-ios-optblue,.card-ios-primary .card-title-ios-optblue,.card-ios-primary .text-ios-optblue{color:#e00201}.card-content-ios-primary,.card-header-ios-primary,.card-title-ios-primary{color:#673ab7}.card-ios .text-ios-secondary{color:#32db64}.card-ios-secondary{color:#fff;background-color:#32db64}.card-ios-secondary .card-content-ios,.card-ios-secondary .card-header-ios,.card-ios-secondary .card-title-ios,.card-ios-secondary p{color:#fff}.card-ios-secondary .card-content-ios-primary,.card-ios-secondary .card-header-ios-primary,.card-ios-secondary .card-title-ios-primary,.card-ios-secondary .text-ios-primary{color:#673ab7}.card-ios-secondary .card-content-ios-secondary,.card-ios-secondary .card-header-ios-secondary,.card-ios-secondary .card-title-ios-secondary,.card-ios-secondary .text-ios-secondary{color:#32db64}.card-ios-secondary .card-content-ios-danger,.card-ios-secondary .card-header-ios-danger,.card-ios-secondary .card-title-ios-danger,.card-ios-secondary .text-ios-danger{color:#f53d3d}.card-ios-secondary .card-content-ios-light,.card-ios-secondary .card-header-ios-light,.card-ios-secondary .card-title-ios-light,.card-ios-secondary .text-ios-light{color:#f4f4f4}.card-ios-secondary .card-content-ios-dark,.card-ios-secondary .card-header-ios-dark,.card-ios-secondary .card-title-ios-dark,.card-ios-secondary .text-ios-dark{color:#222}.card-ios-secondary .card-content-ios-optblue,.card-ios-secondary .card-header-ios-optblue,.card-ios-secondary .card-title-ios-optblue,.card-ios-secondary .text-ios-optblue{color:#e00201}.card-content-ios-secondary,.card-header-ios-secondary,.card-title-ios-secondary{color:#32db64}.card-ios .text-ios-danger{color:#f53d3d}.card-ios-danger{color:#fff;background-color:#f53d3d}.card-ios-danger .card-content-ios,.card-ios-danger .card-header-ios,.card-ios-danger .card-title-ios,.card-ios-danger p{color:#fff}.card-ios-danger .card-content-ios-primary,.card-ios-danger .card-header-ios-primary,.card-ios-danger .card-title-ios-primary,.card-ios-danger .text-ios-primary{color:#673ab7}.card-ios-danger .card-content-ios-secondary,.card-ios-danger .card-header-ios-secondary,.card-ios-danger .card-title-ios-secondary,.card-ios-danger .text-ios-secondary{color:#32db64}.card-ios-danger .card-content-ios-danger,.card-ios-danger .card-header-ios-danger,.card-ios-danger .card-title-ios-danger,.card-ios-danger .text-ios-danger{color:#f53d3d}.card-ios-danger .card-content-ios-light,.card-ios-danger .card-header-ios-light,.card-ios-danger .card-title-ios-light,.card-ios-danger .text-ios-light{color:#f4f4f4}.card-ios-danger .card-content-ios-dark,.card-ios-danger .card-header-ios-dark,.card-ios-danger .card-title-ios-dark,.card-ios-danger .text-ios-dark{color:#222}.card-ios-danger .card-content-ios-optblue,.card-ios-danger .card-header-ios-optblue,.card-ios-danger .card-title-ios-optblue,.card-ios-danger .text-ios-optblue{color:#e00201}.card-content-ios-danger,.card-header-ios-danger,.card-title-ios-danger{color:#f53d3d}.card-ios .text-ios-light{color:#f4f4f4}.card-ios-light{color:#000;background-color:#f4f4f4}.card-ios-light .card-content-ios,.card-ios-light .card-header-ios,.card-ios-light .card-title-ios,.card-ios-light p{color:#000}.card-ios-light .card-content-ios-primary,.card-ios-light .card-header-ios-primary,.card-ios-light .card-title-ios-primary,.card-ios-light .text-ios-primary{color:#673ab7}.card-ios-light .card-content-ios-secondary,.card-ios-light .card-header-ios-secondary,.card-ios-light .card-title-ios-secondary,.card-ios-light .text-ios-secondary{color:#32db64}.card-ios-light .card-content-ios-danger,.card-ios-light .card-header-ios-danger,.card-ios-light .card-title-ios-danger,.card-ios-light .text-ios-danger{color:#f53d3d}.card-ios-light .card-content-ios-light,.card-ios-light .card-header-ios-light,.card-ios-light .card-title-ios-light,.card-ios-light .text-ios-light{color:#f4f4f4}.card-ios-light .card-content-ios-dark,.card-ios-light .card-header-ios-dark,.card-ios-light .card-title-ios-dark,.card-ios-light .text-ios-dark{color:#222}.card-ios-light .card-content-ios-optblue,.card-ios-light .card-header-ios-optblue,.card-ios-light .card-title-ios-optblue,.card-ios-light .text-ios-optblue{color:#e00201}.card-content-ios-light,.card-header-ios-light,.card-title-ios-light{color:#f4f4f4}.card-ios .text-ios-dark{color:#222}.card-ios-dark{color:#fff;background-color:#222}.card-ios-dark .card-content-ios,.card-ios-dark .card-header-ios,.card-ios-dark .card-title-ios,.card-ios-dark p{color:#fff}.card-ios-dark .card-content-ios-primary,.card-ios-dark .card-header-ios-primary,.card-ios-dark .card-title-ios-primary,.card-ios-dark .text-ios-primary{color:#673ab7}.card-ios-dark .card-content-ios-secondary,.card-ios-dark .card-header-ios-secondary,.card-ios-dark .card-title-ios-secondary,.card-ios-dark .text-ios-secondary{color:#32db64}.card-ios-dark .card-content-ios-danger,.card-ios-dark .card-header-ios-danger,.card-ios-dark .card-title-ios-danger,.card-ios-dark .text-ios-danger{color:#f53d3d}.card-ios-dark .card-content-ios-light,.card-ios-dark .card-header-ios-light,.card-ios-dark .card-title-ios-light,.card-ios-dark .text-ios-light{color:#f4f4f4}.card-ios-dark .card-content-ios-dark,.card-ios-dark .card-header-ios-dark,.card-ios-dark .card-title-ios-dark,.card-ios-dark .text-ios-dark{color:#222}.card-ios-dark .card-content-ios-optblue,.card-ios-dark .card-header-ios-optblue,.card-ios-dark .card-title-ios-optblue,.card-ios-dark .text-ios-optblue{color:#e00201}.card-content-ios-dark,.card-header-ios-dark,.card-title-ios-dark{color:#222}.card-ios .text-ios-optblue{color:#e00201}.card-ios-optblue{color:#fff;background-color:#e00201}.card-ios-optblue .card-content-ios,.card-ios-optblue .card-header-ios,.card-ios-optblue .card-title-ios,.card-ios-optblue p{color:#fff}.card-ios-optblue .card-content-ios-primary,.card-ios-optblue .card-header-ios-primary,.card-ios-optblue .card-title-ios-primary,.card-ios-optblue .text-ios-primary{color:#673ab7}.card-ios-optblue .card-content-ios-secondary,.card-ios-optblue .card-header-ios-secondary,.card-ios-optblue .card-title-ios-secondary,.card-ios-optblue .text-ios-secondary{color:#32db64}.card-ios-optblue .card-content-ios-danger,.card-ios-optblue .card-header-ios-danger,.card-ios-optblue .card-title-ios-danger,.card-ios-optblue .text-ios-danger{color:#f53d3d}.card-ios-optblue .card-content-ios-light,.card-ios-optblue .card-header-ios-light,.card-ios-optblue .card-title-ios-light,.card-ios-optblue .text-ios-light{color:#f4f4f4}.card-ios-optblue .card-content-ios-dark,.card-ios-optblue .card-header-ios-dark,.card-ios-optblue .card-title-ios-dark,.card-ios-optblue .text-ios-dark{color:#222}.card-ios-optblue .card-content-ios-optblue,.card-ios-optblue .card-header-ios-optblue,.card-ios-optblue .card-title-ios-optblue,.card-ios-optblue .text-ios-optblue{color:#e00201}.card-content-ios-optblue,.card-header-ios-optblue,.card-title-ios-optblue{color:#e00201}.card-md{margin:10px;border-radius:2px;width:calc(100% - 20px);font-size:1.4rem;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.card-md ion-list{margin-bottom:0}.card-md>.item-wrapper:last-child .item,.card-md>.item:last-child,.card-md>.item:last-child .item-inner{border-bottom:0}.card-md .item-md.item-block .item-inner{border:0}.card-content-md{padding:13px 16px;font-size:1.4rem;line-height:1.5}.card-header-md{font-size:1.6rem;color:#222;padding:16px}.card-header-md+.card-content-md,.card-md .item+.card-content-md{padding-top:0}.card .note-md{font-size:1.3rem}.card-title-md{display:block;font-size:2.4rem;line-height:1.2;color:#222;margin:2px 0;padding:8px 0}.card-md h1{margin:0 0 2px;font-size:2.4rem;font-weight:400;color:#222}.card-md h2{margin:2px 0;font-size:1.6rem;font-weight:400;color:#222}.card-md h3,.card-md h4,.card-md h5,.card-md h6{margin:2px 0;font-size:1.4rem;font-weight:400;color:#222}.card-md p{margin:0 0 2px;font-size:1.4rem;font-weight:400;line-height:1.5;color:#222}.card-md+ion-card{margin-top:0}.card-md .text-md-primary{color:#673ab7}.card-md-primary{color:#fff;background-color:#673ab7}.card-md-primary .card-content-md,.card-md-primary .card-header-md,.card-md-primary .card-title-md,.card-md-primary h1,.card-md-primary h2,.card-md-primary h3,.card-md-primary h4,.card-md-primary h5,.card-md-primary h6,.card-md-primary p{color:#fff}.card-md-primary .card-content-md-primary,.card-md-primary .card-header-md-primary,.card-md-primary .card-title-md-primary,.card-md-primary .text-md-primary{color:#673ab7}.card-md-primary .card-content-md-secondary,.card-md-primary .card-header-md-secondary,.card-md-primary .card-title-md-secondary,.card-md-primary .text-md-secondary{color:#32db64}.card-md-primary .card-content-md-danger,.card-md-primary .card-header-md-danger,.card-md-primary .card-title-md-danger,.card-md-primary .text-md-danger{color:#f53d3d}.card-md-primary .card-content-md-light,.card-md-primary .card-header-md-light,.card-md-primary .card-title-md-light,.card-md-primary .text-md-light{color:#f4f4f4}.card-md-primary .card-content-md-dark,.card-md-primary .card-header-md-dark,.card-md-primary .card-title-md-dark,.card-md-primary .text-md-dark{color:#222}.card-md-primary .card-content-md-optblue,.card-md-primary .card-header-md-optblue,.card-md-primary .card-title-md-optblue,.card-md-primary .text-md-optblue{color:#e00201}.card-content-md-primary,.card-header-md-primary,.card-title-md-primary{color:#673ab7}.card-md .text-md-secondary{color:#32db64}.card-md-secondary{color:#fff;background-color:#32db64}.card-md-secondary .card-content-md,.card-md-secondary .card-header-md,.card-md-secondary .card-title-md,.card-md-secondary h1,.card-md-secondary h2,.card-md-secondary h3,.card-md-secondary h4,.card-md-secondary h5,.card-md-secondary h6,.card-md-secondary p{color:#fff}.card-md-secondary .card-content-md-primary,.card-md-secondary .card-header-md-primary,.card-md-secondary .card-title-md-primary,.card-md-secondary .text-md-primary{color:#673ab7}.card-md-secondary .card-content-md-secondary,.card-md-secondary .card-header-md-secondary,.card-md-secondary .card-title-md-secondary,.card-md-secondary .text-md-secondary{color:#32db64}.card-md-secondary .card-content-md-danger,.card-md-secondary .card-header-md-danger,.card-md-secondary .card-title-md-danger,.card-md-secondary .text-md-danger{color:#f53d3d}.card-md-secondary .card-content-md-light,.card-md-secondary .card-header-md-light,.card-md-secondary .card-title-md-light,.card-md-secondary .text-md-light{color:#f4f4f4}.card-md-secondary .card-content-md-dark,.card-md-secondary .card-header-md-dark,.card-md-secondary .card-title-md-dark,.card-md-secondary .text-md-dark{color:#222}.card-md-secondary .card-content-md-optblue,.card-md-secondary .card-header-md-optblue,.card-md-secondary .card-title-md-optblue,.card-md-secondary .text-md-optblue{color:#e00201}.card-content-md-secondary,.card-header-md-secondary,.card-title-md-secondary{color:#32db64}.card-md .text-md-danger{color:#f53d3d}.card-md-danger{color:#fff;background-color:#f53d3d}.card-md-danger .card-content-md,.card-md-danger .card-header-md,.card-md-danger .card-title-md,.card-md-danger h1,.card-md-danger h2,.card-md-danger h3,.card-md-danger h4,.card-md-danger h5,.card-md-danger h6,.card-md-danger p{color:#fff}.card-md-danger .card-content-md-primary,.card-md-danger .card-header-md-primary,.card-md-danger .card-title-md-primary,.card-md-danger .text-md-primary{color:#673ab7}.card-md-danger .card-content-md-secondary,.card-md-danger .card-header-md-secondary,.card-md-danger .card-title-md-secondary,.card-md-danger .text-md-secondary{color:#32db64}.card-md-danger .card-content-md-danger,.card-md-danger .card-header-md-danger,.card-md-danger .card-title-md-danger,.card-md-danger .text-md-danger{color:#f53d3d}.card-md-danger .card-content-md-light,.card-md-danger .card-header-md-light,.card-md-danger .card-title-md-light,.card-md-danger .text-md-light{color:#f4f4f4}.card-md-danger .card-content-md-dark,.card-md-danger .card-header-md-dark,.card-md-danger .card-title-md-dark,.card-md-danger .text-md-dark{color:#222}.card-md-danger .card-content-md-optblue,.card-md-danger .card-header-md-optblue,.card-md-danger .card-title-md-optblue,.card-md-danger .text-md-optblue{color:#e00201}.card-content-md-danger,.card-header-md-danger,.card-title-md-danger{color:#f53d3d}.card-md .text-md-light{color:#f4f4f4}.card-md-light{color:#000;background-color:#f4f4f4}.card-md-light .card-content-md,.card-md-light .card-header-md,.card-md-light .card-title-md,.card-md-light h1,.card-md-light h2,.card-md-light h3,.card-md-light h4,.card-md-light h5,.card-md-light h6,.card-md-light p{color:#000}.card-md-light .card-content-md-primary,.card-md-light .card-header-md-primary,.card-md-light .card-title-md-primary,.card-md-light .text-md-primary{color:#673ab7}.card-md-light .card-content-md-secondary,.card-md-light .card-header-md-secondary,.card-md-light .card-title-md-secondary,.card-md-light .text-md-secondary{color:#32db64}.card-md-light .card-content-md-danger,.card-md-light .card-header-md-danger,.card-md-light .card-title-md-danger,.card-md-light .text-md-danger{color:#f53d3d}.card-md-light .card-content-md-light,.card-md-light .card-header-md-light,.card-md-light .card-title-md-light,.card-md-light .text-md-light{color:#f4f4f4}.card-md-light .card-content-md-dark,.card-md-light .card-header-md-dark,.card-md-light .card-title-md-dark,.card-md-light .text-md-dark{color:#222}.card-md-light .card-content-md-optblue,.card-md-light .card-header-md-optblue,.card-md-light .card-title-md-optblue,.card-md-light .text-md-optblue{color:#e00201}.card-content-md-light,.card-header-md-light,.card-title-md-light{color:#f4f4f4}.card-md .text-md-dark{color:#222}.card-md-dark{color:#fff;background-color:#222}.card-md-dark .card-content-md,.card-md-dark .card-header-md,.card-md-dark .card-title-md,.card-md-dark h1,.card-md-dark h2,.card-md-dark h3,.card-md-dark h4,.card-md-dark h5,.card-md-dark h6,.card-md-dark p{color:#fff}.card-md-dark .card-content-md-primary,.card-md-dark .card-header-md-primary,.card-md-dark .card-title-md-primary,.card-md-dark .text-md-primary{color:#673ab7}.card-md-dark .card-content-md-secondary,.card-md-dark .card-header-md-secondary,.card-md-dark .card-title-md-secondary,.card-md-dark .text-md-secondary{color:#32db64}.card-md-dark .card-content-md-danger,.card-md-dark .card-header-md-danger,.card-md-dark .card-title-md-danger,.card-md-dark .text-md-danger{color:#f53d3d}.card-md-dark .card-content-md-light,.card-md-dark .card-header-md-light,.card-md-dark .card-title-md-light,.card-md-dark .text-md-light{color:#f4f4f4}.card-md-dark .card-content-md-dark,.card-md-dark .card-header-md-dark,.card-md-dark .card-title-md-dark,.card-md-dark .text-md-dark{color:#222}.card-md-dark .card-content-md-optblue,.card-md-dark .card-header-md-optblue,.card-md-dark .card-title-md-optblue,.card-md-dark .text-md-optblue{color:#e00201}.card-content-md-dark,.card-header-md-dark,.card-title-md-dark{color:#222}.card-md .text-md-optblue{color:#e00201}.card-md-optblue{color:#fff;background-color:#e00201}.card-md-optblue .card-content-md,.card-md-optblue .card-header-md,.card-md-optblue .card-title-md,.card-md-optblue h1,.card-md-optblue h2,.card-md-optblue h3,.card-md-optblue h4,.card-md-optblue h5,.card-md-optblue h6,.card-md-optblue p{color:#fff}.card-md-optblue .card-content-md-primary,.card-md-optblue .card-header-md-primary,.card-md-optblue .card-title-md-primary,.card-md-optblue .text-md-primary{color:#673ab7}.card-md-optblue .card-content-md-secondary,.card-md-optblue .card-header-md-secondary,.card-md-optblue .card-title-md-secondary,.card-md-optblue .text-md-secondary{color:#32db64}.card-md-optblue .card-content-md-danger,.card-md-optblue .card-header-md-danger,.card-md-optblue .card-title-md-danger,.card-md-optblue .text-md-danger{color:#f53d3d}.card-md-optblue .card-content-md-light,.card-md-optblue .card-header-md-light,.card-md-optblue .card-title-md-light,.card-md-optblue .text-md-light{color:#f4f4f4}.card-md-optblue .card-content-md-dark,.card-md-optblue .card-header-md-dark,.card-md-optblue .card-title-md-dark,.card-md-optblue .text-md-dark{color:#222}.card-md-optblue .card-content-md-optblue,.card-md-optblue .card-header-md-optblue,.card-md-optblue .card-title-md-optblue,.card-md-optblue .text-md-optblue{color:#e00201}.card-content-md-optblue,.card-header-md-optblue,.card-title-md-optblue{color:#e00201}.card-wp{margin:8px;border-radius:1px;width:calc(100% - 16px);font-size:1.4rem;background:#fff;-webkit-box-shadow:0 1px 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 1px 1px rgba(0,0,0,.2)}.card-wp ion-list{margin-bottom:0}.card-wp>.item-wrapper:last-child .item,.card-wp>.item:last-child,.card-wp>.item:last-child .item-inner{border-bottom:0}.card-wp .item-wp.item-block .item-inner{border:0}.card-content-wp{padding:13px 16px;font-size:1.4rem;line-height:1.5}.card-header-wp{font-size:1.6rem;color:#222;padding:16px}.card-header-wp+.card-content-wp,.card-wp .item+.card-content-wp{padding-top:0}.card .note-wp{font-size:1.3rem}.card-title-wp{display:block;font-size:2.4rem;line-height:1.2;color:#222;margin:2px 0;padding:8px 0}.card-wp h1{margin:0 0 2px;font-size:2.4rem;font-weight:400;color:#222}.card-wp h2{margin:2px 0;font-size:1.6rem;font-weight:400;color:#222}.card-wp h3,.card-wp h4,.card-wp h5,.card-wp h6{margin:2px 0;font-size:1.4rem;font-weight:400;color:#222}.card-wp p{margin:0 0 2px;font-size:1.4rem;font-weight:400;line-height:1.5;color:#222}.card-wp+ion-card{margin-top:0}.card-wp .text-wp-primary{color:#673ab7}.card-wp-primary{color:#fff;background-color:#673ab7}.card-wp-primary .card-content-wp,.card-wp-primary .card-header-wp,.card-wp-primary .card-title-wp,.card-wp-primary h1,.card-wp-primary h2,.card-wp-primary h3,.card-wp-primary h4,.card-wp-primary h5,.card-wp-primary h6,.card-wp-primary p{color:#fff}.card-wp-primary .card-content-wp-primary,.card-wp-primary .card-header-wp-primary,.card-wp-primary .card-title-wp-primary,.card-wp-primary .text-wp-primary{color:#673ab7}.card-wp-primary .card-content-wp-secondary,.card-wp-primary .card-header-wp-secondary,.card-wp-primary .card-title-wp-secondary,.card-wp-primary .text-wp-secondary{color:#32db64}.card-wp-primary .card-content-wp-danger,.card-wp-primary .card-header-wp-danger,.card-wp-primary .card-title-wp-danger,.card-wp-primary .text-wp-danger{color:#f53d3d}.card-wp-primary .card-content-wp-light,.card-wp-primary .card-header-wp-light,.card-wp-primary .card-title-wp-light,.card-wp-primary .text-wp-light{color:#f4f4f4}.card-wp-primary .card-content-wp-dark,.card-wp-primary .card-header-wp-dark,.card-wp-primary .card-title-wp-dark,.card-wp-primary .text-wp-dark{color:#222}.card-wp-primary .card-content-wp-optblue,.card-wp-primary .card-header-wp-optblue,.card-wp-primary .card-title-wp-optblue,.card-wp-primary .text-wp-optblue{color:#e00201}.card-content-wp-primary,.card-header-wp-primary,.card-title-wp-primary{color:#673ab7}.card-wp .text-wp-secondary{color:#32db64}.card-wp-secondary{color:#fff;background-color:#32db64}.card-wp-secondary .card-content-wp,.card-wp-secondary .card-header-wp,.card-wp-secondary .card-title-wp,.card-wp-secondary h1,.card-wp-secondary h2,.card-wp-secondary h3,.card-wp-secondary h4,.card-wp-secondary h5,.card-wp-secondary h6,.card-wp-secondary p{color:#fff}.card-wp-secondary .card-content-wp-primary,.card-wp-secondary .card-header-wp-primary,.card-wp-secondary .card-title-wp-primary,.card-wp-secondary .text-wp-primary{color:#673ab7}.card-wp-secondary .card-content-wp-secondary,.card-wp-secondary .card-header-wp-secondary,.card-wp-secondary .card-title-wp-secondary,.card-wp-secondary .text-wp-secondary{color:#32db64}.card-wp-secondary .card-content-wp-danger,.card-wp-secondary .card-header-wp-danger,.card-wp-secondary .card-title-wp-danger,.card-wp-secondary .text-wp-danger{color:#f53d3d}.card-wp-secondary .card-content-wp-light,.card-wp-secondary .card-header-wp-light,.card-wp-secondary .card-title-wp-light,.card-wp-secondary .text-wp-light{color:#f4f4f4}.card-wp-secondary .card-content-wp-dark,.card-wp-secondary .card-header-wp-dark,.card-wp-secondary .card-title-wp-dark,.card-wp-secondary .text-wp-dark{color:#222}.card-wp-secondary .card-content-wp-optblue,.card-wp-secondary .card-header-wp-optblue,.card-wp-secondary .card-title-wp-optblue,.card-wp-secondary .text-wp-optblue{color:#e00201}.card-content-wp-secondary,.card-header-wp-secondary,.card-title-wp-secondary{color:#32db64}.card-wp .text-wp-danger{color:#f53d3d}.card-wp-danger{color:#fff;background-color:#f53d3d}.card-wp-danger .card-content-wp,.card-wp-danger .card-header-wp,.card-wp-danger .card-title-wp,.card-wp-danger h1,.card-wp-danger h2,.card-wp-danger h3,.card-wp-danger h4,.card-wp-danger h5,.card-wp-danger h6,.card-wp-danger p{color:#fff}.card-wp-danger .card-content-wp-primary,.card-wp-danger .card-header-wp-primary,.card-wp-danger .card-title-wp-primary,.card-wp-danger .text-wp-primary{color:#673ab7}.card-wp-danger .card-content-wp-secondary,.card-wp-danger .card-header-wp-secondary,.card-wp-danger .card-title-wp-secondary,.card-wp-danger .text-wp-secondary{color:#32db64}.card-wp-danger .card-content-wp-danger,.card-wp-danger .card-header-wp-danger,.card-wp-danger .card-title-wp-danger,.card-wp-danger .text-wp-danger{color:#f53d3d}.card-wp-danger .card-content-wp-light,.card-wp-danger .card-header-wp-light,.card-wp-danger .card-title-wp-light,.card-wp-danger .text-wp-light{color:#f4f4f4}.card-wp-danger .card-content-wp-dark,.card-wp-danger .card-header-wp-dark,.card-wp-danger .card-title-wp-dark,.card-wp-danger .text-wp-dark{color:#222}.card-wp-danger .card-content-wp-optblue,.card-wp-danger .card-header-wp-optblue,.card-wp-danger .card-title-wp-optblue,.card-wp-danger .text-wp-optblue{color:#e00201}.card-content-wp-danger,.card-header-wp-danger,.card-title-wp-danger{color:#f53d3d}.card-wp .text-wp-light{color:#f4f4f4}.card-wp-light{color:#000;background-color:#f4f4f4}.card-wp-light .card-content-wp,.card-wp-light .card-header-wp,.card-wp-light .card-title-wp,.card-wp-light h1,.card-wp-light h2,.card-wp-light h3,.card-wp-light h4,.card-wp-light h5,.card-wp-light h6,.card-wp-light p{color:#000}.card-wp-light .card-content-wp-primary,.card-wp-light .card-header-wp-primary,.card-wp-light .card-title-wp-primary,.card-wp-light .text-wp-primary{color:#673ab7}.card-wp-light .card-content-wp-secondary,.card-wp-light .card-header-wp-secondary,.card-wp-light .card-title-wp-secondary,.card-wp-light .text-wp-secondary{color:#32db64}.card-wp-light .card-content-wp-danger,.card-wp-light .card-header-wp-danger,.card-wp-light .card-title-wp-danger,.card-wp-light .text-wp-danger{color:#f53d3d}.card-wp-light .card-content-wp-light,.card-wp-light .card-header-wp-light,.card-wp-light .card-title-wp-light,.card-wp-light .text-wp-light{color:#f4f4f4}.card-wp-light .card-content-wp-dark,.card-wp-light .card-header-wp-dark,.card-wp-light .card-title-wp-dark,.card-wp-light .text-wp-dark{color:#222}.card-wp-light .card-content-wp-optblue,.card-wp-light .card-header-wp-optblue,.card-wp-light .card-title-wp-optblue,.card-wp-light .text-wp-optblue{color:#e00201}.card-content-wp-light,.card-header-wp-light,.card-title-wp-light{color:#f4f4f4}.card-wp .text-wp-dark{color:#222}.card-wp-dark{color:#fff;background-color:#222}.card-wp-dark .card-content-wp,.card-wp-dark .card-header-wp,.card-wp-dark .card-title-wp,.card-wp-dark h1,.card-wp-dark h2,.card-wp-dark h3,.card-wp-dark h4,.card-wp-dark h5,.card-wp-dark h6,.card-wp-dark p{color:#fff}.card-wp-dark .card-content-wp-primary,.card-wp-dark .card-header-wp-primary,.card-wp-dark .card-title-wp-primary,.card-wp-dark .text-wp-primary{color:#673ab7}.card-wp-dark .card-content-wp-secondary,.card-wp-dark .card-header-wp-secondary,.card-wp-dark .card-title-wp-secondary,.card-wp-dark .text-wp-secondary{color:#32db64}.card-wp-dark .card-content-wp-danger,.card-wp-dark .card-header-wp-danger,.card-wp-dark .card-title-wp-danger,.card-wp-dark .text-wp-danger{color:#f53d3d}.card-wp-dark .card-content-wp-light,.card-wp-dark .card-header-wp-light,.card-wp-dark .card-title-wp-light,.card-wp-dark .text-wp-light{color:#f4f4f4}.card-wp-dark .card-content-wp-dark,.card-wp-dark .card-header-wp-dark,.card-wp-dark .card-title-wp-dark,.card-wp-dark .text-wp-dark{color:#222}.card-wp-dark .card-content-wp-optblue,.card-wp-dark .card-header-wp-optblue,.card-wp-dark .card-title-wp-optblue,.card-wp-dark .text-wp-optblue{color:#e00201}.card-content-wp-dark,.card-header-wp-dark,.card-title-wp-dark{color:#222}.card-wp .text-wp-optblue{color:#e00201}.card-wp-optblue{color:#fff;background-color:#e00201}.card-wp-optblue .card-content-wp,.card-wp-optblue .card-header-wp,.card-wp-optblue .card-title-wp,.card-wp-optblue h1,.card-wp-optblue h2,.card-wp-optblue h3,.card-wp-optblue h4,.card-wp-optblue h5,.card-wp-optblue h6,.card-wp-optblue p{color:#fff}.card-wp-optblue .card-content-wp-primary,.card-wp-optblue .card-header-wp-primary,.card-wp-optblue .card-title-wp-primary,.card-wp-optblue .text-wp-primary{color:#673ab7}.card-wp-optblue .card-content-wp-secondary,.card-wp-optblue .card-header-wp-secondary,.card-wp-optblue .card-title-wp-secondary,.card-wp-optblue .text-wp-secondary{color:#32db64}.card-wp-optblue .card-content-wp-danger,.card-wp-optblue .card-header-wp-danger,.card-wp-optblue .card-title-wp-danger,.card-wp-optblue .text-wp-danger{color:#f53d3d}.card-wp-optblue .card-content-wp-light,.card-wp-optblue .card-header-wp-light,.card-wp-optblue .card-title-wp-light,.card-wp-optblue .text-wp-light{color:#f4f4f4}.card-wp-optblue .card-content-wp-dark,.card-wp-optblue .card-header-wp-dark,.card-wp-optblue .card-title-wp-dark,.card-wp-optblue .text-wp-dark{color:#222}.card-wp-optblue .card-content-wp-optblue,.card-wp-optblue .card-header-wp-optblue,.card-wp-optblue .card-title-wp-optblue,.card-wp-optblue .text-wp-optblue{color:#e00201}.card-content-wp-optblue,.card-header-wp-optblue,.card-title-wp-optblue{color:#e00201}.checkbox-ios{position:relative;display:inline-block}.checkbox-ios .checkbox-icon{border-radius:50%;position:relative;width:21px;height:21px;border-width:1px;border-style:solid;border-color:#c8c7cc;background-color:#fff}.checkbox-ios .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-ios .checkbox-checked .checkbox-inner{left:7px;top:4px;position:absolute;width:4px;height:9px;border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.checkbox-ios.checkbox-disabled,.item-ios.item-checkbox-disabled ion-label{opacity:.3;pointer-events:none}.item.item-ios .checkbox-ios{position:static;display:block;margin:8px 16px 8px 2px}.item.item-ios .checkbox-ios[item-end],.item.item-ios .checkbox-ios[item-right]{margin:10px 8px 9px 0}.checkbox-ios-primary .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-ios-primary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-ios-secondary .checkbox-checked{border-color:#32db64;background-color:#32db64}.checkbox-ios-secondary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-ios-danger .checkbox-checked{border-color:#f53d3d;background-color:#f53d3d}.checkbox-ios-danger .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-ios-light .checkbox-checked{border-color:#f4f4f4;background-color:#f4f4f4}.checkbox-ios-light .checkbox-checked .checkbox-inner{border-color:#000}.checkbox-ios-dark .checkbox-checked{border-color:#222;background-color:#222}.checkbox-ios-dark .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-ios-optblue .checkbox-checked{border-color:#e00201;background-color:#e00201}.checkbox-ios-optblue .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md{position:relative;display:inline-block}.checkbox-md .checkbox-icon{border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#787878;background-color:#fff;-webkit-transition-duration:280ms;transition-duration:280ms;-webkit-transition-property:background;transition-property:background;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.checkbox-md .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-md .checkbox-checked .checkbox-inner{left:4px;top:0;position:absolute;width:5px;height:10px;border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.checkbox-md.checkbox-disabled,.item-md.item-checkbox-disabled ion-label{opacity:.3;pointer-events:none}.item.item-md .checkbox-md{position:static;display:block;margin:9px 36px 9px 4px}.item.item-md .checkbox-md[item-end],.item.item-md .checkbox-md[item-right]{margin:11px 10px 10px 0}.checkbox-md+.item-inner ion-label{margin-left:0}.checkbox-md-primary .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-md-primary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md-secondary .checkbox-checked{border-color:#32db64;background-color:#32db64}.checkbox-md-secondary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md-danger .checkbox-checked{border-color:#f53d3d;background-color:#f53d3d}.checkbox-md-danger .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md-light .checkbox-checked{border-color:#f4f4f4;background-color:#f4f4f4}.checkbox-md-light .checkbox-checked .checkbox-inner{border-color:#000}.checkbox-md-dark .checkbox-checked{border-color:#222;background-color:#222}.checkbox-md-dark .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-md-optblue .checkbox-checked{border-color:#e00201;background-color:#e00201}.checkbox-md-optblue .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp{position:relative;display:inline-block}.checkbox-wp .checkbox-icon{border-radius:0;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#333;background-color:#fff}.checkbox-wp .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-wp .checkbox-checked .checkbox-inner{left:3px;top:-2px;position:absolute;width:6px;height:12px;border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.checkbox-wp.checkbox-disabled,.item-wp.item-checkbox-disabled ion-label{opacity:.3;pointer-events:none}.item.item-wp .checkbox-wp{position:static;display:block;margin:9px 16px 9px 4px}.item.item-wp .checkbox-wp[item-end],.item.item-wp .checkbox-wp[item-right]{margin:11px 10px 10px 0}.checkbox-wp+.item-inner ion-label{margin-left:0}.checkbox-wp-primary .checkbox-checked{border-color:#673ab7;background-color:#673ab7}.checkbox-wp-primary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp-secondary .checkbox-checked{border-color:#32db64;background-color:#32db64}.checkbox-wp-secondary .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp-danger .checkbox-checked{border-color:#f53d3d;background-color:#f53d3d}.checkbox-wp-danger .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp-light .checkbox-checked{border-color:#f4f4f4;background-color:#f4f4f4}.checkbox-wp-light .checkbox-checked .checkbox-inner{border-color:#000}.checkbox-wp-dark .checkbox-checked{border-color:#222;background-color:#222}.checkbox-wp-dark .checkbox-checked .checkbox-inner{border-color:#fff}.checkbox-wp-optblue .checkbox-checked{border-color:#e00201;background-color:#e00201}.checkbox-wp-optblue .checkbox-checked .checkbox-inner{border-color:#fff}ion-chip{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;font-weight:400;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}ion-chip .button{border-radius:50%;width:32px;height:32px;margin:0}ion-chip ion-icon{text-align:center;border-radius:50%;width:32px;height:32px;font-size:18px;line-height:32px}ion-chip ion-avatar{border-radius:50%;width:32px;min-width:32px;height:32px;min-height:32px}ion-chip ion-avatar img{border-radius:50%;display:block;width:100%;max-width:100%;height:100%;max-height:100%}.chip-ios{border-radius:16px;height:32px;font-size:13px;line-height:32px;color:rgba(0,0,0,.87);background:rgba(0,0,0,.12);margin:2px 0}.chip-ios>ion-label{margin:0 10px}.chip-ios>ion-icon{color:#fff;background-color:#673ab7}.chip-ios .icon-ios-primary,.chip-ios-primary{color:#fff;background-color:#673ab7}.chip-ios .icon-ios-secondary,.chip-ios-secondary{color:#fff;background-color:#32db64}.chip-ios .icon-ios-danger,.chip-ios-danger{color:#fff;background-color:#f53d3d}.chip-ios .icon-ios-light,.chip-ios-light{color:#000;background-color:#f4f4f4}.chip-ios .icon-ios-dark,.chip-ios-dark{color:#fff;background-color:#222}.chip-ios .icon-ios-optblue,.chip-ios-optblue{color:#fff;background-color:#e00201}.chip-md{border-radius:16px;height:32px;font-size:13px;line-height:32px;color:rgba(0,0,0,.87);background:rgba(0,0,0,.12);margin:2px 0}.chip-md>ion-label{margin:0 10px}.chip-md>ion-icon{color:#fff;background-color:#673ab7}.chip-md .icon-md-primary,.chip-md-primary{color:#fff;background-color:#673ab7}.chip-md .icon-md-secondary,.chip-md-secondary{color:#fff;background-color:#32db64}.chip-md .icon-md-danger,.chip-md-danger{color:#fff;background-color:#f53d3d}.chip-md .icon-md-light,.chip-md-light{color:#000;background-color:#f4f4f4}.chip-md .icon-md-dark,.chip-md-dark{color:#fff;background-color:#222}.chip-md .icon-md-optblue,.chip-md-optblue{color:#fff;background-color:#e00201}.chip-wp{border-radius:16px;height:32px;font-size:13px;line-height:32px;color:rgba(0,0,0,.87);background:rgba(0,0,0,.12);margin:2px 0}.chip-wp>ion-label{margin:0 10px}.chip-wp>ion-icon{color:#fff;background-color:#673ab7}.chip-wp .button{border:0}.chip-wp .icon-wp-primary,.chip-wp-primary{color:#fff;background-color:#673ab7}.chip-wp .icon-wp-secondary,.chip-wp-secondary{color:#fff;background-color:#32db64}.chip-wp .icon-wp-danger,.chip-wp-danger{color:#fff;background-color:#f53d3d}.chip-wp .icon-wp-light,.chip-wp-light{color:#000;background-color:#f4f4f4}.chip-wp .icon-wp-dark,.chip-wp-dark{color:#fff;background-color:#222}.chip-wp .icon-wp-optblue,.chip-wp-optblue{color:#fff;background-color:#e00201}ion-content{left:0;top:0;position:relative;display:block;width:100%;height:100%;contain:layout size style}.ion-page>ion-content{position:absolute}a{color:#673ab7}.scroll-content{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;display:block;overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;will-change:scroll-position;contain:size style layout}ion-content.js-scroll>.scroll-content{position:relative;min-height:100%;overflow-x:initial;overflow-y:initial;-webkit-overflow-scrolling:auto;will-change:initial}.disable-scroll .ion-page{pointer-events:none;-ms-touch-action:none;touch-action:none}ion-content.has-refresher>.scroll-content{background-color:inherit}.fixed-content{left:0;right:0;top:0;bottom:0;position:absolute;display:block}[ion-fixed]{position:absolute;z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0)}ion-app [no-padding],ion-app [no-padding] .scroll-content{padding:0}ion-app [no-margin],ion-app [no-margin] .scroll-content{margin:0}.content-ios{color:#000;background-color:#fff}.content-ios.outer-content{background:#efeff4}.content-ios hr{height:.55px;background-color:rgba(0,0,0,.12)}.ios .ion-page.show-page~.nav-decor{left:0;top:0;position:absolute;z-index:0;display:block;width:100%;height:100%;background:#000;pointer-events:none}ion-app.ios [padding]{padding:16px}ion-app.ios [padding-top]{padding-top:16px}ion-app.ios [padding-left]{padding-left:16px}ion-app.ios [padding-right]{padding-right:16px}ion-app.ios [padding-bottom]{padding-bottom:16px}ion-app.ios [padding-vertical]{padding-top:16px;padding-bottom:16px}ion-app.ios [padding-horizontal]{padding-left:16px;padding-right:16px}ion-app.ios [padding] .scroll-content{padding:16px}@media screen and (orientation:landscape){ion-app.ios [padding] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-top:16px;padding-bottom:16px;padding:16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px)}}ion-app.ios [padding-top] .scroll-content{padding-top:16px}@media screen and (orientation:landscape){ion-app.ios [padding-top] .scroll-content{padding-top:16px;padding-top:16px}}ion-app.ios [padding-left] .scroll-content{padding-left:16px}@media screen and (orientation:landscape){ion-app.ios [padding-left] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}ion-app.ios [padding-right] .scroll-content{padding-right:16px}@media screen and (orientation:landscape){ion-app.ios [padding-right] .scroll-content{padding-right:calc(constant(safe-area-inset-right) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.ios [padding-bottom] .scroll-content{padding-bottom:16px}@media screen and (orientation:landscape){ion-app.ios [padding-bottom] .scroll-content{padding-bottom:16px;padding-bottom:16px}}ion-app.ios [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px}@media screen and (orientation:landscape){ion-app.ios [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px;padding-top:16px;padding-bottom:16px}}ion-app.ios [padding-horizontal] .scroll-content{padding-left:16px;padding-right:16px}@media screen and (orientation:landscape){ion-app.ios [padding-horizontal] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-right:calc(constant(safe-area-inset-right) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.ios [margin],ion-app.ios [margin] .scroll-content{margin:16px}ion-app.ios [margin-top],ion-app.ios [margin-top] .scroll-content{margin-top:16px}ion-app.ios [margin-left],ion-app.ios [margin-left] .scroll-content{margin-left:16px}ion-app.ios [margin-start],ion-app.ios [margin-start] .scroll-content{margin-left:16px}ion-app.ios [margin-right],ion-app.ios [margin-right] .scroll-content{margin-right:16px}ion-app.ios [margin-end],ion-app.ios [margin-end] .scroll-content{margin-right:16px}ion-app.ios [margin-bottom],ion-app.ios [margin-bottom] .scroll-content{margin-bottom:16px}ion-app.ios [margin-vertical],ion-app.ios [margin-vertical] .scroll-content{margin-top:16px;margin-bottom:16px}ion-app.ios [margin-horizontal],ion-app.ios [margin-horizontal] .scroll-content{margin-left:16px;margin-right:16px}.content-ios:not([no-bounce])>.scroll-content::after,.content-ios:not([no-bounce])>.scroll-content::before{position:absolute;width:1px;height:1px;content:""}.content-ios:not([no-bounce])>.scroll-content::before{bottom:-1px}.content-ios:not([no-bounce])>.scroll-content::after{top:-1px}.platform-core .content-ios .scroll-content::after,.platform-core .content-ios .scroll-content::before{position:initial;top:initial;bottom:initial;width:initial;height:initial}.content-md{color:#000;background-color:#fff}.content-md hr{background-color:rgba(0,0,0,.08)}ion-app.md [padding]{padding:16px}ion-app.md [padding-top]{padding-top:16px}ion-app.md [padding-left]{padding-left:16px}ion-app.md [padding-right]{padding-right:16px}ion-app.md [padding-bottom]{padding-bottom:16px}ion-app.md [padding-vertical]{padding-top:16px;padding-bottom:16px}ion-app.md [padding-horizontal]{padding-left:16px;padding-right:16px}ion-app.md [padding] .scroll-content{padding:16px}@media screen and (orientation:landscape){ion-app.md [padding] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-top:16px;padding-bottom:16px;padding:16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px)}}ion-app.md [padding-top] .scroll-content{padding-top:16px}@media screen and (orientation:landscape){ion-app.md [padding-top] .scroll-content{padding-top:16px;padding-top:16px}}ion-app.md [padding-left] .scroll-content{padding-left:16px}@media screen and (orientation:landscape){ion-app.md [padding-left] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}ion-app.md [padding-right] .scroll-content{padding-right:16px}@media screen and (orientation:landscape){ion-app.md [padding-right] .scroll-content{padding-right:calc(constant(safe-area-inset-right) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.md [padding-bottom] .scroll-content{padding-bottom:16px}@media screen and (orientation:landscape){ion-app.md [padding-bottom] .scroll-content{padding-bottom:16px;padding-bottom:16px}}ion-app.md [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px}@media screen and (orientation:landscape){ion-app.md [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px;padding-top:16px;padding-bottom:16px}}ion-app.md [padding-horizontal] .scroll-content{padding-left:16px;padding-right:16px}@media screen and (orientation:landscape){ion-app.md [padding-horizontal] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-right:calc(constant(safe-area-inset-right) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.md [margin],ion-app.md [margin] .scroll-content{margin:16px}ion-app.md [margin-top],ion-app.md [margin-top] .scroll-content{margin-top:16px}ion-app.md [margin-left],ion-app.md [margin-left] .scroll-content{margin-left:16px}ion-app.md [margin-start],ion-app.md [margin-start] .scroll-content{margin-left:16px}ion-app.md [margin-right],ion-app.md [margin-right] .scroll-content{margin-right:16px}ion-app.md [margin-end],ion-app.md [margin-end] .scroll-content{margin-right:16px}ion-app.md [margin-bottom],ion-app.md [margin-bottom] .scroll-content{margin-bottom:16px}ion-app.md [margin-vertical],ion-app.md [margin-vertical] .scroll-content{margin-top:16px;margin-bottom:16px}ion-app.md [margin-horizontal],ion-app.md [margin-horizontal] .scroll-content{margin-left:16px;margin-right:16px}.content-wp{color:#000;background-color:#fff}.content-wp hr{background-color:rgba(0,0,0,.08)}ion-app.wp [padding]{padding:16px}ion-app.wp [padding-top]{padding-top:16px}ion-app.wp [padding-left]{padding-left:16px}ion-app.wp [padding-right]{padding-right:16px}ion-app.wp [padding-bottom]{padding-bottom:16px}ion-app.wp [padding-vertical]{padding-top:16px;padding-bottom:16px}ion-app.wp [padding-horizontal]{padding-left:16px;padding-right:16px}ion-app.wp [padding] .scroll-content{padding:16px}@media screen and (orientation:landscape){ion-app.wp [padding] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-top:16px;padding-bottom:16px;padding:16px calc(env(safe-area-inset-right) + 16px) 16px calc(env(safe-area-inset-left) + 16px)}}ion-app.wp [padding-top] .scroll-content{padding-top:16px}@media screen and (orientation:landscape){ion-app.wp [padding-top] .scroll-content{padding-top:16px;padding-top:16px}}ion-app.wp [padding-left] .scroll-content{padding-left:16px}@media screen and (orientation:landscape){ion-app.wp [padding-left] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}ion-app.wp [padding-right] .scroll-content{padding-right:16px}@media screen and (orientation:landscape){ion-app.wp [padding-right] .scroll-content{padding-right:calc(constant(safe-area-inset-right) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.wp [padding-bottom] .scroll-content{padding-bottom:16px}@media screen and (orientation:landscape){ion-app.wp [padding-bottom] .scroll-content{padding-bottom:16px;padding-bottom:16px}}ion-app.wp [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px}@media screen and (orientation:landscape){ion-app.wp [padding-vertical] .scroll-content{padding-top:16px;padding-bottom:16px;padding-top:16px;padding-bottom:16px}}ion-app.wp [padding-horizontal] .scroll-content{padding-left:16px;padding-right:16px}@media screen and (orientation:landscape){ion-app.wp [padding-horizontal] .scroll-content{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-right:calc(constant(safe-area-inset-right) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px);padding-right:calc(env(safe-area-inset-right) + 16px)}}ion-app.wp [margin],ion-app.wp [margin] .scroll-content{margin:16px}ion-app.wp [margin-top],ion-app.wp [margin-top] .scroll-content{margin-top:16px}ion-app.wp [margin-left],ion-app.wp [margin-left] .scroll-content{margin-left:16px}ion-app.wp [margin-start],ion-app.wp [margin-start] .scroll-content{margin-left:16px}ion-app.wp [margin-right],ion-app.wp [margin-right] .scroll-content{margin-right:16px}ion-app.wp [margin-end],ion-app.wp [margin-end] .scroll-content{margin-right:16px}ion-app.wp [margin-bottom],ion-app.wp [margin-bottom] .scroll-content{margin-bottom:16px}ion-app.wp [margin-vertical],ion-app.wp [margin-vertical] .scroll-content{margin-top:16px;margin-bottom:16px}ion-app.wp [margin-horizontal],ion-app.wp [margin-horizontal] .scroll-content{margin-left:16px;margin-right:16px}ion-datetime{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden}.datetime-text{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;min-width:16px;min-height:1.2em;font-size:inherit;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.datetime-disabled,.item-datetime-disabled ion-label{opacity:.4;pointer-events:none}.item-label-floating ion-datetime,.item-label-stacked ion-datetime{padding-left:0;width:100%}.datetime-ios{padding:11px 8px 11px 16px}.datetime-ios .datetime-placeholder{color:#999}.datetime-md{padding:13px 8px 13px 16px}.datetime-md .datetime-placeholder{color:#999}.datetime-wp{padding:13px 8px 13px 16px;min-width:45%}.datetime-wp .datetime-text{padding:0 8px;min-height:3.4rem;border:2px solid rgba(0,0,0,.5);line-height:3rem}.item-datetime .datetime-wp ion-label[floating]{-webkit-transform:translate3d(8px,41px,0);transform:translate3d(8px,41px,0)}.datetime-wp .datetime-placeholder{color:rgba(0,0,0,.5)}.fab{text-align:center;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;border-radius:50%;position:relative;z-index:0;display:block;overflow:hidden;width:56px;height:56px;font-size:14px;line-height:56px;text-overflow:ellipsis;text-transform:none;white-space:nowrap;cursor:pointer;-webkit-transition:background-color,opacity .1s linear;transition:background-color,opacity .1s linear;background-clip:padding-box;-webkit-font-kerning:none;font-kerning:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;contain:strict}.fab ion-icon{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-size:2.4rem}.fab[mini]{margin:8px;width:40px;height:40px;line-height:40px}.fab[mini] .fab-close-icon{line-height:40px}ion-fab{position:absolute;z-index:999}ion-fab[center]{left:50%;margin-left:-28px}ion-fab[middle]{margin-top:-28px;top:50%}ion-fab[top]{top:10px}ion-fab[right]{right:10px;right:calc(10px + constant(safe-area-inset-right));right:calc(10px + env(safe-area-inset-right))}ion-fab[end]{right:10px;right:calc(constant(safe-area-inset-right) + 10px);right:calc(env(safe-area-inset-right) + 10px)}ion-fab[bottom]{bottom:10px}ion-fab[left]{left:10px;left:calc(10px + constant(safe-area-inset-left));left:calc(10px + env(safe-area-inset-left))}ion-fab[start]{left:10px;left:calc(constant(safe-area-inset-left) + 10px);left:calc(env(safe-area-inset-left) + 10px)}ion-fab[top][edge]{top:-28px}ion-fab[bottom][edge]{bottom:-28px}ion-fab-list{margin:66px 0;position:absolute;top:0;display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}.fab-in-list{margin:8px 0;width:40px;height:40px;opacity:0;visibility:hidden;-webkit-transform:scale(0);transform:scale(0)}.fab-in-list.show{opacity:1;visibility:visible;-webkit-transform:scale(1);transform:scale(1)}ion-fab-list[side=left] .fab-in-list,ion-fab-list[side=right] .fab-in-list{margin:0 8px}ion-fab-list[side=top]{top:auto;bottom:0;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}ion-fab-list[side=left]{margin:0 66px;right:0;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}ion-fab-list[side=right]{margin:0 66px;left:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.fab-list-active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.fab-close-icon{left:0;right:0;top:0;position:absolute;line-height:56px;opacity:0;-webkit-transform:scale(.4) rotateZ(-45deg);transform:scale(.4) rotateZ(-45deg);-webkit-transition:all ease-in-out .3s;transition:all ease-in-out .3s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform}.fab .button-inner{-webkit-transition:all ease-in-out .3s;transition:all ease-in-out .3s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform}.fab-close-active .fab-close-icon{opacity:1;-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}.fab-close-active .button-inner{opacity:0;-webkit-transform:scale(.4) rotateZ(45deg);transform:scale(.4) rotateZ(45deg)}.fab-ios{color:#fff;background-color:#673ab7}.fab-ios.activated{background-color:#734abd}.fab-ios-in-list{color:#000;background-color:#f4f4f4;-webkit-transition:opacity .2s ease 10ms,-webkit-transform .2s ease 10ms;transition:opacity .2s ease 10ms,-webkit-transform .2s ease 10ms;transition:transform .2s ease 10ms,opacity .2s ease 10ms;transition:transform .2s ease 10ms,opacity .2s ease 10ms,-webkit-transform .2s ease 10ms}.fab-ios-in-list.activated{background-color:#e0e0e0}.fab-ios-primary{color:#fff;background-color:#673ab7}.fab-ios-primary.activated{background-color:#734abd}.fab-ios-secondary{color:#fff;background-color:#32db64}.fab-ios-secondary.activated{background-color:#2ec95c}.fab-ios-danger{color:#fff;background-color:#f53d3d}.fab-ios-danger.activated{background-color:#e13838}.fab-ios-light{color:#000;background-color:#f4f4f4}.fab-ios-light.activated{background-color:#e0e0e0}.fab-ios-dark{color:#fff;background-color:#222}.fab-ios-dark.activated{background-color:#343434}.fab-ios-optblue{color:#fff;background-color:#e00201}.fab-ios-optblue.activated{background-color:#e21615}.fab-md{color:#fff;background-color:#673ab7;-webkit-box-shadow:0 4px 6px 0 rgba(0,0,0,.14),0 4px 5px rgba(0,0,0,.1);box-shadow:0 4px 6px 0 rgba(0,0,0,.14),0 4px 5px rgba(0,0,0,.1);-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1)}.fab-md.activated{background-color:#734abd;-webkit-box-shadow:0 5px 15px 0 rgba(0,0,0,.4),0 4px 7px 0 rgba(0,0,0,.1);box-shadow:0 5px 15px 0 rgba(0,0,0,.4),0 4px 7px 0 rgba(0,0,0,.1)}.fab-md-in-list{color:#000;background-color:#f4f4f4;-webkit-transition:opacity .2s ease 10ms,background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-transform .2s ease 10ms,-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:opacity .2s ease 10ms,background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-transform .2s ease 10ms,-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1);transition:transform .2s ease 10ms,opacity .2s ease 10ms,box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:transform .2s ease 10ms,opacity .2s ease 10ms,box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),-webkit-transform .2s ease 10ms,-webkit-box-shadow .3s cubic-bezier(.4,0,.2,1)}.fab-md-in-list.activated{background-color:#e0e0e0}.fab-md .button-effect{background-color:#fff}.fab-md-primary{color:#fff;background-color:#673ab7}.fab-md-primary.activated{background-color:#734abd}.fab-md-primary .button-effect{background-color:#fff}.fab-md-secondary{color:#fff;background-color:#32db64}.fab-md-secondary.activated{background-color:#2ec95c}.fab-md-secondary .button-effect{background-color:#fff}.fab-md-danger{color:#fff;background-color:#f53d3d}.fab-md-danger.activated{background-color:#e13838}.fab-md-danger .button-effect{background-color:#fff}.fab-md-light{color:#000;background-color:#f4f4f4}.fab-md-light.activated{background-color:#e0e0e0}.fab-md-light .button-effect{background-color:#000}.fab-md-dark{color:#fff;background-color:#222}.fab-md-dark.activated{background-color:#343434}.fab-md-dark .button-effect{background-color:#fff}.fab-md-optblue{color:#fff;background-color:#e00201}.fab-md-optblue.activated{background-color:#e21615}.fab-md-optblue .button-effect{background-color:#fff}.fab-wp{color:#fff;background-color:#673ab7}.fab-wp.activated{background-color:#734abd}.fab-wp-in-list{color:#000;background-color:#f4f4f4;-webkit-transition:opacity .2s ease 10ms,-webkit-transform .2s ease 10ms;transition:opacity .2s ease 10ms,-webkit-transform .2s ease 10ms;transition:transform .2s ease 10ms,opacity .2s ease 10ms;transition:transform .2s ease 10ms,opacity .2s ease 10ms,-webkit-transform .2s ease 10ms}.fab-wp-in-list.activated{background-color:#e0e0e0}.fab-wp-primary{color:#fff;background-color:#673ab7}.fab-wp-primary.activated{background-color:#734abd}.fab-wp-secondary{color:#fff;background-color:#32db64}.fab-wp-secondary.activated{background-color:#2ec95c}.fab-wp-danger{color:#fff;background-color:#f53d3d}.fab-wp-danger.activated{background-color:#e13838}.fab-wp-light{color:#000;background-color:#f4f4f4}.fab-wp-light.activated{background-color:#e0e0e0}.fab-wp-dark{color:#fff;background-color:#222}.fab-wp-dark.activated{background-color:#343434}.fab-wp-optblue{color:#fff;background-color:#e00201}.fab-wp-optblue.activated{background-color:#e21615}.grid{padding:5px;margin-left:auto;margin-right:auto;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.grid[no-padding]{padding:0}.grid[no-padding]>.row>.col{padding:0}@media (min-width:576px){.grid[fixed]{width:540px;max-width:100%}}@media (min-width:768px){.grid[fixed]{width:720px;max-width:100%}}@media (min-width:992px){.grid[fixed]{width:960px;max-width:100%}}@media (min-width:1200px){.grid[fixed]{width:1140px;max-width:100%}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.row[nowrap]{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.row[wrap-reverse]{-webkit-flex-wrap:wrap-reverse;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.row[align-items-start]{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.row[align-items-center]{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.row[align-items-end]{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.row[align-items-stretch]{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.row[align-items-baseline]{-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline}.row[justify-content-start]{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.row[justify-content-center]{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.row[justify-content-end]{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.row[justify-content-around]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row[justify-content-between]{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.col{padding:5px;position:relative;width:100%;margin:0;min-height:1px;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col[align-self-start]{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.col[align-self-end]{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.col[align-self-center]{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.col[align-self-stretch]{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.col[align-self-baseline]{-webkit-align-self:baseline;-ms-flex-item-align:baseline;align-self:baseline}[col-1]{padding:5px}@media (min-width:576px){[col-1]{padding:5px}}@media (min-width:768px){[col-1]{padding:5px}}@media (min-width:992px){[col-1]{padding:5px}}@media (min-width:1200px){[col-1]{padding:5px}}[col-2]{padding:5px}@media (min-width:576px){[col-2]{padding:5px}}@media (min-width:768px){[col-2]{padding:5px}}@media (min-width:992px){[col-2]{padding:5px}}@media (min-width:1200px){[col-2]{padding:5px}}[col-3]{padding:5px}@media (min-width:576px){[col-3]{padding:5px}}@media (min-width:768px){[col-3]{padding:5px}}@media (min-width:992px){[col-3]{padding:5px}}@media (min-width:1200px){[col-3]{padding:5px}}[col-4]{padding:5px}@media (min-width:576px){[col-4]{padding:5px}}@media (min-width:768px){[col-4]{padding:5px}}@media (min-width:992px){[col-4]{padding:5px}}@media (min-width:1200px){[col-4]{padding:5px}}[col-5]{padding:5px}@media (min-width:576px){[col-5]{padding:5px}}@media (min-width:768px){[col-5]{padding:5px}}@media (min-width:992px){[col-5]{padding:5px}}@media (min-width:1200px){[col-5]{padding:5px}}[col-6]{padding:5px}@media (min-width:576px){[col-6]{padding:5px}}@media (min-width:768px){[col-6]{padding:5px}}@media (min-width:992px){[col-6]{padding:5px}}@media (min-width:1200px){[col-6]{padding:5px}}[col-7]{padding:5px}@media (min-width:576px){[col-7]{padding:5px}}@media (min-width:768px){[col-7]{padding:5px}}@media (min-width:992px){[col-7]{padding:5px}}@media (min-width:1200px){[col-7]{padding:5px}}[col-8]{padding:5px}@media (min-width:576px){[col-8]{padding:5px}}@media (min-width:768px){[col-8]{padding:5px}}@media (min-width:992px){[col-8]{padding:5px}}@media (min-width:1200px){[col-8]{padding:5px}}[col-9]{padding:5px}@media (min-width:576px){[col-9]{padding:5px}}@media (min-width:768px){[col-9]{padding:5px}}@media (min-width:992px){[col-9]{padding:5px}}@media (min-width:1200px){[col-9]{padding:5px}}[col-10]{padding:5px}@media (min-width:576px){[col-10]{padding:5px}}@media (min-width:768px){[col-10]{padding:5px}}@media (min-width:992px){[col-10]{padding:5px}}@media (min-width:1200px){[col-10]{padding:5px}}[col-11]{padding:5px}@media (min-width:576px){[col-11]{padding:5px}}@media (min-width:768px){[col-11]{padding:5px}}@media (min-width:992px){[col-11]{padding:5px}}@media (min-width:1200px){[col-11]{padding:5px}}[col-12]{padding:5px}@media (min-width:576px){[col-12]{padding:5px}}@media (min-width:768px){[col-12]{padding:5px}}@media (min-width:992px){[col-12]{padding:5px}}@media (min-width:1200px){[col-12]{padding:5px}}[col]{padding:5px}@media (min-width:576px){[col]{padding:5px}}@media (min-width:768px){[col]{padding:5px}}@media (min-width:992px){[col]{padding:5px}}@media (min-width:1200px){[col]{padding:5px}}[col]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-0]{right:auto}[pull-1]{right:8.33333%}[pull-2]{right:16.66667%}[pull-3]{right:25%}[pull-4]{right:33.33333%}[pull-5]{right:41.66667%}[pull-6]{right:50%}[pull-7]{right:58.33333%}[pull-8]{right:66.66667%}[pull-9]{right:75%}[pull-10]{right:83.33333%}[pull-11]{right:91.66667%}[pull-12]{right:100%}[push-0]{left:auto}[push-1]{left:8.33333%}[push-2]{left:16.66667%}[push-3]{left:25%}[push-4]{left:33.33333%}[push-5]{left:41.66667%}[push-6]{left:50%}[push-7]{left:58.33333%}[push-8]{left:66.66667%}[push-9]{left:75%}[push-10]{left:83.33333%}[push-11]{left:91.66667%}[push-12]{left:100%}[offset-1]{margin-left:8.33333%}[offset-2]{margin-left:16.66667%}[offset-3]{margin-left:25%}[offset-4]{margin-left:33.33333%}[offset-5]{margin-left:41.66667%}[offset-6]{margin-left:50%}[offset-7]{margin-left:58.33333%}[offset-8]{margin-left:66.66667%}[offset-9]{margin-left:75%}[offset-10]{margin-left:83.33333%}[offset-11]{margin-left:91.66667%}[col-sm-1]{padding:5px}@media (min-width:576px){[col-sm-1]{padding:5px}}@media (min-width:768px){[col-sm-1]{padding:5px}}@media (min-width:992px){[col-sm-1]{padding:5px}}@media (min-width:1200px){[col-sm-1]{padding:5px}}[col-sm-2]{padding:5px}@media (min-width:576px){[col-sm-2]{padding:5px}}@media (min-width:768px){[col-sm-2]{padding:5px}}@media (min-width:992px){[col-sm-2]{padding:5px}}@media (min-width:1200px){[col-sm-2]{padding:5px}}[col-sm-3]{padding:5px}@media (min-width:576px){[col-sm-3]{padding:5px}}@media (min-width:768px){[col-sm-3]{padding:5px}}@media (min-width:992px){[col-sm-3]{padding:5px}}@media (min-width:1200px){[col-sm-3]{padding:5px}}[col-sm-4]{padding:5px}@media (min-width:576px){[col-sm-4]{padding:5px}}@media (min-width:768px){[col-sm-4]{padding:5px}}@media (min-width:992px){[col-sm-4]{padding:5px}}@media (min-width:1200px){[col-sm-4]{padding:5px}}[col-sm-5]{padding:5px}@media (min-width:576px){[col-sm-5]{padding:5px}}@media (min-width:768px){[col-sm-5]{padding:5px}}@media (min-width:992px){[col-sm-5]{padding:5px}}@media (min-width:1200px){[col-sm-5]{padding:5px}}[col-sm-6]{padding:5px}@media (min-width:576px){[col-sm-6]{padding:5px}}@media (min-width:768px){[col-sm-6]{padding:5px}}@media (min-width:992px){[col-sm-6]{padding:5px}}@media (min-width:1200px){[col-sm-6]{padding:5px}}[col-sm-7]{padding:5px}@media (min-width:576px){[col-sm-7]{padding:5px}}@media (min-width:768px){[col-sm-7]{padding:5px}}@media (min-width:992px){[col-sm-7]{padding:5px}}@media (min-width:1200px){[col-sm-7]{padding:5px}}[col-sm-8]{padding:5px}@media (min-width:576px){[col-sm-8]{padding:5px}}@media (min-width:768px){[col-sm-8]{padding:5px}}@media (min-width:992px){[col-sm-8]{padding:5px}}@media (min-width:1200px){[col-sm-8]{padding:5px}}[col-sm-9]{padding:5px}@media (min-width:576px){[col-sm-9]{padding:5px}}@media (min-width:768px){[col-sm-9]{padding:5px}}@media (min-width:992px){[col-sm-9]{padding:5px}}@media (min-width:1200px){[col-sm-9]{padding:5px}}[col-sm-10]{padding:5px}@media (min-width:576px){[col-sm-10]{padding:5px}}@media (min-width:768px){[col-sm-10]{padding:5px}}@media (min-width:992px){[col-sm-10]{padding:5px}}@media (min-width:1200px){[col-sm-10]{padding:5px}}[col-sm-11]{padding:5px}@media (min-width:576px){[col-sm-11]{padding:5px}}@media (min-width:768px){[col-sm-11]{padding:5px}}@media (min-width:992px){[col-sm-11]{padding:5px}}@media (min-width:1200px){[col-sm-11]{padding:5px}}[col-sm-12]{padding:5px}@media (min-width:576px){[col-sm-12]{padding:5px}}@media (min-width:768px){[col-sm-12]{padding:5px}}@media (min-width:992px){[col-sm-12]{padding:5px}}@media (min-width:1200px){[col-sm-12]{padding:5px}}[col-sm]{padding:5px}@media (min-width:576px){[col-sm]{padding:5px}}@media (min-width:768px){[col-sm]{padding:5px}}@media (min-width:992px){[col-sm]{padding:5px}}@media (min-width:1200px){[col-sm]{padding:5px}}@media (min-width:576px){[col-sm]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-sm-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-sm-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-sm-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-sm-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-sm-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-sm-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-sm-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-sm-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-sm-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-sm-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-sm-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-sm-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-sm-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-sm-0]{right:auto}[pull-sm-1]{right:8.33333%}[pull-sm-2]{right:16.66667%}[pull-sm-3]{right:25%}[pull-sm-4]{right:33.33333%}[pull-sm-5]{right:41.66667%}[pull-sm-6]{right:50%}[pull-sm-7]{right:58.33333%}[pull-sm-8]{right:66.66667%}[pull-sm-9]{right:75%}[pull-sm-10]{right:83.33333%}[pull-sm-11]{right:91.66667%}[pull-sm-12]{right:100%}[push-sm-0]{left:auto}[push-sm-1]{left:8.33333%}[push-sm-2]{left:16.66667%}[push-sm-3]{left:25%}[push-sm-4]{left:33.33333%}[push-sm-5]{left:41.66667%}[push-sm-6]{left:50%}[push-sm-7]{left:58.33333%}[push-sm-8]{left:66.66667%}[push-sm-9]{left:75%}[push-sm-10]{left:83.33333%}[push-sm-11]{left:91.66667%}[push-sm-12]{left:100%}[offset-sm-0]{margin-left:0}[offset-sm-1]{margin-left:8.33333%}[offset-sm-2]{margin-left:16.66667%}[offset-sm-3]{margin-left:25%}[offset-sm-4]{margin-left:33.33333%}[offset-sm-5]{margin-left:41.66667%}[offset-sm-6]{margin-left:50%}[offset-sm-7]{margin-left:58.33333%}[offset-sm-8]{margin-left:66.66667%}[offset-sm-9]{margin-left:75%}[offset-sm-10]{margin-left:83.33333%}[offset-sm-11]{margin-left:91.66667%}}[col-md-1]{padding:5px}@media (min-width:576px){[col-md-1]{padding:5px}}@media (min-width:768px){[col-md-1]{padding:5px}}@media (min-width:992px){[col-md-1]{padding:5px}}@media (min-width:1200px){[col-md-1]{padding:5px}}[col-md-2]{padding:5px}@media (min-width:576px){[col-md-2]{padding:5px}}@media (min-width:768px){[col-md-2]{padding:5px}}@media (min-width:992px){[col-md-2]{padding:5px}}@media (min-width:1200px){[col-md-2]{padding:5px}}[col-md-3]{padding:5px}@media (min-width:576px){[col-md-3]{padding:5px}}@media (min-width:768px){[col-md-3]{padding:5px}}@media (min-width:992px){[col-md-3]{padding:5px}}@media (min-width:1200px){[col-md-3]{padding:5px}}[col-md-4]{padding:5px}@media (min-width:576px){[col-md-4]{padding:5px}}@media (min-width:768px){[col-md-4]{padding:5px}}@media (min-width:992px){[col-md-4]{padding:5px}}@media (min-width:1200px){[col-md-4]{padding:5px}}[col-md-5]{padding:5px}@media (min-width:576px){[col-md-5]{padding:5px}}@media (min-width:768px){[col-md-5]{padding:5px}}@media (min-width:992px){[col-md-5]{padding:5px}}@media (min-width:1200px){[col-md-5]{padding:5px}}[col-md-6]{padding:5px}@media (min-width:576px){[col-md-6]{padding:5px}}@media (min-width:768px){[col-md-6]{padding:5px}}@media (min-width:992px){[col-md-6]{padding:5px}}@media (min-width:1200px){[col-md-6]{padding:5px}}[col-md-7]{padding:5px}@media (min-width:576px){[col-md-7]{padding:5px}}@media (min-width:768px){[col-md-7]{padding:5px}}@media (min-width:992px){[col-md-7]{padding:5px}}@media (min-width:1200px){[col-md-7]{padding:5px}}[col-md-8]{padding:5px}@media (min-width:576px){[col-md-8]{padding:5px}}@media (min-width:768px){[col-md-8]{padding:5px}}@media (min-width:992px){[col-md-8]{padding:5px}}@media (min-width:1200px){[col-md-8]{padding:5px}}[col-md-9]{padding:5px}@media (min-width:576px){[col-md-9]{padding:5px}}@media (min-width:768px){[col-md-9]{padding:5px}}@media (min-width:992px){[col-md-9]{padding:5px}}@media (min-width:1200px){[col-md-9]{padding:5px}}[col-md-10]{padding:5px}@media (min-width:576px){[col-md-10]{padding:5px}}@media (min-width:768px){[col-md-10]{padding:5px}}@media (min-width:992px){[col-md-10]{padding:5px}}@media (min-width:1200px){[col-md-10]{padding:5px}}[col-md-11]{padding:5px}@media (min-width:576px){[col-md-11]{padding:5px}}@media (min-width:768px){[col-md-11]{padding:5px}}@media (min-width:992px){[col-md-11]{padding:5px}}@media (min-width:1200px){[col-md-11]{padding:5px}}[col-md-12]{padding:5px}@media (min-width:576px){[col-md-12]{padding:5px}}@media (min-width:768px){[col-md-12]{padding:5px}}@media (min-width:992px){[col-md-12]{padding:5px}}@media (min-width:1200px){[col-md-12]{padding:5px}}[col-md]{padding:5px}@media (min-width:576px){[col-md]{padding:5px}}@media (min-width:768px){[col-md]{padding:5px}}@media (min-width:992px){[col-md]{padding:5px}}@media (min-width:1200px){[col-md]{padding:5px}}@media (min-width:768px){[col-md]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-md-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-md-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-md-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-md-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-md-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-md-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-md-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-md-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-md-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-md-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-md-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-md-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-md-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-md-0]{right:auto}[pull-md-1]{right:8.33333%}[pull-md-2]{right:16.66667%}[pull-md-3]{right:25%}[pull-md-4]{right:33.33333%}[pull-md-5]{right:41.66667%}[pull-md-6]{right:50%}[pull-md-7]{right:58.33333%}[pull-md-8]{right:66.66667%}[pull-md-9]{right:75%}[pull-md-10]{right:83.33333%}[pull-md-11]{right:91.66667%}[pull-md-12]{right:100%}[push-md-0]{left:auto}[push-md-1]{left:8.33333%}[push-md-2]{left:16.66667%}[push-md-3]{left:25%}[push-md-4]{left:33.33333%}[push-md-5]{left:41.66667%}[push-md-6]{left:50%}[push-md-7]{left:58.33333%}[push-md-8]{left:66.66667%}[push-md-9]{left:75%}[push-md-10]{left:83.33333%}[push-md-11]{left:91.66667%}[push-md-12]{left:100%}[offset-md-0]{margin-left:0}[offset-md-1]{margin-left:8.33333%}[offset-md-2]{margin-left:16.66667%}[offset-md-3]{margin-left:25%}[offset-md-4]{margin-left:33.33333%}[offset-md-5]{margin-left:41.66667%}[offset-md-6]{margin-left:50%}[offset-md-7]{margin-left:58.33333%}[offset-md-8]{margin-left:66.66667%}[offset-md-9]{margin-left:75%}[offset-md-10]{margin-left:83.33333%}[offset-md-11]{margin-left:91.66667%}}[col-lg-1]{padding:5px}@media (min-width:576px){[col-lg-1]{padding:5px}}@media (min-width:768px){[col-lg-1]{padding:5px}}@media (min-width:992px){[col-lg-1]{padding:5px}}@media (min-width:1200px){[col-lg-1]{padding:5px}}[col-lg-2]{padding:5px}@media (min-width:576px){[col-lg-2]{padding:5px}}@media (min-width:768px){[col-lg-2]{padding:5px}}@media (min-width:992px){[col-lg-2]{padding:5px}}@media (min-width:1200px){[col-lg-2]{padding:5px}}[col-lg-3]{padding:5px}@media (min-width:576px){[col-lg-3]{padding:5px}}@media (min-width:768px){[col-lg-3]{padding:5px}}@media (min-width:992px){[col-lg-3]{padding:5px}}@media (min-width:1200px){[col-lg-3]{padding:5px}}[col-lg-4]{padding:5px}@media (min-width:576px){[col-lg-4]{padding:5px}}@media (min-width:768px){[col-lg-4]{padding:5px}}@media (min-width:992px){[col-lg-4]{padding:5px}}@media (min-width:1200px){[col-lg-4]{padding:5px}}[col-lg-5]{padding:5px}@media (min-width:576px){[col-lg-5]{padding:5px}}@media (min-width:768px){[col-lg-5]{padding:5px}}@media (min-width:992px){[col-lg-5]{padding:5px}}@media (min-width:1200px){[col-lg-5]{padding:5px}}[col-lg-6]{padding:5px}@media (min-width:576px){[col-lg-6]{padding:5px}}@media (min-width:768px){[col-lg-6]{padding:5px}}@media (min-width:992px){[col-lg-6]{padding:5px}}@media (min-width:1200px){[col-lg-6]{padding:5px}}[col-lg-7]{padding:5px}@media (min-width:576px){[col-lg-7]{padding:5px}}@media (min-width:768px){[col-lg-7]{padding:5px}}@media (min-width:992px){[col-lg-7]{padding:5px}}@media (min-width:1200px){[col-lg-7]{padding:5px}}[col-lg-8]{padding:5px}@media (min-width:576px){[col-lg-8]{padding:5px}}@media (min-width:768px){[col-lg-8]{padding:5px}}@media (min-width:992px){[col-lg-8]{padding:5px}}@media (min-width:1200px){[col-lg-8]{padding:5px}}[col-lg-9]{padding:5px}@media (min-width:576px){[col-lg-9]{padding:5px}}@media (min-width:768px){[col-lg-9]{padding:5px}}@media (min-width:992px){[col-lg-9]{padding:5px}}@media (min-width:1200px){[col-lg-9]{padding:5px}}[col-lg-10]{padding:5px}@media (min-width:576px){[col-lg-10]{padding:5px}}@media (min-width:768px){[col-lg-10]{padding:5px}}@media (min-width:992px){[col-lg-10]{padding:5px}}@media (min-width:1200px){[col-lg-10]{padding:5px}}[col-lg-11]{padding:5px}@media (min-width:576px){[col-lg-11]{padding:5px}}@media (min-width:768px){[col-lg-11]{padding:5px}}@media (min-width:992px){[col-lg-11]{padding:5px}}@media (min-width:1200px){[col-lg-11]{padding:5px}}[col-lg-12]{padding:5px}@media (min-width:576px){[col-lg-12]{padding:5px}}@media (min-width:768px){[col-lg-12]{padding:5px}}@media (min-width:992px){[col-lg-12]{padding:5px}}@media (min-width:1200px){[col-lg-12]{padding:5px}}[col-lg]{padding:5px}@media (min-width:576px){[col-lg]{padding:5px}}@media (min-width:768px){[col-lg]{padding:5px}}@media (min-width:992px){[col-lg]{padding:5px}}@media (min-width:1200px){[col-lg]{padding:5px}}@media (min-width:992px){[col-lg]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-lg-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-lg-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-lg-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-lg-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-lg-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-lg-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-lg-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-lg-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-lg-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-lg-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-lg-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-lg-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-lg-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-lg-0]{right:auto}[pull-lg-1]{right:8.33333%}[pull-lg-2]{right:16.66667%}[pull-lg-3]{right:25%}[pull-lg-4]{right:33.33333%}[pull-lg-5]{right:41.66667%}[pull-lg-6]{right:50%}[pull-lg-7]{right:58.33333%}[pull-lg-8]{right:66.66667%}[pull-lg-9]{right:75%}[pull-lg-10]{right:83.33333%}[pull-lg-11]{right:91.66667%}[pull-lg-12]{right:100%}[push-lg-0]{left:auto}[push-lg-1]{left:8.33333%}[push-lg-2]{left:16.66667%}[push-lg-3]{left:25%}[push-lg-4]{left:33.33333%}[push-lg-5]{left:41.66667%}[push-lg-6]{left:50%}[push-lg-7]{left:58.33333%}[push-lg-8]{left:66.66667%}[push-lg-9]{left:75%}[push-lg-10]{left:83.33333%}[push-lg-11]{left:91.66667%}[push-lg-12]{left:100%}[offset-lg-0]{margin-left:0}[offset-lg-1]{margin-left:8.33333%}[offset-lg-2]{margin-left:16.66667%}[offset-lg-3]{margin-left:25%}[offset-lg-4]{margin-left:33.33333%}[offset-lg-5]{margin-left:41.66667%}[offset-lg-6]{margin-left:50%}[offset-lg-7]{margin-left:58.33333%}[offset-lg-8]{margin-left:66.66667%}[offset-lg-9]{margin-left:75%}[offset-lg-10]{margin-left:83.33333%}[offset-lg-11]{margin-left:91.66667%}}[col-xl-1]{padding:5px}@media (min-width:576px){[col-xl-1]{padding:5px}}@media (min-width:768px){[col-xl-1]{padding:5px}}@media (min-width:992px){[col-xl-1]{padding:5px}}@media (min-width:1200px){[col-xl-1]{padding:5px}}[col-xl-2]{padding:5px}@media (min-width:576px){[col-xl-2]{padding:5px}}@media (min-width:768px){[col-xl-2]{padding:5px}}@media (min-width:992px){[col-xl-2]{padding:5px}}@media (min-width:1200px){[col-xl-2]{padding:5px}}[col-xl-3]{padding:5px}@media (min-width:576px){[col-xl-3]{padding:5px}}@media (min-width:768px){[col-xl-3]{padding:5px}}@media (min-width:992px){[col-xl-3]{padding:5px}}@media (min-width:1200px){[col-xl-3]{padding:5px}}[col-xl-4]{padding:5px}@media (min-width:576px){[col-xl-4]{padding:5px}}@media (min-width:768px){[col-xl-4]{padding:5px}}@media (min-width:992px){[col-xl-4]{padding:5px}}@media (min-width:1200px){[col-xl-4]{padding:5px}}[col-xl-5]{padding:5px}@media (min-width:576px){[col-xl-5]{padding:5px}}@media (min-width:768px){[col-xl-5]{padding:5px}}@media (min-width:992px){[col-xl-5]{padding:5px}}@media (min-width:1200px){[col-xl-5]{padding:5px}}[col-xl-6]{padding:5px}@media (min-width:576px){[col-xl-6]{padding:5px}}@media (min-width:768px){[col-xl-6]{padding:5px}}@media (min-width:992px){[col-xl-6]{padding:5px}}@media (min-width:1200px){[col-xl-6]{padding:5px}}[col-xl-7]{padding:5px}@media (min-width:576px){[col-xl-7]{padding:5px}}@media (min-width:768px){[col-xl-7]{padding:5px}}@media (min-width:992px){[col-xl-7]{padding:5px}}@media (min-width:1200px){[col-xl-7]{padding:5px}}[col-xl-8]{padding:5px}@media (min-width:576px){[col-xl-8]{padding:5px}}@media (min-width:768px){[col-xl-8]{padding:5px}}@media (min-width:992px){[col-xl-8]{padding:5px}}@media (min-width:1200px){[col-xl-8]{padding:5px}}[col-xl-9]{padding:5px}@media (min-width:576px){[col-xl-9]{padding:5px}}@media (min-width:768px){[col-xl-9]{padding:5px}}@media (min-width:992px){[col-xl-9]{padding:5px}}@media (min-width:1200px){[col-xl-9]{padding:5px}}[col-xl-10]{padding:5px}@media (min-width:576px){[col-xl-10]{padding:5px}}@media (min-width:768px){[col-xl-10]{padding:5px}}@media (min-width:992px){[col-xl-10]{padding:5px}}@media (min-width:1200px){[col-xl-10]{padding:5px}}[col-xl-11]{padding:5px}@media (min-width:576px){[col-xl-11]{padding:5px}}@media (min-width:768px){[col-xl-11]{padding:5px}}@media (min-width:992px){[col-xl-11]{padding:5px}}@media (min-width:1200px){[col-xl-11]{padding:5px}}[col-xl-12]{padding:5px}@media (min-width:576px){[col-xl-12]{padding:5px}}@media (min-width:768px){[col-xl-12]{padding:5px}}@media (min-width:992px){[col-xl-12]{padding:5px}}@media (min-width:1200px){[col-xl-12]{padding:5px}}[col-xl]{padding:5px}@media (min-width:576px){[col-xl]{padding:5px}}@media (min-width:768px){[col-xl]{padding:5px}}@media (min-width:992px){[col-xl]{padding:5px}}@media (min-width:1200px){[col-xl]{padding:5px}}@media (min-width:1200px){[col-xl]{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}[col-xl-auto]{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}[col-xl-1]{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;width:8.33333%;max-width:8.33333%}[col-xl-2]{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;width:16.66667%;max-width:16.66667%}[col-xl-3]{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%;max-width:25%}[col-xl-4]{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;width:33.33333%;max-width:33.33333%}[col-xl-5]{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;width:41.66667%;max-width:41.66667%}[col-xl-6]{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%;max-width:50%}[col-xl-7]{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;width:58.33333%;max-width:58.33333%}[col-xl-8]{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;width:66.66667%;max-width:66.66667%}[col-xl-9]{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%;max-width:75%}[col-xl-10]{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;width:83.33333%;max-width:83.33333%}[col-xl-11]{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;width:91.66667%;max-width:91.66667%}[col-xl-12]{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;max-width:100%}[pull-xl-0]{right:auto}[pull-xl-1]{right:8.33333%}[pull-xl-2]{right:16.66667%}[pull-xl-3]{right:25%}[pull-xl-4]{right:33.33333%}[pull-xl-5]{right:41.66667%}[pull-xl-6]{right:50%}[pull-xl-7]{right:58.33333%}[pull-xl-8]{right:66.66667%}[pull-xl-9]{right:75%}[pull-xl-10]{right:83.33333%}[pull-xl-11]{right:91.66667%}[pull-xl-12]{right:100%}[push-xl-0]{left:auto}[push-xl-1]{left:8.33333%}[push-xl-2]{left:16.66667%}[push-xl-3]{left:25%}[push-xl-4]{left:33.33333%}[push-xl-5]{left:41.66667%}[push-xl-6]{left:50%}[push-xl-7]{left:58.33333%}[push-xl-8]{left:66.66667%}[push-xl-9]{left:75%}[push-xl-10]{left:83.33333%}[push-xl-11]{left:91.66667%}[push-xl-12]{left:100%}[offset-xl-0]{margin-left:0}[offset-xl-1]{margin-left:8.33333%}[offset-xl-2]{margin-left:16.66667%}[offset-xl-3]{margin-left:25%}[offset-xl-4]{margin-left:33.33333%}[offset-xl-5]{margin-left:41.66667%}[offset-xl-6]{margin-left:50%}[offset-xl-7]{margin-left:58.33333%}[offset-xl-8]{margin-left:66.66667%}[offset-xl-9]{margin-left:75%}[offset-xl-10]{margin-left:83.33333%}[offset-xl-11]{margin-left:91.66667%}}ion-icon{display:inline-block;font-size:1.2em}ion-icon[small]{min-height:1.1em;font-size:1.1em}.icon-ios-primary{color:#673ab7}.icon-ios-secondary{color:#32db64}.icon-ios-danger{color:#f53d3d}.icon-ios-light{color:#f4f4f4}.icon-ios-dark{color:#222}.icon-ios-optblue{color:#e00201}.icon-md-primary{color:#673ab7}.icon-md-secondary{color:#32db64}.icon-md-danger{color:#f53d3d}.icon-md-light{color:#f4f4f4}.icon-md-dark{color:#222}.icon-md-optblue{color:#e00201}.icon-wp-primary{color:#673ab7}.icon-wp-secondary{color:#32db64}.icon-wp-danger{color:#f53d3d}.icon-wp-light{color:#f4f4f4}.icon-wp-dark{color:#222}.icon-wp-optblue{color:#e00201}ion-img{display:inline-block;min-width:20px;min-height:20px;background:#eee;contain:strict}ion-img img{-o-object-fit:cover;object-fit:cover}ion-img.img-unloaded img{display:none}ion-img.img-loaded img{display:block}ion-infinite-scroll{display:block;width:100%}ion-infinite-scroll-content{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;min-height:84px}.infinite-loading{display:none;width:100%;margin:0 0 32px}.infinite-loading-text{color:#666;margin:4px 32px 0}.infinite-loading-spinner .spinner-crescent circle,.infinite-loading-spinner .spinner-ios line,.infinite-loading-spinner .spinner-ios-small line{stroke:#666}.infinite-loading-spinner .spinner-bubbles circle,.infinite-loading-spinner .spinner-circles circle,.infinite-loading-spinner .spinner-dots circle{fill:#666}ion-infinite-scroll-content[state=loading] .infinite-loading{display:block}ion-infinite-scroll-content[state=disabled]{display:none}ion-input,ion-textarea{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:100%}.item-input ion-input,.item-input ion-textarea{position:static}.item.item-textarea{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.text-input{-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;border-radius:0;display:inline-block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:92%;width:calc(100% - 10px);border:0;background:0 0}.text-input::-moz-placeholder{color:#999}.text-input:-ms-input-placeholder{color:#999}.text-input::-webkit-input-placeholder{text-indent:0;color:#999}textarea.text-input{display:block}.text-input[disabled]{opacity:.4}input.text-input:-webkit-autofill{background-color:transparent}.platform-mobile textarea.text-input{resize:none}.input-cover{left:0;top:0;position:absolute;width:100%;height:100%;-ms-touch-action:manipulation;touch-action:manipulation}.input[disabled] .input-cover{pointer-events:none}.input-has-focus .input-cover,.item-input-has-focus .input-cover{display:none}.input-has-focus,.item-input-has-focus{pointer-events:none}.input-has-focus a,.input-has-focus button,.input-has-focus input,.input-has-focus textarea,.item-input-has-focus a,.item-input-has-focus button,.item-input-has-focus input,.item-input-has-focus textarea{pointer-events:auto}.text-input-clear-icon{margin:0;padding:0;background-position:center;position:absolute;top:0;display:none;height:100%;background-repeat:no-repeat}.input-has-focus.input-has-value .text-input-clear-icon,.item-input-has-focus.item-input-has-value .text-input-clear-icon{display:block}.text-input-ios{margin:11px 8px 11px 0;padding:0;width:calc(100% - 8px)}.input-ios .inset-input{padding:5.5px 8px;margin:5.5px 16px 5.5px 0}.item-ios.item-label-floating .text-input,.item-ios.item-label-stacked .text-input{margin-left:0;margin-top:8px;margin-bottom:8px;width:calc(100% - 8px)}.item-ios.item-label-floating .label-ios+.input+.cloned-input,.item-ios.item-label-stacked .label-ios+.input+.cloned-input{margin-left:0}.item-label-floating .select-ios,.item-label-stacked .select-ios{padding-left:0;padding-top:8px;padding-bottom:8px}.input-ios[clearInput]{position:relative}.input-ios[clearInput] .text-input{padding-right:30px}.input-ios .text-input-clear-icon{right:8px;background-image:url("data:image/svg+xml;charset=utf-8,");width:30px;background-size:18px}.text-input-md{margin:13px 8px;padding:0;width:calc(100% - 8px - 8px)}.input-md .inset-input{padding:6.5px 8px;margin:6.5px 16px}.item-md.item-input.input-has-focus .item-inner,.item-md.item-input.item-input-has-focus .item-inner{border-bottom-color:#673ab7;-webkit-box-shadow:inset 0 -1px 0 0 #673ab7;box-shadow:inset 0 -1px 0 0 #673ab7}.list-md .item-input.input-has-focus:last-child,.list-md .item-input.item-input-has-focus:last-child{border-bottom-color:#673ab7;-webkit-box-shadow:inset 0 -1px 0 0 #673ab7;box-shadow:inset 0 -1px 0 0 #673ab7}.list-md .item-input.input-has-focus:last-child .item-inner,.list-md .item-input.item-input-has-focus:last-child .item-inner{-webkit-box-shadow:none;box-shadow:none}.item-md.item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus) .item-inner,.item-md.item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus) .item-inner{border-bottom-color:#32db64;-webkit-box-shadow:inset 0 -1px 0 0 #32db64;box-shadow:inset 0 -1px 0 0 #32db64}.list-md .item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child,.list-md .item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child{border-bottom-color:#32db64;-webkit-box-shadow:inset 0 -1px 0 0 #32db64;box-shadow:inset 0 -1px 0 0 #32db64}.list-md .item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner,.list-md .item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner{-webkit-box-shadow:none;box-shadow:none}.item-md.item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus) .item-inner{border-bottom-color:#f53d3d;-webkit-box-shadow:inset 0 -1px 0 0 #f53d3d;box-shadow:inset 0 -1px 0 0 #f53d3d}.list-md .item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus):last-child{border-bottom-color:#f53d3d;-webkit-box-shadow:inset 0 -1px 0 0 #f53d3d;box-shadow:inset 0 -1px 0 0 #f53d3d}.list-md .item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus):last-child .item-inner{-webkit-box-shadow:none;box-shadow:none}.item-label-floating .text-input-md,.item-label-stacked .text-input-md{margin-left:0;margin-top:8px;margin-bottom:8px;width:calc(100% - 8px)}.item-label-floating .select-md,.item-label-stacked .select-md{padding-left:0;padding-top:8px;padding-bottom:8px}.input-md[clearInput]{position:relative}.input-md[clearInput] .text-input{padding-right:30px}.input-md .text-input-clear-icon{right:8px;background-image:url("data:image/svg+xml;charset=utf-8,");width:30px;background-size:22px}.text-input-wp{margin:13px 8px;padding:0 8px;width:calc(100% - 8px - 8px);border:2px solid rgba(0,0,0,.5);line-height:3rem}.item-wp .inset-input{padding:6.5px 8px;margin:6.5px 16px}.item-wp.item-input.input-has-focus .text-input,.item-wp.item-input.item-input-has-focus .text-input{border-color:#673ab7}.item-wp.item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus) .text-input,.item-wp.item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus) .text-input{border-color:#32db64}.item-wp.item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus) .text-input{border-color:#f53d3d}.item-label-floating .select-wp,.item-label-floating .text-input-wp,.item-label-stacked .select-wp,.item-label-stacked .text-input-wp{margin-left:0;margin-top:8px;margin-bottom:8px;width:calc(100% - 8px)}.item-wp.item-label-floating [item-end],.item-wp.item-label-floating [item-right],.item-wp.item-label-stacked [item-end],.item-wp.item-label-stacked [item-right]{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.input-wp[clearInput]{position:relative}.input-wp[clearInput] .text-input{padding-right:30px}.input-wp .text-input-clear-icon{right:8px;background-image:url("data:image/svg+xml;charset=utf-8,");width:30px;background-size:22px}.item{contain:content}.item-block{margin:0;padding:0;text-align:initial;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:4.4rem;border:0;font-weight:400;line-height:normal;text-decoration:none;color:inherit}.item-inner{margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:inherit;-webkit-box-direction:inherit;-webkit-flex-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit;-webkit-box-align:inherit;-webkit-align-items:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0}.input-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:inherit;-webkit-box-direction:inherit;-webkit-flex-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit;-webkit-box-align:inherit;-webkit-align-items:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis}.item.item[no-lines] .item-inner,.item[no-lines]{border:0}ion-item-group{display:block}ion-item-divider{margin:0;padding:0;z-index:100;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:30px}ion-item-divider[sticky]{position:-webkit-sticky;position:sticky;top:0}[vertical-align-top],ion-input.item{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.item-inner>ion-icon[small]:first-child,.item>ion-icon[small]:first-child{min-width:18px}.item-inner>ion-icon:first-child,.item>ion-icon:first-child{text-align:center;min-width:24px}.item-inner>ion-icon,.item>ion-icon{min-height:2.8rem;font-size:2.8rem;line-height:1}.item-inner>ion-icon[large],.item>ion-icon[large]{min-height:3.2rem;font-size:3.2rem}.item-inner>ion-icon[small],.item>ion-icon[small]{min-height:1.8rem;font-size:1.8rem}ion-avatar,ion-thumbnail{display:block;line-height:1}ion-avatar img,ion-thumbnail img{display:block}.item-cover{left:0;top:0;position:absolute;width:100%;height:100%;background:0 0;cursor:pointer}ion-reorder{-webkit-transform:translate3d(300%,0,0);transform:translate3d(300%,0,0);display:none;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;max-width:40px;height:100%;font-size:1.7em;opacity:.25;-webkit-transition:-webkit-transform 140ms ease-in;transition:-webkit-transform 140ms ease-in;transition:transform 140ms ease-in;transition:transform 140ms ease-in,-webkit-transform 140ms ease-in;pointer-events:all;-ms-touch-action:manipulation;touch-action:manipulation}.reorder-side-start ion-reorder{-webkit-transform:translate3d(-300%,0,0);transform:translate3d(-300%,0,0);-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}ion-reorder ion-icon{pointer-events:none}.reorder-enabled ion-reorder{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.reorder-visible ion-reorder{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.reorder-list-active .item,.reorder-list-active .item-wrapper{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;will-change:transform}.reorder-list-active .item-inner{pointer-events:none}.item-wrapper.reorder-active,.item.reorder-active,.reorder-active{z-index:4;-webkit-box-shadow:0 0 10px rgba(0,0,0,.4);box-shadow:0 0 10px rgba(0,0,0,.4);opacity:.8;-webkit-transition:none;transition:none;pointer-events:none}ion-item-sliding{position:relative;display:block;overflow:hidden;width:100%}ion-item-sliding .item{position:static}ion-item-options{position:absolute;z-index:1;display:none;height:100%;font-size:14px;visibility:hidden;top:0;right:0;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}ion-item-options[side=left]{right:auto;left:0;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}ion-item-options .button{margin:0;padding:0 .7em;border-radius:0;height:100%;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box}ion-item-options .button:last-child{padding-right:.7em}@media screen and (orientation:landscape){ion-item-options .button:last-child{padding-right:calc(constant(safe-area-inset-right) + .7em);padding-right:calc(env(safe-area-inset-right) + .7em)}}ion-item-options:not([icon-left]) .button:not([icon-only]) .button-inner,ion-item-options:not([icon-start]) .button:not([icon-only]) .button-inner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}ion-item-options:not([icon-left]) .button:not([icon-only]) ion-icon,ion-item-options:not([icon-start]) .button:not([icon-only]) ion-icon{padding-left:0;padding-right:0;padding-bottom:.3em}ion-item-sliding.active-slide .item,ion-item-sliding.active-slide .item.activated{position:relative;z-index:2;opacity:1;-webkit-transition:-webkit-transform .5s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .5s cubic-bezier(.36,.66,.04,1);transition:transform .5s cubic-bezier(.36,.66,.04,1);transition:transform .5s cubic-bezier(.36,.66,.04,1),-webkit-transform .5s cubic-bezier(.36,.66,.04,1);pointer-events:none;will-change:transform}ion-item-sliding.active-slide ion-item-options{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}ion-item-sliding.active-slide.active-options-left ion-item-options[side=left],ion-item-sliding.active-slide.active-options-right ion-item-options:not([side=left]){width:100%;visibility:visible}button[expandable]{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(.65,.05,.36,1);transition-timing-function:cubic-bezier(.65,.05,.36,1)}ion-item-sliding.active-swipe-right button[expandable]{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:padding-left;transition-property:padding-left;padding-left:90%;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}ion-item-sliding.active-swipe-left button[expandable]{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:padding-right;transition-property:padding-right;padding-right:90%;-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.item-ios{padding-left:16px;padding-left:16px;border-radius:0;position:relative;font-size:1.7rem;color:#000;background-color:#fff;-webkit-transition:background-color .2s linear;transition:background-color .2s linear}@media screen and (orientation:landscape){.item-ios{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}.item-ios.activated{background-color:#d9d9d9;-webkit-transition-duration:0s;transition-duration:0s}.item-ios h1{margin:0 0 2px;font-size:2.4rem;font-weight:400}.item-ios h2{margin:0 0 2px;font-size:1.7rem;font-weight:400}.item-ios h3,.item-ios h4,.item-ios h5,.item-ios h6{margin:0 0 3px;font-size:1.4rem;font-weight:400;line-height:normal}.item-ios p{overflow:inherit;font-size:1.4rem;line-height:normal;text-overflow:inherit;color:#8e9093;margin:0 0 2px}.item-ios h2:last-child,.item-ios h3:last-child,.item-ios h4:last-child,.item-ios h5:last-child,.item-ios h6:last-child,.item-ios p:last-child{margin-bottom:0}.item-ios.item-block .item-inner{padding-right:8px;padding-right:8px;border-bottom:.55px solid #c8c7cc}@media screen and (orientation:landscape){.item-ios.item-block .item-inner{padding-right:calc(constant(safe-area-inset-right) + 8px);padding-right:calc(env(safe-area-inset-right) + 8px)}}.item-ios [item-left],.item-ios [item-start]{margin:8px 16px 8px 0}.item-ios [item-end],.item-ios [item-right]{margin:8px}.item-ios ion-icon[item-end],.item-ios ion-icon[item-left],.item-ios ion-icon[item-right],.item-ios ion-icon[item-start]{margin-left:0;margin-top:9px;margin-bottom:8px}.item-ios .item-button{padding:0 .5em;height:24px;font-size:1.3rem}.item-ios .item-button[icon-only],.item-ios .item-button[icon-only] ion-icon{padding:0 1px}.item-ios ion-avatar[item-left],.item-ios ion-avatar[item-start],.item-ios ion-thumbnail[item-left],.item-ios ion-thumbnail[item-start]{margin:8px 16px 8px 0}.item-ios ion-avatar[item-end],.item-ios ion-avatar[item-right],.item-ios ion-thumbnail[item-end],.item-ios ion-thumbnail[item-right]{margin:8px}.item-ios ion-avatar{min-width:36px;min-height:36px}.item-ios ion-avatar img,.item-ios ion-avatar ion-img{border-radius:50%;overflow:hidden;width:36px;height:36px}.item-ios ion-thumbnail{min-width:56px;min-height:56px}.item-ios ion-thumbnail img,.item-ios ion-thumbnail ion-img{width:56px;height:56px}.item-ios[detail-push] .item-inner,a.item-ios:not([detail-none]) .item-inner,button.item-ios:not([detail-none]) .item-inner{background-image:url("data:image/svg+xml;charset=utf-8,");padding-right:32px;background-position:right 14px center;background-position:right calc(14px + constant(safe-area-inset-right)) center;background-position:right calc(14px + env(safe-area-inset-right)) center;background-repeat:no-repeat;background-size:14px 14px}ion-item-group .item-ios:first-child .item-inner{border-top-width:0}ion-item-group .item-ios:last-child .item-inner,ion-item-group .item-wrapper:last-child .item-ios .item-inner{border:0}.item-divider-ios{padding-left:16px;padding-left:16px;color:#222;background-color:#f7f7f7}@media screen and (orientation:landscape){.item-divider-ios{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}.item-ios .text-ios-primary{color:#673ab7}.item-divider-ios-primary,.item-ios-primary{color:#fff;background-color:#673ab7}.item-divider-ios-primary p,.item-ios-primary p{color:#fff}.item-divider-ios-primary.activated,.item-ios-primary.activated{background-color:#734abd}.item-ios .text-ios-secondary{color:#32db64}.item-divider-ios-secondary,.item-ios-secondary{color:#fff;background-color:#32db64}.item-divider-ios-secondary p,.item-ios-secondary p{color:#fff}.item-divider-ios-secondary.activated,.item-ios-secondary.activated{background-color:#2ec95c}.item-ios .text-ios-danger{color:#f53d3d}.item-divider-ios-danger,.item-ios-danger{color:#fff;background-color:#f53d3d}.item-divider-ios-danger p,.item-ios-danger p{color:#fff}.item-divider-ios-danger.activated,.item-ios-danger.activated{background-color:#e13838}.item-ios .text-ios-light{color:#f4f4f4}.item-divider-ios-light,.item-ios-light{color:#000;background-color:#f4f4f4}.item-divider-ios-light p,.item-ios-light p{color:#000}.item-divider-ios-light.activated,.item-ios-light.activated{background-color:#e0e0e0}.item-ios .text-ios-dark{color:#222}.item-divider-ios-dark,.item-ios-dark{color:#fff;background-color:#222}.item-divider-ios-dark p,.item-ios-dark p{color:#fff}.item-divider-ios-dark.activated,.item-ios-dark.activated{background-color:#343434}.item-ios .text-ios-optblue{color:#e00201}.item-divider-ios-optblue,.item-ios-optblue{color:#fff;background-color:#e00201}.item-divider-ios-optblue p,.item-ios-optblue p{color:#fff}.item-divider-ios-optblue.activated,.item-ios-optblue.activated{background-color:#e21615}.list-ios ion-item-sliding{background-color:#fff}.item-md{padding-left:16px;padding-right:0;position:relative;font-size:1.6rem;font-weight:400;text-transform:none;color:#000;background-color:#fff;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.item-md.activated{background-color:#f1f1f1}.item-md[no-lines]{border-width:0}.item-md h1{margin:0 0 2px;font-size:2.4rem;font-weight:400}.item-md h2{margin:2px 0;font-size:1.6rem;font-weight:400}.item-md h3,.item-md h4,.item-md h5,.item-md h6{margin:2px 0;font-size:1.4rem;font-weight:400;line-height:normal}.item-md p{margin:0 0 2px;overflow:inherit;font-size:1.4rem;line-height:normal;text-overflow:inherit;color:#666}.item-md.item-block .item-inner{padding-right:8px;border-bottom:1px solid #dedede}.item-md [item-end],.item-md [item-left],.item-md [item-right],.item-md [item-start]{margin:9px 8px 9px 0}.item-md ion-icon[item-end],.item-md ion-icon[item-left],.item-md ion-icon[item-right],.item-md ion-icon[item-start]{margin-left:0;margin-top:11px;margin-bottom:10px}.item-md .item-button{padding:0 .6em;height:25px;font-size:1.2rem}.item-md .item-button[icon-only],.item-md .item-button[icon-only] ion-icon{padding:0 1px}.item-md ion-icon[item-left]+.item-inner,.item-md ion-icon[item-left]+.item-input,.item-md ion-icon[item-start]+.item-inner,.item-md ion-icon[item-start]+.item-input{margin-left:24px}.item-md ion-avatar[item-left],.item-md ion-avatar[item-start],.item-md ion-thumbnail[item-left],.item-md ion-thumbnail[item-start]{margin:8px 16px 8px 0}.item-md ion-avatar[item-end],.item-md ion-avatar[item-right],.item-md ion-thumbnail[item-end],.item-md ion-thumbnail[item-right]{margin:8px}.item-md ion-avatar{min-width:40px;min-height:40px}.item-md ion-avatar img,.item-md ion-avatar ion-img{border-radius:50%;overflow:hidden;width:40px;height:40px}.item-md ion-thumbnail{min-width:80px;min-height:80px}.item-md ion-thumbnail img,.item-md ion-thumbnail ion-img{width:80px;height:80px}ion-item-group .item-md:first-child .item-inner{border-top-width:0}ion-item-group .item-md .item-wrapper:last-child .item-inner,ion-item-group .item-md:last-child .item-inner{border:0}.item-divider-md{padding-left:16px;border-bottom:1px solid #dedede;font-size:1.4rem;color:#858585;background-color:#fff}.item-md .text-md-primary{color:#673ab7}.item-divider-md-primary,.item-md-primary{color:#fff;background-color:#673ab7}.item-divider-md-primary p,.item-md-primary p{color:#fff}.item-divider-md-primary.activated,.item-md-primary.activated{background-color:#734abd}.item-md .text-md-secondary{color:#32db64}.item-divider-md-secondary,.item-md-secondary{color:#fff;background-color:#32db64}.item-divider-md-secondary p,.item-md-secondary p{color:#fff}.item-divider-md-secondary.activated,.item-md-secondary.activated{background-color:#2ec95c}.item-md .text-md-danger{color:#f53d3d}.item-divider-md-danger,.item-md-danger{color:#fff;background-color:#f53d3d}.item-divider-md-danger p,.item-md-danger p{color:#fff}.item-divider-md-danger.activated,.item-md-danger.activated{background-color:#e13838}.item-md .text-md-light{color:#f4f4f4}.item-divider-md-light,.item-md-light{color:#000;background-color:#f4f4f4}.item-divider-md-light p,.item-md-light p{color:#000}.item-divider-md-light.activated,.item-md-light.activated{background-color:#e0e0e0}.item-md .text-md-dark{color:#222}.item-divider-md-dark,.item-md-dark{color:#fff;background-color:#222}.item-divider-md-dark p,.item-md-dark p{color:#fff}.item-divider-md-dark.activated,.item-md-dark.activated{background-color:#343434}.item-md .text-md-optblue{color:#e00201}.item-divider-md-optblue,.item-md-optblue{color:#fff;background-color:#e00201}.item-divider-md-optblue p,.item-md-optblue p{color:#fff}.item-divider-md-optblue.activated,.item-md-optblue.activated{background-color:#e21615}.list-md ion-item-sliding{background-color:#fff}.item-md ion-reorder{font-size:1.5em;opacity:.3}.item-wp{padding-left:16px;padding-right:0;position:relative;font-size:1.6rem;font-weight:400;text-transform:none;color:#000;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.item-wp.activated{background-color:#aaa}.item-wp[no-lines]{border-width:0}.item-wp h1{margin:0 0 2px;font-size:2.4rem;font-weight:400}.item-wp h2{margin:2px 0;font-size:1.6rem;font-weight:400}.item-wp h3,.item-wp h4,.item-wp h5,.item-wp h6{margin:2px 0;font-size:1.4rem;font-weight:400;line-height:normal}.item-wp p{margin:0 0 2px;overflow:inherit;font-size:1.4rem;line-height:normal;text-overflow:inherit;color:#666}.item-wp.item-block .item-inner{padding-right:8px;border-bottom:1px solid transparent}.item-wp [item-end],.item-wp [item-left],.item-wp [item-right],.item-wp [item-start]{margin:9px 8px 9px 0}.item-wp ion-icon[item-end],.item-wp ion-icon[item-left],.item-wp ion-icon[item-right],.item-wp ion-icon[item-start]{margin-left:0;margin-top:11px;margin-bottom:10px}.item-wp .item-button{padding:0 .6em;height:25px;font-size:1.2rem}.item-wp .item-button[icon-only],.item-wp .item-button[icon-only] ion-icon{padding:0 1px}.item-wp[text-wrap] ion-label{font-size:1.4rem;line-height:1.5}.item-wp ion-icon[item-left]+.item-inner,.item-wp ion-icon[item-left]+.item-input,.item-wp ion-icon[item-start]+.item-inner,.item-wp ion-icon[item-start]+.item-input{margin-left:8px}.item-wp ion-avatar[item-left],.item-wp ion-avatar[item-start],.item-wp ion-thumbnail[item-left],.item-wp ion-thumbnail[item-start]{margin:8px 16px 8px 0}.item-wp ion-avatar[item-end],.item-wp ion-avatar[item-right],.item-wp ion-thumbnail[item-end],.item-wp ion-thumbnail[item-right]{margin:8px}.item-wp ion-avatar{min-width:40px;min-height:40px}.item-wp ion-avatar img,.item-wp ion-avatar ion-img{border-radius:50%;overflow:hidden;width:40px;height:40px}.item-wp ion-thumbnail{min-width:80px;min-height:80px}.item-wp ion-thumbnail img,.item-wp ion-thumbnail ion-img{width:80px;height:80px}.item-divider-wp{padding-left:16px;border-bottom:1px solid transparent;font-size:2rem;color:#000;background-color:#fff}.item-wp .text-wp-primary{color:#673ab7}.item-divider-wp-primary,.item-wp-primary{color:#fff;background-color:#673ab7}.item-divider-wp-primary p,.item-wp-primary p{color:#fff}.item-divider-wp-primary.activated,.item-wp-primary.activated{background-color:#734abd}.item-wp .text-wp-secondary{color:#32db64}.item-divider-wp-secondary,.item-wp-secondary{color:#fff;background-color:#32db64}.item-divider-wp-secondary p,.item-wp-secondary p{color:#fff}.item-divider-wp-secondary.activated,.item-wp-secondary.activated{background-color:#2ec95c}.item-wp .text-wp-danger{color:#f53d3d}.item-divider-wp-danger,.item-wp-danger{color:#fff;background-color:#f53d3d}.item-divider-wp-danger p,.item-wp-danger p{color:#fff}.item-divider-wp-danger.activated,.item-wp-danger.activated{background-color:#e13838}.item-wp .text-wp-light{color:#f4f4f4}.item-divider-wp-light,.item-wp-light{color:#000;background-color:#f4f4f4}.item-divider-wp-light p,.item-wp-light p{color:#000}.item-divider-wp-light.activated,.item-wp-light.activated{background-color:#e0e0e0}.item-wp .text-wp-dark{color:#222}.item-divider-wp-dark,.item-wp-dark{color:#fff;background-color:#222}.item-divider-wp-dark p,.item-wp-dark p{color:#fff}.item-divider-wp-dark.activated,.item-wp-dark.activated{background-color:#343434}.item-wp .text-wp-optblue{color:#e00201}.item-divider-wp-optblue,.item-wp-optblue{color:#fff;background-color:#e00201}.item-divider-wp-optblue p,.item-wp-optblue p{color:#fff}.item-divider-wp-optblue.activated,.item-wp-optblue.activated{background-color:#e21615}.list-wp ion-item-sliding{background-color:#fff}ion-label{margin:0;display:block;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-size:inherit;text-overflow:ellipsis;white-space:nowrap}.item-input ion-label{-webkit-box-flex:initial;-webkit-flex:initial;-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}[text-wrap] ion-label{white-space:normal}ion-label[fixed]{-webkit-box-flex:0;-webkit-flex:0 0 100px;-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.item-label-floating ion-label,.item-label-stacked ion-label{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}ion-label[floating],ion-label[stacked]{margin-bottom:0}.item-label-floating .input-wrapper,.item-label-stacked .input-wrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.item-label-floating ion-select,.item-label-stacked ion-select{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;max-width:100%}.label-ios{margin:11px 8px 11px 0}.label-ios+.input+.cloned-input,.label-ios+ion-input .text-input,.label-ios+ion-textarea .text-input{margin-left:16px;width:calc(100% - (16px / 2) - 16px)}.label-ios[stacked]{margin-bottom:4px;font-size:1.2rem}.label-ios[floating]{margin-bottom:0;-webkit-transform:translate3d(0,27px,0);transform:translate3d(0,27px,0);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out,-webkit-transform 150ms ease-in-out}.input-has-focus .label-ios[floating],.input-has-value .label-ios[floating],.item-input-has-focus .label-ios[floating],.item-input-has-value .label-ios[floating]{-webkit-transform:translate3d(0,0,0) scale(.8);transform:translate3d(0,0,0) scale(.8)}.item-ios.item-label-floating [item-end],.item-ios.item-label-floating [item-right],.item-ios.item-label-stacked [item-end],.item-ios.item-label-stacked [item-right]{margin-top:6px;margin-bottom:6px}.item-datetime .label-ios-primary,.item-input .label-ios-primary,.item-select .label-ios-primary,.label-ios-primary{color:#673ab7}.item-datetime .label-ios-secondary,.item-input .label-ios-secondary,.item-select .label-ios-secondary,.label-ios-secondary{color:#32db64}.item-datetime .label-ios-danger,.item-input .label-ios-danger,.item-select .label-ios-danger,.label-ios-danger{color:#f53d3d}.item-datetime .label-ios-light,.item-input .label-ios-light,.item-select .label-ios-light,.label-ios-light{color:#f4f4f4}.item-datetime .label-ios-dark,.item-input .label-ios-dark,.item-select .label-ios-dark,.label-ios-dark{color:#222}.item-datetime .label-ios-optblue,.item-input .label-ios-optblue,.item-select .label-ios-optblue,.label-ios-optblue{color:#e00201}.label-md{margin:13px 8px 13px 0}[text-wrap] .label-md{font-size:1.4rem;line-height:1.5}.item-datetime .label-md,.item-input .label-md,.item-select .label-md{color:#999}.label-md[stacked]{font-size:1.2rem}.label-md[floating]{-webkit-transform:translate3d(0,27px,0);transform:translate3d(0,27px,0);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out,-webkit-transform 150ms ease-in-out}.label-md[floating],.label-md[stacked]{margin-left:0;margin-bottom:0}.input-has-focus .label-md[floating],.input-has-focus .label-md[stacked],.item-input-has-focus .label-md[floating],.item-input-has-focus .label-md[stacked]{color:#673ab7}.input-has-focus .label-md[floating],.input-has-value .label-md[floating],.item-input-has-focus .label-md[floating],.item-input-has-value .label-md[floating]{-webkit-transform:translate3d(0,0,0) scale(.8);transform:translate3d(0,0,0) scale(.8)}.item-md.item-label-floating [item-end],.item-md.item-label-floating [item-right],.item-md.item-label-stacked [item-end],.item-md.item-label-stacked [item-right]{margin-top:7px;margin-bottom:7px}.item-datetime .label-md-primary,.item-input .label-md-primary,.item-select .label-md-primary,.label-md-primary{color:#673ab7}.item-datetime .label-md-secondary,.item-input .label-md-secondary,.item-select .label-md-secondary,.label-md-secondary{color:#32db64}.item-datetime .label-md-danger,.item-input .label-md-danger,.item-select .label-md-danger,.label-md-danger{color:#f53d3d}.item-datetime .label-md-light,.item-input .label-md-light,.item-select .label-md-light,.label-md-light{color:#f4f4f4}.item-datetime .label-md-dark,.item-input .label-md-dark,.item-select .label-md-dark,.label-md-dark{color:#222}.item-datetime .label-md-optblue,.item-input .label-md-optblue,.item-select .label-md-optblue,.label-md-optblue{color:#e00201}.label-wp{margin:13px 8px 13px 0}.item-datetime .label-wp,.item-input .label-wp,.item-select .label-wp{color:#999}.label-wp[stacked]{font-size:1.2rem}.label-wp[floating]{-webkit-transform:translate3d(8px,34px,0);transform:translate3d(8px,34px,0);-webkit-transform-origin:left top;transform-origin:left top}.label-wp[floating],.label-wp[stacked]{margin-left:0;margin-bottom:0}.input-has-focus .label-wp[floating],.input-has-focus .label-wp[stacked],.item-input-has-focus .label-wp[floating],.item-input-has-focus .label-wp[stacked]{color:#673ab7}.input-has-focus .label-wp[floating],.input-has-value .label-wp[floating],.item-input-has-focus .label-wp[floating],.item-input-has-value .label-wp[floating]{-webkit-transform:translate3d(0,0,0) scale(.8);transform:translate3d(0,0,0) scale(.8)}.item-wp.item-label-floating [item-end],.item-wp.item-label-floating [item-right],.item-wp.item-label-stacked [item-end],.item-wp.item-label-stacked [item-right]{margin-top:13px;margin-bottom:13px}.item-datetime .label-wp-primary,.item-input .label-wp-primary,.item-select .label-wp-primary,.label-wp-primary{color:#673ab7}.item-datetime .label-wp-secondary,.item-input .label-wp-secondary,.item-select .label-wp-secondary,.label-wp-secondary{color:#32db64}.item-datetime .label-wp-danger,.item-input .label-wp-danger,.item-select .label-wp-danger,.label-wp-danger{color:#f53d3d}.item-datetime .label-wp-light,.item-input .label-wp-light,.item-select .label-wp-light,.label-wp-light{color:#f4f4f4}.item-datetime .label-wp-dark,.item-input .label-wp-dark,.item-select .label-wp-dark,.label-wp-dark{color:#222}.item-datetime .label-wp-optblue,.item-input .label-wp-optblue,.item-select .label-wp-optblue,.label-wp-optblue{color:#e00201}ion-list-header{margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:4rem}ion-list{margin:0;padding:0;display:block;list-style-type:none}ion-list[inset]{overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.list-ios{margin:-1px 0 32px}.list-ios>.item-block:first-child{border-top:.55px solid #c8c7cc}.list-ios>.item-block:last-child,.list-ios>.item-wrapper:last-child .item-block{border-bottom:.55px solid #c8c7cc}.list-ios>.item-block:last-child .item-inner,.list-ios>.item-wrapper:last-child .item-block .item-inner{border-bottom:0}.list-ios .item-block .item-inner{border-bottom:.55px solid #c8c7cc}.list-ios .item[no-lines],.list-ios .item[no-lines] .item-inner{border-width:0}.list-ios ion-item-options{border-bottom:.55px solid #c8c7cc}.list-ios ion-item-options .button{margin:0;border-radius:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;min-height:100%;border:0;-webkit-box-sizing:border-box;box-sizing:border-box}.list-ios ion-item-options .button::before{margin:0 auto}.list-ios:not([inset])+.list-ios:not([inset]) ion-list-header{margin-top:-10px;padding-top:0}.list-ios[inset]{margin:16px;border-radius:4px}.list-ios[inset] ion-list-header{background-color:#fff}.list-ios[inset] .item{border-bottom:1px solid #c8c7cc}.list-ios[inset] .item-inner{border-bottom:0}.list-ios[inset]>.item-wrapper:first-child .item,.list-ios[inset]>.item:first-child{border-top:0}.list-ios[inset]>.item-wrapper:last-child .item,.list-ios[inset]>.item:last-child{border-bottom:0}.list-ios[inset]+ion-list[inset]{margin-top:0}.list-ios[no-lines] .item,.list-ios[no-lines] .item .item-inner,.list-ios[no-lines] ion-item-options,.list-ios[no-lines] ion-list-header{border-width:0}.list-header-ios{padding-left:16px;padding-left:16px;position:relative;border-bottom:.55px solid #c8c7cc;font-size:1.2rem;font-weight:500;letter-spacing:.1rem;text-transform:uppercase;color:#333;background:0 0}@media screen and (orientation:landscape){.list-header-ios{padding-left:calc(constant(safe-area-inset-left) + 16px);padding-left:calc(env(safe-area-inset-left) + 16px)}}.list-header-ios-primary{color:#fff;background-color:#673ab7}.list-header-ios-secondary{color:#fff;background-color:#32db64}.list-header-ios-danger{color:#fff;background-color:#f53d3d}.list-header-ios-light{color:#000;background-color:#f4f4f4}.list-header-ios-dark{color:#fff;background-color:#222}.list-header-ios-optblue{color:#fff;background-color:#e00201}.list-md{margin:-1px 0 16px}.list-md .item-block .item-inner{border-bottom:1px solid #dedede}.list-md>.item-block:last-child .item-inner,.list-md>.item-block:last-child ion-label,.list-md>.item-wrapper:last-child .item-inner,.list-md>.item-wrapper:last-child ion-label{border-bottom:0}.list-md>ion-input:last-child::after{left:0}.list-md ion-item-options{border-bottom:1px solid #dedede}.list-md ion-item-options .button{margin:0;border-radius:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;border:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box}.list-md ion-item-options .button::before{margin:0 auto}.list-md .item[no-lines],.list-md .item[no-lines] .item-inner{border-width:0}.list-md+ion-list ion-list-header{margin-top:-16px}.list-md[inset]{margin:16px;border-radius:2px}.list-md[inset] .item:first-child{border-top-left-radius:2px;border-top-right-radius:2px;border-top-width:0}.list-md[inset] .item:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px;border-bottom-width:0}.list-md[inset] .item-input{padding-left:0;padding-right:0}.list-md[inset]+ion-list[inset]{margin-top:0}.list-md[inset] ion-list-header{background-color:#fff}.list-md[no-lines] .item .item-inner,.list-md[no-lines] .item-block,.list-md[no-lines] ion-item-options{border-width:0}.list-header-md{padding-left:16px;margin-bottom:13px;min-height:4.5rem;border-top:1px solid #dedede;font-size:1.4rem;color:#757575}.list-header-md-primary{color:#fff;background-color:#673ab7}.list-header-md-secondary{color:#fff;background-color:#32db64}.list-header-md-danger{color:#fff;background-color:#f53d3d}.list-header-md-light{color:#000;background-color:#f4f4f4}.list-header-md-dark{color:#fff;background-color:#222}.list-header-md-optblue{color:#fff;background-color:#e00201}.list-md .item-input:last-child{border-bottom:1px solid #dedede}.list-wp{margin:0 0 16px}.list-wp .item-block .item-inner{border-bottom:1px solid transparent}.list-wp>.item-block:first-child,.list-wp>.item-wrapper:first-child .item-block{border-top:1px solid transparent}.list-wp>.item-block:last-child,.list-wp>.item-wrapper:last-child .item-block{border-bottom:1px solid transparent}.list-wp>.item-block:last-child .item-inner,.list-wp>.item-block:last-child ion-label,.list-wp>.item-wrapper:last-child .item-inner,.list-wp>.item-wrapper:last-child ion-label{border-bottom:0}.list-wp>ion-input:last-child::after{left:0}.list-wp ion-item-options .button{margin:1px 0;border-radius:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:calc(100% - 2px);border:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box}.list-wp ion-item-options .button::before{margin:0 auto}.list-wp .item[no-lines],.list-wp .item[no-lines] .item-inner{border-width:0}.list-wp+ion-list ion-list-header{margin-top:-16px;padding-top:0}.list-wp[inset]{margin:16px;border-radius:2px}.list-wp[inset] .item:first-child{border-top-left-radius:2px;border-top-right-radius:2px;border-top-width:0}.list-wp[inset] .item:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px;border-bottom-width:0}.list-wp[inset] .item-input{padding-left:0;padding-right:0}.list-wp[inset]+ion-list[inset]{margin-top:0}.list-wp[inset] ion-list-header{background-color:#fff}.list-wp[no-lines] .item,.list-wp[no-lines] .item .item-inner{border-width:0}.list-header-wp{padding-left:16px;border-bottom:1px solid transparent;font-size:2rem;color:#000}.list-header-wp-primary{color:#fff;background-color:#673ab7}.list-header-wp-secondary{color:#fff;background-color:#32db64}.list-header-wp-danger{color:#fff;background-color:#f53d3d}.list-header-wp-light{color:#000;background-color:#f4f4f4}.list-header-wp-dark{color:#fff;background-color:#222}.list-header-wp-optblue{color:#fff;background-color:#e00201}ion-loading{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;contain:strict}.loading-wrapper{z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;opacity:0}.loading-ios .loading-wrapper{border-radius:8px;max-width:270px;max-height:90%;color:#000;background:#f8f8f8;padding:24px 34px}.loading-ios .loading-content{font-weight:700}.loading-ios .loading-spinner+.loading-content{margin-left:16px}.loading-ios .spinner-ios line,.loading-ios .spinner-ios-small line{stroke:#69717d}.loading-ios .spinner-bubbles circle{fill:#69717d}.loading-ios .spinner-circles circle{fill:#69717d}.loading-ios .spinner-crescent circle{stroke:#69717d}.loading-ios .spinner-dots circle{fill:#69717d}.loading-md .loading-wrapper{border-radius:2px;max-width:280px;max-height:90%;color:rgba(0,0,0,.5);background:#fafafa;-webkit-box-shadow:0 16px 20px rgba(0,0,0,.4);box-shadow:0 16px 20px rgba(0,0,0,.4);padding:24px}.loading-md .loading-spinner+.loading-content{margin-left:16px}.loading-md .spinner-ios line,.loading-md .spinner-ios-small line{stroke:#673ab7}.loading-md .spinner-bubbles circle{fill:#673ab7}.loading-md .spinner-circles circle{fill:#673ab7}.loading-md .spinner-crescent circle{stroke:#673ab7}.loading-md .spinner-dots circle{fill:#673ab7}.loading-wp .loading-wrapper{border-radius:2px;max-width:280px;max-height:90%;color:#fff;background:#000;padding:20px}.loading-wp .loading-spinner+.loading-content{margin-left:16px}.loading-wp .spinner-ios line,.loading-wp .spinner-ios-small line{stroke:#fff}.loading-wp .spinner-bubbles circle{fill:#fff}.loading-wp .spinner-circles circle{fill:#fff}.loading-wp .spinner-crescent circle{stroke:#fff}.loading-wp .spinner-dots circle{fill:#fff}ion-menu{left:0;right:0;top:0;bottom:0;position:absolute;display:none;contain:strict}ion-menu.show-menu{display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px,0,0);transform:translate3d(-9999px,0,0);position:absolute;display:block;width:304px;height:100%;contain:strict}.menu-inner>ion-content,.menu-inner>ion-footer,.menu-inner>ion-header{position:absolute}ion-menu[side=left]>.menu-inner{right:auto;left:0}ion-menu[side=right]>.menu-inner{right:0;left:auto}ion-menu[side=end]>.menu-inner{left:auto;right:0}ion-menu ion-backdrop{z-index:-1;display:none;opacity:.01}.menu-content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.menu-content-open{cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation}.menu-content-open .toolbar,.menu-content-open ion-content,.menu-content-open ion-pane{pointer-events:none}@media (max-width:340px){.menu-inner{width:264px}}ion-menu[type=reveal]{z-index:0}ion-menu[type=reveal].show-menu .menu-inner{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}ion-menu[type=overlay]{z-index:80}ion-menu[type=overlay] .show-backdrop{display:block}.ios .menu-inner{background:#fff}.ios .menu-content-reveal{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.ios .menu-content-push{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.ios ion-menu[type=overlay] .menu-inner{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.md .menu-inner{background:#fff}.md .menu-content-reveal{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.md .menu-content-push{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.md ion-menu[type=overlay] .menu-inner{-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.wp .menu-inner{background:#f2f2f2}ion-modal{left:0;top:0;position:absolute;display:block;width:100%;height:100%;contain:strict}@media not all and (min-width:768px) and (min-height:600px){ion-modal ion-backdrop{visibility:hidden}}.modal-wrapper{z-index:10;height:100%;contain:strict}@media only screen and (min-width:768px) and (min-height:600px){.modal-wrapper{left:calc(50% - (600px/2));top:calc(50% - (500px/2));position:absolute;width:600px;height:500px}}@media only screen and (min-width:768px) and (min-height:768px){.modal-wrapper{left:calc(50% - (600px/2));top:calc(50% - (600px/2));position:absolute;width:600px;height:600px}}.ios .modal-wrapper{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}@media only screen and (min-width:768px) and (min-height:600px){.ios .modal-wrapper{border-radius:10px;overflow:hidden}}.md .modal-wrapper{-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0);opacity:.01}@media only screen and (min-width:768px) and (min-height:600px){.md .modal-wrapper{border-radius:2px;overflow:hidden;-webkit-box-shadow:0 28px 48px rgba(0,0,0,.4);box-shadow:0 28px 48px rgba(0,0,0,.4)}}.wp .modal-wrapper{-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0);opacity:.01}.note-ios{color:#aeacb4}.note-ios-primary{color:#673ab7}.note-ios-secondary{color:#32db64}.note-ios-danger{color:#f53d3d}.note-ios-light{color:#f4f4f4}.note-ios-dark{color:#222}.note-ios-optblue{color:#e00201}.note-md{color:#c5c5c5}.note-md-primary{color:#673ab7}.note-md-secondary{color:#32db64}.note-md-danger{color:#f53d3d}.note-md-light{color:#f4f4f4}.note-md-dark{color:#222}.note-md-optblue{color:#e00201}.note-wp{color:rgba(0,0,0,.5)}.note-wp-primary{color:#673ab7}.note-wp-secondary{color:#32db64}.note-wp-danger{color:#f53d3d}.note-wp-light{color:#f4f4f4}.note-wp-dark{color:#222}.note-wp-optblue{color:#e00201}ion-picker-cmp{left:0;top:0;position:absolute;z-index:1000;display:block;width:100%;height:100%;contain:strict}.picker-toolbar{z-index:1;width:100%;contain:strict}.picker-wrapper{left:0;right:0;bottom:0;margin:auto;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);position:absolute;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;max-width:500px;contain:strict}.picker-columns{margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom);position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;contain:strict}.picker-col{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;max-width:100%}.picker-prefix{text-align:right;text-align:end;position:relative;-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2;min-width:45%;max-width:50%;white-space:nowrap}.picker-suffix{text-align:left;text-align:start;position:relative;-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2;min-width:45%;max-width:50%;white-space:nowrap}.picker-opt{left:0;top:0;text-align:center;position:absolute;display:block;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap;will-change:transform;contain:strict}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.picker-above-highlight,.picker-below-highlight{display:none;pointer-events:none}.picker-ios .picker-wrapper{height:260px;border-top:1px solid #c8c7cc;background:#fff}.picker-ios .picker-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:44px;border-bottom:.55px solid #c8c7cc;background:#fff}.picker-ios .picker-toolbar-button{text-align:right;text-align:end;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.picker-ios .picker-toolbar-button:last-child .picker-button{font-weight:600}.picker-ios .picker-toolbar-cancel{text-align:left;text-align:start;font-weight:400}.picker-ios .picker-button,.picker-ios .picker-button.activated{margin:0;height:44px;color:#673ab7;background:0 0}.picker-columns{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-ios .picker-col{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;padding:0 4px}.picker-ios .picker-opts,.picker-ios .picker-prefix,.picker-ios .picker-suffix{top:77px;font-size:20px;line-height:42px;color:#000;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;pointer-events:none}.picker-ios .picker-opt{margin:0;-webkit-transform-origin:center center;transform-origin:center center;height:4.6rem;font-size:20px;line-height:42px;color:#000;background:0 0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto;padding:0}.picker-ios .picker-above-highlight{left:0;top:0;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:10;display:block;width:100%;height:81px;border-bottom:1px solid #c8c7cc;background:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to bottom,#fff 20%,rgba(255,255,255,.7) 100%)}.picker-ios .picker-below-highlight{left:0;top:115px;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:11;display:block;width:100%;height:119px;border-top:1px solid #c8c7cc;background:-webkit-gradient(linear,left bottom,left top,color-stop(30%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to top,#fff 30%,rgba(255,255,255,.7) 100%)}.picker-md .picker-wrapper{height:260px;border-top:.55px solid #dedede;background:#fff}.picker-md .picker-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;height:44px;background:#fff}.picker-md .picker-button,.picker-md .picker-button.activated{margin:0;height:44px;color:#673ab7;background:0 0;-webkit-box-shadow:none;box-shadow:none}.picker-md .picker-columns{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-md .picker-col{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;padding:0 8px}.picker-md .picker-opts,.picker-md .picker-prefix,.picker-md .picker-suffix{top:77px;font-size:22px;line-height:42px;color:#000;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;pointer-events:none}.picker-md .picker-opt{margin:0;height:4.3rem;font-size:22px;line-height:42px;color:#000;background:0 0;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto;padding:0}.picker-md .picker-opt.picker-opt-selected,.picker-md .picker-prefix,.picker-md .picker-suffix{color:#673ab7}.picker-md .picker-above-highlight{left:0;top:0;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:10;width:100%;height:81px;border-bottom:1px solid #dedede;background:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to bottom,#fff 20%,rgba(255,255,255,.7) 100%)}.picker-md .picker-below-highlight{left:0;top:115px;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:11;width:100%;height:119px;border-top:1px solid #dedede;background:-webkit-gradient(linear,left bottom,left top,color-stop(30%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to top,#fff 30%,rgba(255,255,255,.7) 100%)}.picker-wp .picker-wrapper{height:260px;border-top:.55px solid transparent;background:#fff}.picker-wp .picker-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;height:44px;border-width:.55px;background:#fff}.picker-wp .picker-toolbar-button{text-align:right;text-align:end;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.picker-wp .picker-toolbar-cancel{text-align:left;text-align:start;font-weight:400}.picker-wp .picker-button,.picker-wp .picker-button.activated{margin:0;height:44px;color:#673ab7;background:0 0;-webkit-box-shadow:none;box-shadow:none}.picker-wp .picker-columns{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-wp .picker-col{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;padding:0 4px}.picker-wp .picker-opts,.picker-wp .picker-prefix,.picker-wp .picker-suffix{top:77px;font-size:22px;line-height:42px;color:#000;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;pointer-events:none}.picker-wp .picker-opt{margin:0;height:4.2rem;font-size:22px;line-height:42px;color:#000;background:0 0;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto;padding:0}.picker-wp .picker-opt-selected,.picker-wp .picker-prefix,.picker-wp .picker-suffix{color:#673ab7}.picker-wp .picker-above-highlight{left:0;top:0;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:10;width:100%;height:81px;border-bottom:1px solid transparent;background:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to bottom,#fff 20%,rgba(255,255,255,.7) 100%)}.picker-wp .picker-below-highlight{left:0;top:115px;-webkit-transform:translate3d(0,0,90px);transform:translate3d(0,0,90px);position:absolute;z-index:11;width:100%;height:119px;border-top:1px solid transparent;background:-webkit-gradient(linear,left bottom,left top,color-stop(30%,#fff),to(rgba(255,255,255,.7)));background:linear-gradient(to top,#fff 30%,rgba(255,255,255,.7) 100%)}ion-popover{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.popover-wrapper{z-index:10;opacity:0}.popover-content{position:absolute;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.popover-content .scroll-content,.popover-content ion-content{contain:none}.popover-content .scroll-content{position:relative}.popover-ios .popover-content{border-radius:10px;width:200px;min-width:0;min-height:0;max-height:90%;color:#000;background:#fff}.popover-ios .popover-arrow{position:absolute;display:block;overflow:hidden;width:20px;height:10px}.popover-ios .popover-arrow::after{left:3px;top:3px;border-radius:3px;position:absolute;z-index:10;width:14px;height:14px;background-color:#fff;content:"";-webkit-transform:rotate(45deg);transform:rotate(45deg)}.popover-ios.popover-bottom .popover-arrow{top:auto;bottom:-10px}.popover-ios.popover-bottom .popover-arrow::after{top:-6px}.popover-ios .item-ios{padding-left:16px}.popover-ios .item-ios[detail-push] .item-inner,.popover-ios a.item-ios:not([detail-none]) .item-inner,.popover-ios button.item-ios:not([detail-none]) .item-inner{background-position:right 14px center}.popover-md .popover-content{border-radius:2px;-webkit-transform-origin:left top;transform-origin:left top;width:250px;min-width:0;min-height:0;max-height:90%;color:#000;background:#fff;-webkit-box-shadow:0 3px 12px 2px rgba(0,0,0,.3);box-shadow:0 3px 12px 2px rgba(0,0,0,.3)}.popover-md .popover-viewport{opacity:0;-webkit-transition-delay:.1s;transition-delay:.1s}.popover-wp .popover-content{border-radius:0;-webkit-transform-origin:left top;transform-origin:left top;width:200px;min-width:0;min-height:0;max-height:90%;border:2px solid #ccc;color:#000;background:#fff}.popover-wp .popover-viewport{opacity:0;-webkit-transition-delay:.1s;transition-delay:.1s}.radio-ios{position:relative;display:inline-block}.radio-ios .radio-icon{position:relative;display:block;width:16px;height:21px}.radio-ios .radio-checked .radio-inner{left:7px;top:4px;position:absolute;width:5px;height:12px;border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:#673ab7;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.item-ios.item-radio-disabled ion-label,.radio-ios.radio-disabled{opacity:.3;pointer-events:none}.item-ios .radio-ios{position:static;display:block;margin:8px 11px 8px 8px}.item-ios .radio-ios[item-left],.item-ios .radio-ios[item-start]{margin:8px 21px 8px 3px}.item-radio.item-ios ion-label{margin-left:0}.item-radio-checked.item-ios ion-label{color:#673ab7}.item-radio-ios-primary.item-radio-checked ion-label{color:#673ab7}.radio-ios-primary .radio-checked{color:#673ab7}.radio-ios-primary .radio-checked .radio-inner{border-color:#673ab7}.item-radio-ios-secondary.item-radio-checked ion-label{color:#32db64}.radio-ios-secondary .radio-checked{color:#32db64}.radio-ios-secondary .radio-checked .radio-inner{border-color:#32db64}.item-radio-ios-danger.item-radio-checked ion-label{color:#f53d3d}.radio-ios-danger .radio-checked{color:#f53d3d}.radio-ios-danger .radio-checked .radio-inner{border-color:#f53d3d}.item-radio-ios-light.item-radio-checked ion-label{color:#f4f4f4}.radio-ios-light .radio-checked{color:#f4f4f4}.radio-ios-light .radio-checked .radio-inner{border-color:#f4f4f4}.item-radio-ios-dark.item-radio-checked ion-label{color:#222}.radio-ios-dark .radio-checked{color:#222}.radio-ios-dark .radio-checked .radio-inner{border-color:#222}.item-radio-ios-optblue.item-radio-checked ion-label{color:#e00201}.radio-ios-optblue .radio-checked{color:#e00201}.radio-ios-optblue .radio-checked .radio-inner{border-color:#e00201}.radio-md{position:relative;display:inline-block}.radio-md .radio-icon{left:0;top:0;margin:0;border-radius:50%;position:relative;display:block;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#787878}.radio-md .radio-inner{left:2px;top:2px;border-radius:50%;position:absolute;width:8px;height:8px;background-color:#673ab7;-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0);-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1);transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1);transition:transform 280ms cubic-bezier(.4,0,.2,1);transition:transform 280ms cubic-bezier(.4,0,.2,1),-webkit-transform 280ms cubic-bezier(.4,0,.2,1)}.radio-md .radio-checked{border-color:#673ab7}.radio-md .radio-checked .radio-inner{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.item-md.item-radio-disabled ion-label,.radio-md.radio-disabled{opacity:.3;pointer-events:none}.item-md .radio-md{position:static;display:block;margin:9px 10px 9px 0}.item-md .radio-md[item-left],.item-md .radio-md[item-start]{margin:11px 36px 10px 4px}.item-radio.item-md ion-label{margin-left:0}.item-radio-checked.item-md ion-label{color:#673ab7}.item-radio-md-primary.item-radio-checked ion-label{color:#673ab7}.radio-md-primary .radio-checked{border-color:#673ab7}.radio-md-primary .radio-inner{background-color:#673ab7}.item-radio-md-secondary.item-radio-checked ion-label{color:#32db64}.radio-md-secondary .radio-checked{border-color:#32db64}.radio-md-secondary .radio-inner{background-color:#32db64}.item-radio-md-danger.item-radio-checked ion-label{color:#f53d3d}.radio-md-danger .radio-checked{border-color:#f53d3d}.radio-md-danger .radio-inner{background-color:#f53d3d}.item-radio-md-light.item-radio-checked ion-label{color:#f4f4f4}.radio-md-light .radio-checked{border-color:#f4f4f4}.radio-md-light .radio-inner{background-color:#f4f4f4}.item-radio-md-dark.item-radio-checked ion-label{color:#222}.radio-md-dark .radio-checked{border-color:#222}.radio-md-dark .radio-inner{background-color:#222}.item-radio-md-optblue.item-radio-checked ion-label{color:#e00201}.radio-md-optblue .radio-checked{border-color:#e00201}.radio-md-optblue .radio-inner{background-color:#e00201}.radio-wp{position:relative;display:inline-block}.radio-wp .radio-icon{left:0;top:0;margin:0;border-radius:50%;position:relative;display:block;width:16px;height:16px;border-width:2px;border-style:solid;border-color:#333}.radio-wp .radio-inner{left:2px;top:2px;border-radius:50%;position:absolute;display:none;width:8px;height:8px;background-color:#333}.radio-wp .radio-checked{border-color:#673ab7}.radio-wp .radio-checked .radio-inner{display:block}.item-wp.item-radio-disabled ion-label,.radio-wp.radio-disabled{opacity:.3;pointer-events:none}.item-wp .radio-wp{position:static;display:block;-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1;margin:9px 20px 9px 4px}.item-wp .radio-wp[item-end],.item-wp .radio-wp[item-right]{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;margin:11px 10px 10px 0}.item-radio.item-wp ion-label{margin-left:0}.radio-wp-primary .radio-checked{border-color:#673ab7}.radio-wp-secondary .radio-checked{border-color:#32db64}.radio-wp-danger .radio-checked{border-color:#f53d3d}.radio-wp-light .radio-checked{border-color:#f4f4f4}.radio-wp-dark .radio-checked{border-color:#222}.radio-wp-optblue .radio-checked{border-color:#e00201}.item-range .item-inner{overflow:visible;width:100%}.item-range .input-wrapper{overflow:visible;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.item-range ion-range{width:100%}.item-range ion-range ion-label{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}ion-range{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}ion-range ion-label{-webkit-box-flex:initial;-webkit-flex:initial;-ms-flex:initial;flex:initial}ion-range ion-icon{min-height:2.4rem;font-size:2.4rem;line-height:1}.range-slider{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;cursor:pointer}.range-ios{padding:8px 16px}.range-ios [range-left]{margin:0 20px 0 0}.range-ios [range-right]{margin:0 0 0 20px}.range-ios.range-has-pin{padding-top:20px}.range-ios .range-slider{height:42px}.range-ios .range-bar{left:0;top:21px;border-radius:1px;position:absolute;width:100%;height:1px;background:#bdbdbd;pointer-events:none}.range-ios.range-pressed .range-bar-active{will-change:left,right}.range-ios.range-pressed .range-knob-handle{will-change:left}.range-ios .range-bar-active{bottom:0;width:auto;background:#673ab7}.range-ios .range-knob-handle{left:0;top:21px;margin-left:-21px;margin-top:-21px;text-align:center;position:absolute;width:42px;height:42px}.range-ios .range-knob{left:7px;top:7px;border-radius:50%;position:absolute;width:28px;height:28px;background:#fff;-webkit-box-shadow:0 3px 1px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.13),0 0 0 1px rgba(0,0,0,.02);box-shadow:0 3px 1px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.13),0 0 0 1px rgba(0,0,0,.02);pointer-events:none}.range-ios .range-tick{margin-left:-.5px;border-radius:0;position:absolute;top:17.5px;width:1px;height:8px;background:#bdbdbd;pointer-events:none}.range-ios .range-tick-active{background:#673ab7}.range-ios .range-pin{text-align:center;border-radius:50px;-webkit-transform:translate3d(0,28px,0) scale(.01);transform:translate3d(0,28px,0) scale(.01);position:relative;top:-20px;display:inline-block;min-width:28px;font-size:12px;color:#000;background:0 0;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease,-webkit-transform 120ms ease;padding:8px}.range-ios .range-knob-pressed .range-pin{-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.range-ios.range-disabled{opacity:.5}.range-ios-primary .range-bar-active,.range-ios-primary .range-tick-active{background:#673ab7}.range-ios-secondary .range-bar-active,.range-ios-secondary .range-tick-active{background:#32db64}.range-ios-danger .range-bar-active,.range-ios-danger .range-tick-active{background:#f53d3d}.range-ios-light .range-bar-active,.range-ios-light .range-tick-active{background:#f4f4f4}.range-ios-dark .range-bar-active,.range-ios-dark .range-tick-active{background:#222}.range-ios-optblue .range-bar-active,.range-ios-optblue .range-tick-active{background:#e00201}.range-md{padding:8px}.range-md [range-left]{margin:0 12px 0 0}.range-md [range-right]{margin:0 0 0 12px}.range-md.range-has-pin{padding-top:28px}.range-md .range-slider{height:42px}.range-md .range-bar{left:0;top:21px;position:absolute;width:100%;height:2px;background:#bdbdbd;pointer-events:none}.range-md.range-pressed .range-bar-active{will-change:left,right}.range-md.range-pressed .range-knob-handle{will-change:left}.range-md .range-bar-active{bottom:0;width:auto;background:#673ab7}.range-md .range-knob-handle{left:0;top:21px;margin-left:-21px;margin-top:-21px;text-align:center;position:absolute;width:42px;height:42px}.range-md .range-knob{left:12px;top:13px;border-radius:50%;position:absolute;z-index:2;width:18px;height:18px;background:#673ab7;-webkit-transform:scale(.67);transform:scale(.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color,border,-webkit-transform;transition-property:background-color,border,-webkit-transform;transition-property:transform,background-color,border;transition-property:transform,background-color,border,-webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;pointer-events:none}.range-md .range-tick{margin-left:-1px;border-radius:50%;position:absolute;top:21px;z-index:1;width:2px;height:2px;background:#000;pointer-events:none}.range-md .range-tick-active{background:#000}.range-md .range-pin{padding:8px 0;text-align:center;border-radius:50%;-webkit-transform:translate3d(0,28px,0) scale(.01);transform:translate3d(0,28px,0) scale(.01);position:relative;top:-20px;display:inline-block;min-width:28px;height:28px;font-size:12px;color:#fff;background:#673ab7;-webkit-transition:background-color 120ms ease,-webkit-transform 120ms ease;transition:background-color 120ms ease,-webkit-transform 120ms ease;transition:transform 120ms ease,background-color 120ms ease;transition:transform 120ms ease,background-color 120ms ease,-webkit-transform 120ms ease}.range-md .range-pin::before{left:50%;top:3px;border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:0;margin-left:-13px;position:absolute;z-index:-1;width:26px;height:26px;background:#673ab7;content:"";-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background-color 120ms ease;transition:background-color 120ms ease}.range-md .range-knob-pressed .range-pin{-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.range-md:not(.range-has-pin) .range-knob-pressed .range-knob{-webkit-transform:scale(1);transform:scale(1)}.range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md .range-knob-min.range-knob-min .range-pin,.range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md.range-disabled .range-bar-active{background-color:#bdbdbd}.range-md.range-disabled .range-knob{outline:5px solid #fff;background-color:#bdbdbd;-webkit-transform:scale(.55);transform:scale(.55)}.range-md-primary .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-primary .range-md .range-knob-min.range-knob-min .range-pin,.range-md-primary .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-primary .range-bar-active,.range-md-primary .range-knob,.range-md-primary .range-pin,.range-md-primary .range-pin::before{background:#673ab7}.range-md-secondary .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-secondary .range-md .range-knob-min.range-knob-min .range-pin,.range-md-secondary .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-secondary .range-bar-active,.range-md-secondary .range-knob,.range-md-secondary .range-pin,.range-md-secondary .range-pin::before{background:#32db64}.range-md-danger .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-danger .range-md .range-knob-min.range-knob-min .range-pin,.range-md-danger .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-danger .range-bar-active,.range-md-danger .range-knob,.range-md-danger .range-pin,.range-md-danger .range-pin::before{background:#f53d3d}.range-md-light .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-light .range-md .range-knob-min.range-knob-min .range-pin,.range-md-light .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-light .range-bar-active,.range-md-light .range-knob,.range-md-light .range-pin,.range-md-light .range-pin::before{background:#f4f4f4}.range-md-dark .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-dark .range-md .range-knob-min.range-knob-min .range-pin,.range-md-dark .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-dark .range-bar-active,.range-md-dark .range-knob,.range-md-dark .range-pin,.range-md-dark .range-pin::before{background:#222}.range-md-optblue .range-md .range-knob-min.range-knob-min .range-knob{border:2px solid #bdbdbd;background:#fff}.range-md-optblue .range-md .range-knob-min.range-knob-min .range-pin,.range-md-optblue .range-md .range-knob-min.range-knob-min .range-pin::before{color:#fff;background:#bdbdbd}.range-md-optblue .range-bar-active,.range-md-optblue .range-knob,.range-md-optblue .range-pin,.range-md-optblue .range-pin::before{background:#e00201}.range-wp{padding:8px}.range-wp [range-left]{margin:0 12px 0 0}.range-wp [range-right]{margin:0 0 0 12px}.range-wp.range-has-pin{padding-top:28px}.range-wp .range-slider{height:42px}.range-wp .range-bar{left:0;top:21px;position:absolute;width:100%;height:2px;background:#bdbdbd;pointer-events:none}.range-wp.range-pressed .range-bar-active{will-change:left,right}.range-wp.range-pressed .range-knob-handle{will-change:left}.range-wp .range-bar-active{bottom:0;width:auto;background:#673ab7}.range-wp .range-knob-handle{left:0;top:21px;margin-left:-21px;margin-top:-21px;text-align:center;position:absolute;width:42px;height:42px}.range-wp .range-knob{left:17px;top:10px;border-radius:4px;position:absolute;width:8px;height:24px;background:#673ab7;pointer-events:none}.range-wp .range-tick{margin-left:-1px;border-radius:4px;position:absolute;top:19px;width:2px;height:6px;background:#bdbdbd;pointer-events:none}.range-wp .range-tick-active{background:#673ab7}.range-wp .range-pin{text-align:center;border-radius:50px;-webkit-transform:translate3d(0,28px,0) scale(.01);transform:translate3d(0,28px,0) scale(.01);position:relative;top:-24px;display:inline-block;min-width:28px;font-size:12px;color:#fff;background:#673ab7;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease,-webkit-transform 120ms ease;padding:8px}.range-wp .range-knob-pressed .range-pin{-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.range-wp.range-disabled{opacity:.5}.range-wp-primary .range-bar-active,.range-wp-primary .range-knob,.range-wp-primary .range-pin,.range-wp-primary .range-tick-active{background:#673ab7}.range-wp-secondary .range-bar-active,.range-wp-secondary .range-knob,.range-wp-secondary .range-pin,.range-wp-secondary .range-tick-active{background:#32db64}.range-wp-danger .range-bar-active,.range-wp-danger .range-knob,.range-wp-danger .range-pin,.range-wp-danger .range-tick-active{background:#f53d3d}.range-wp-light .range-bar-active,.range-wp-light .range-knob,.range-wp-light .range-pin,.range-wp-light .range-tick-active{background:#f4f4f4}.range-wp-dark .range-bar-active,.range-wp-dark .range-knob,.range-wp-dark .range-pin,.range-wp-dark .range-tick-active{background:#222}.range-wp-optblue .range-bar-active,.range-wp-optblue .range-knob,.range-wp-optblue .range-pin,.range-wp-optblue .range-tick-active{background:#e00201}ion-refresher{left:0;top:0;position:absolute;z-index:0;display:none;width:100%;height:60px}ion-refresher.refresher-active{display:block}.has-refresher>.scroll-content{margin-top:-1px;border-top:1px solid #ddd;-webkit-transition:-webkit-transform 320ms cubic-bezier(.36,.66,.04,1);transition:-webkit-transform 320ms cubic-bezier(.36,.66,.04,1);transition:transform 320ms cubic-bezier(.36,.66,.04,1);transition:transform 320ms cubic-bezier(.36,.66,.04,1),-webkit-transform 320ms cubic-bezier(.36,.66,.04,1)}ion-refresher-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{text-align:center;-webkit-transform-origin:center;transform-origin:center;font-size:30px;color:#000;-webkit-transition:.2s;transition:.2s}.refresher-pulling-text,.refresher-refreshing-text{text-align:center;font-size:16px;color:#000}.refresher-refreshing .spinner-crescent circle,.refresher-refreshing .spinner-ios line,.refresher-refreshing .spinner-ios-small line{stroke:#000}.refresher-refreshing .spinner-bubbles circle,.refresher-refreshing .spinner-circles circle,.refresher-refreshing .spinner-dots circle{fill:#000}ion-refresher-content[state=pulling] .refresher-pulling{display:block}ion-refresher-content[state=ready] .refresher-pulling{display:block}ion-refresher-content[state=ready] .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}ion-refresher-content[state=refreshing] .refresher-refreshing{display:block}ion-refresher-content[state=cancelling] .refresher-pulling{display:block}ion-refresher-content[state=cancelling] .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}ion-refresher-content[state=completing] .refresher-refreshing{display:block}ion-refresher-content[state=completing] .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}ion-scroll{position:relative;display:block}ion-scroll.scroll-x .scroll-content{overflow-x:auto}ion-scroll.scroll-y .scroll-content{overflow-y:auto}ion-scroll[center] .scroll-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}ion-scroll .scroll-content{left:0;right:0;top:0;bottom:0;position:absolute;overflow-y:hidden;overflow-x:hidden;-webkit-overflow-scrolling:touch;will-change:scroll-position}ion-searchbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%}.searchbar-icon{pointer-events:none}.searchbar-input-container{position:relative;display:block;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input{-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;border:0;font-family:inherit}.searchbar-clear-icon{margin:0;padding:0;display:none;min-height:0}.searchbar-has-value.searchbar-has-focus .searchbar-clear-icon{display:block}.searchbar-ios{padding:0 8px;min-height:44px;border-top:.55px solid transparent;border-bottom:.55px solid rgba(0,0,0,.05);background:rgba(0,0,0,.2)}.searchbar-ios .searchbar-search-icon{left:9px;top:9px;background-image:url("data:image/svg+xml;charset=utf-8,");margin-left:calc(50% - 60px);position:absolute;width:14px;height:14px;background-repeat:no-repeat;background-size:13px}.searchbar-ios .searchbar-input{padding:0 28px;border-radius:5px;height:3rem;font-size:1.4rem;font-weight:400;color:#000;background-color:#fff}.searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(0,0,0,.5)}.searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(0,0,0,.5)}.searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(0,0,0,.5)}.searchbar-ios .searchbar-clear-icon{right:0;top:0;background-image:url("data:image/svg+xml;charset=utf-8,");background-position:center;position:absolute;width:30px;height:100%;background-repeat:no-repeat;background-size:18px}.searchbar-ios .searchbar-ios-cancel{padding:0 0 0 8px;margin-left:0;display:none;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;height:30px;cursor:pointer}.searchbar-ios.searchbar-left-aligned .searchbar-search-icon{margin-left:0}.searchbar-ios.searchbar-left-aligned .searchbar-input{padding-left:30px}.searchbar-ios.searchbar-show-cancel.searchbar-has-focus .searchbar-ios-cancel{display:block}.toolbar .searchbar-ios{border-bottom-width:0;background:0 0}.toolbar .searchbar-ios .searchbar-input{background:rgba(0,0,0,.08)}.toolbar .searchbar-ios .searchbar-ios-cancel{padding:0}.toolbar .searchbar-ios.searchbar-has-focus .searchbar-ios-cancel{padding-left:8px}.searchbar-ios .searchbar-md-cancel{display:none}.searchbar-ios-primary .searchbar-ios-cancel{color:#673ab7}.searchbar-ios-primary .searchbar-ios-cancel:hover:not(.disable-hover){color:#734abd}.toolbar-ios-primary .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-primary .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-primary .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-primary .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-primary .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-primary .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-primary .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios-secondary .searchbar-ios-cancel{color:#32db64}.searchbar-ios-secondary .searchbar-ios-cancel:hover:not(.disable-hover){color:#2ec95c}.toolbar-ios-secondary .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-secondary .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-secondary .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-secondary .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-secondary .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-secondary .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-secondary .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios-danger .searchbar-ios-cancel{color:#f53d3d}.searchbar-ios-danger .searchbar-ios-cancel:hover:not(.disable-hover){color:#e13838}.toolbar-ios-danger .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-danger .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-danger .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-danger .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-danger .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-danger .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-danger .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios-light .searchbar-ios-cancel{color:#f4f4f4}.searchbar-ios-light .searchbar-ios-cancel:hover:not(.disable-hover){color:#e0e0e0}.toolbar-ios-light .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-light .searchbar-ios .searchbar-input{color:#000;background:rgba(0,0,0,.08)}.toolbar-ios-light .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(0,0,0,.5)}.toolbar-ios-light .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(0,0,0,.5)}.toolbar-ios-light .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(0,0,0,.5)}.toolbar-ios-light .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-light .searchbar-ios .searchbar-ios-cancel{color:#673ab7}.searchbar-ios-dark .searchbar-ios-cancel{color:#222}.searchbar-ios-dark .searchbar-ios-cancel:hover:not(.disable-hover){color:#343434}.toolbar-ios-dark .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-dark .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-dark .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-dark .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-dark .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-dark .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-dark .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios-optblue .searchbar-ios-cancel{color:#e00201}.searchbar-ios-optblue .searchbar-ios-cancel:hover:not(.disable-hover){color:#e21615}.toolbar-ios-optblue .searchbar-ios .searchbar-search-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-optblue .searchbar-ios .searchbar-input{color:#fff;background:rgba(255,255,255,.08)}.toolbar-ios-optblue .searchbar-ios .searchbar-input::-moz-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-optblue .searchbar-ios .searchbar-input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.toolbar-ios-optblue .searchbar-ios .searchbar-input::-webkit-input-placeholder{text-indent:0;color:rgba(255,255,255,.5)}.toolbar-ios-optblue .searchbar-ios .searchbar-clear-icon{background-image:url("data:image/svg+xml;charset=utf-8,")}.toolbar-ios-optblue .searchbar-ios .searchbar-ios-cancel{color:#fff}.searchbar-ios.searchbar-animated.searchbar-show-cancel .searchbar-ios-cancel{display:block}.searchbar-ios.searchbar-animated .searchbar-input,.searchbar-ios.searchbar-animated .searchbar-search-icon{-webkit-transition:all .3s ease;transition:all .3s ease}.searchbar-animated.searchbar-has-focus .searchbar-ios-cancel{opacity:1;pointer-events:auto}.searchbar-animated .searchbar-ios-cancel{margin-right:-100%;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:0;-webkit-transition:all .3s ease;transition:all .3s ease;pointer-events:none}.searchbar-md{background:inherit;padding:8px}.searchbar-md .searchbar-search-icon{left:16px;top:11px;background-image:url("data:image/svg+xml;charset=utf-8,");width:21px;height:21px}.searchbar-md .searchbar-md-cancel{left:10px;top:0;margin:0;display:none;width:21px;height:100%}.searchbar-md .searchbar-md-cancel,.searchbar-md .searchbar-search-icon{position:absolute;background-repeat:no-repeat;background-size:20px}.searchbar-md .searchbar-md-cancel.activated,.searchbar-md .searchbar-search-icon.activated{background-color:transparent}.searchbar-md .searchbar-input{padding:6px 55px;border-radius:2px;background-position:left 8px center;height:auto;font-size:1.6rem;font-weight:400;line-height:3rem;color:#141414;background-color:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.searchbar-md .searchbar-input::-moz-placeholder{color:#aeaeae}.searchbar-md .searchbar-input:-ms-input-placeholder{color:#aeaeae}.searchbar-md .searchbar-input::-webkit-input-placeholder{text-indent:0;color:#aeaeae}.searchbar-md .searchbar-clear-icon{right:13px;top:0;background-image:url("data:image/svg+xml;charset=utf-8,");padding:0;background-position:center;position:absolute;width:22px;height:100%;background-repeat:no-repeat;background-size:22px}.searchbar-md .searchbar-clear-icon.activated{background-color:transparent}.searchbar-md.searchbar-has-focus.searchbar-show-cancel .searchbar-search-icon{display:none}.searchbar-md.searchbar-has-focus.searchbar-show-cancel .searchbar-md-cancel{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.toolbar .searchbar-md{padding:3px}.toolbar .searchbar-md .searchbar-md-cancel{left:14px}.searchbar-md .searchbar-ios-cancel{display:none}.searchbar-wp{background:0 0;padding:8px}.searchbar-wp .searchbar-input-container{border:2px solid rgba(0,0,0,.5)}.searchbar-wp .searchbar-search-icon{right:8px;top:5px;background-image:url("data:image/svg+xml;charset=utf-8,");position:absolute;width:21px;height:21px;background-repeat:no-repeat;background-size:20px}.searchbar-wp .searchbar-search-icon.activated{background-color:transparent}.searchbar-wp .searchbar-input{padding:0 8px;border-radius:0;background-position:left 8px center;height:auto;font-size:1.4rem;font-weight:400;line-height:3rem;color:#141414;background-color:#fff}.searchbar-wp .searchbar-input::-moz-placeholder{color:#858585}.searchbar-wp .searchbar-input:-ms-input-placeholder{color:#858585}.searchbar-wp .searchbar-input::-webkit-input-placeholder{text-indent:0;color:#858585}.searchbar-wp .searchbar-clear-icon{right:8px;top:0;background-image:url("data:image/svg+xml;charset=utf-8,");padding:0;background-position:center;position:absolute;width:22px;height:100%;background-repeat:no-repeat;background-size:22px}.searchbar-wp .searchbar-clear-icon.activated{background-color:transparent}.searchbar-wp.searchbar-has-focus .searchbar-input-container{border-color:#673ab7}.searchbar-wp.searchbar-has-value .searchbar-search-icon{display:none}.searchbar-wp .searchbar-ios-cancel{display:none}.searchbar-wp .searchbar-md-cancel{display:none}.toolbar .searchbar-wp{padding:2px}.searchbar-wp-primary.searchbar-has-focus .searchbar-input-container{border-color:#673ab7}.searchbar-wp-secondary.searchbar-has-focus .searchbar-input-container{border-color:#32db64}.searchbar-wp-danger.searchbar-has-focus .searchbar-input-container{border-color:#f53d3d}.searchbar-wp-light.searchbar-has-focus .searchbar-input-container{border-color:#f4f4f4}.searchbar-wp-dark.searchbar-has-focus .searchbar-input-container{border-color:#222}.searchbar-wp-optblue.searchbar-has-focus .searchbar-input-container{border-color:#e00201}ion-segment{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%}.segment-button{margin-left:0;margin-right:0;text-align:center;position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.segment-ios .segment-button{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:0;height:3.2rem;border-width:1px;border-style:solid;border-color:#673ab7;font-size:1.3rem;line-height:3rem;color:#673ab7;background-color:transparent}.segment-ios .segment-button ion-icon{font-size:2.6rem;line-height:2.8rem}.segment-ios .segment-button.segment-activated{color:#fff;background-color:#673ab7;opacity:1;-webkit-transition:.1s all linear;transition:.1s all linear}.segment-ios .segment-button:hover:not(.segment-activated){background-color:rgba(103,58,183,.1);-webkit-transition:.1s all linear;transition:.1s all linear}.segment-ios .segment-button:active:not(.segment-activated){background-color:rgba(103,58,183,.16);-webkit-transition:.1s all linear;transition:.1s all linear}.segment-ios .segment-button:first-of-type{border-top-left-radius:4px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;margin-right:0}.segment-ios .segment-button:not(:first-of-type){border-left-width:0}.segment-ios .segment-button:last-of-type{border-top-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0;margin-left:0;border-left-width:0}[dir=rtl] .segment-ios .segment-button:first-of-type{border-left-width:0}[dir=rtl] .segment-ios .segment-button:last-of-type{border-left-width:1px}.segment-ios.segment-disabled{opacity:.4;pointer-events:none}.segment-ios .segment-button-disabled{color:rgba(103,58,183,.3);pointer-events:none}.toolbar-ios .segment-ios{left:0;right:0;top:0;bottom:0;position:absolute}.toolbar-ios .segment-button{max-width:100px;height:2.6rem;font-size:1.2rem;line-height:2.5rem}.toolbar-ios .segment-button ion-icon{font-size:2.2rem;line-height:2.4rem}.segment-ios-primary .segment-button{border-color:#673ab7;color:#673ab7}.segment-ios-primary .segment-button:hover:not(.segment-activated){background-color:rgba(103,58,183,.1)}.segment-ios-primary .segment-button:active:not(.segment-activated){background-color:rgba(103,58,183,.16)}.segment-ios-primary .segment-button.segment-activated{color:#fff;background-color:#673ab7}.segment-ios-primary .segment-button-disabled{color:rgba(103,58,183,.3)}.toolbar-ios-primary .segment-ios .segment-button.segment-activated{color:#673ab7}.segment-ios-secondary .segment-button{border-color:#32db64;color:#32db64}.segment-ios-secondary .segment-button:hover:not(.segment-activated){background-color:rgba(50,219,100,.1)}.segment-ios-secondary .segment-button:active:not(.segment-activated){background-color:rgba(50,219,100,.16)}.segment-ios-secondary .segment-button.segment-activated{color:#fff;background-color:#32db64}.segment-ios-secondary .segment-button-disabled{color:rgba(50,219,100,.3)}.toolbar-ios-secondary .segment-ios .segment-button.segment-activated{color:#32db64}.segment-ios-danger .segment-button{border-color:#f53d3d;color:#f53d3d}.segment-ios-danger .segment-button:hover:not(.segment-activated){background-color:rgba(245,61,61,.1)}.segment-ios-danger .segment-button:active:not(.segment-activated){background-color:rgba(245,61,61,.16)}.segment-ios-danger .segment-button.segment-activated{color:#fff;background-color:#f53d3d}.segment-ios-danger .segment-button-disabled{color:rgba(245,61,61,.3)}.toolbar-ios-danger .segment-ios .segment-button.segment-activated{color:#f53d3d}.segment-ios-light .segment-button{border-color:#f4f4f4;color:#f4f4f4}.segment-ios-light .segment-button:hover:not(.segment-activated){background-color:rgba(244,244,244,.1)}.segment-ios-light .segment-button:active:not(.segment-activated){background-color:rgba(244,244,244,.16)}.segment-ios-light .segment-button.segment-activated{color:#000;background-color:#f4f4f4}.segment-ios-light .segment-button-disabled{color:rgba(244,244,244,.3)}.toolbar-ios-light .segment-ios .segment-button.segment-activated{color:#f4f4f4}.segment-ios-dark .segment-button{border-color:#222;color:#222}.segment-ios-dark .segment-button:hover:not(.segment-activated){background-color:rgba(34,34,34,.1)}.segment-ios-dark .segment-button:active:not(.segment-activated){background-color:rgba(34,34,34,.16)}.segment-ios-dark .segment-button.segment-activated{color:#fff;background-color:#222}.segment-ios-dark .segment-button-disabled{color:rgba(34,34,34,.3)}.toolbar-ios-dark .segment-ios .segment-button.segment-activated{color:#222}.segment-ios-optblue .segment-button{border-color:#e00201;color:#e00201}.segment-ios-optblue .segment-button:hover:not(.segment-activated){background-color:rgba(224,2,1,.1)}.segment-ios-optblue .segment-button:active:not(.segment-activated){background-color:rgba(224,2,1,.16)}.segment-ios-optblue .segment-button.segment-activated{color:#fff;background-color:#e00201}.segment-ios-optblue .segment-button-disabled{color:rgba(224,2,1,.3)}.toolbar-ios-optblue .segment-ios .segment-button.segment-activated{color:#e00201}.segment-md .segment-button{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:0;height:4.2rem;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,.1);font-size:1.2rem;font-weight:500;line-height:4rem;text-transform:uppercase;color:#673ab7;background-color:transparent;opacity:.7;-webkit-transition:.1s all linear;transition:.1s all linear;padding:0 6px}.segment-md .segment-button ion-icon{font-size:2.6rem;line-height:4rem}.segment-md .segment-button.activated,.segment-md .segment-button.segment-activated{border-color:#673ab7;opacity:1}.segment-md .segment-button-disabled,.segment-md.segment-disabled{opacity:.3;pointer-events:none}.toolbar .segment-md{margin:0 auto}.toolbar .segment-md .segment-button.activated,.toolbar .segment-md .segment-button.segment-activated{opacity:1}.segment-md-primary .segment-button{color:#673ab7}.segment-md-primary .segment-button.activated,.segment-md-primary .segment-button.segment-activated{border-color:#673ab7;color:#673ab7;opacity:1}.segment-md-secondary .segment-button{color:#32db64}.segment-md-secondary .segment-button.activated,.segment-md-secondary .segment-button.segment-activated{border-color:#32db64;color:#32db64;opacity:1}.segment-md-danger .segment-button{color:#f53d3d}.segment-md-danger .segment-button.activated,.segment-md-danger .segment-button.segment-activated{border-color:#f53d3d;color:#f53d3d;opacity:1}.segment-md-light .segment-button{color:#f4f4f4}.segment-md-light .segment-button.activated,.segment-md-light .segment-button.segment-activated{border-color:#f4f4f4;color:#f4f4f4;opacity:1}.segment-md-dark .segment-button{color:#222}.segment-md-dark .segment-button.activated,.segment-md-dark .segment-button.segment-activated{border-color:#222;color:#222;opacity:1}.segment-md-optblue .segment-button{color:#e00201}.segment-md-optblue .segment-button.activated,.segment-md-optblue .segment-button.segment-activated{border-color:#e00201;color:#e00201;opacity:1}.segment-wp{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.segment-wp .segment-button{height:4rem;font-size:1.3rem;font-weight:700;line-height:4rem;text-transform:uppercase;color:#000;background-color:transparent;opacity:.5;padding:0 6px}.segment-wp .segment-button.segment-activated{opacity:1}.segment-wp .segment-button ion-icon{font-size:2.6rem;line-height:4rem}.segment-wp .segment-button-disabled,.segment-wp.segment-disabled{opacity:.3;pointer-events:none}.toolbar .segment-wp{margin:0 auto}.segment-wp-primary .segment-button{color:#673ab7}.segment-wp-primary .segment-button.activated,.segment-wp-primary .segment-button.segment-activated{border-color:#673ab7;color:#673ab7;opacity:1}.segment-wp-secondary .segment-button{color:#32db64}.segment-wp-secondary .segment-button.activated,.segment-wp-secondary .segment-button.segment-activated{border-color:#32db64;color:#32db64;opacity:1}.segment-wp-danger .segment-button{color:#f53d3d}.segment-wp-danger .segment-button.activated,.segment-wp-danger .segment-button.segment-activated{border-color:#f53d3d;color:#f53d3d;opacity:1}.segment-wp-light .segment-button{color:#f4f4f4}.segment-wp-light .segment-button.activated,.segment-wp-light .segment-button.segment-activated{border-color:#f4f4f4;color:#f4f4f4;opacity:1}.segment-wp-dark .segment-button{color:#222}.segment-wp-dark .segment-button.activated,.segment-wp-dark .segment-button.segment-activated{border-color:#222;color:#222;opacity:1}.segment-wp-optblue .segment-button{color:#e00201}.segment-wp-optblue .segment-button.activated,.segment-wp-optblue .segment-button.segment-activated{border-color:#e00201;color:#e00201;opacity:1}ion-select{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;max-width:45%}.select-text{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap}.item-multiple-inputs ion-select{position:relative}.item-select-disabled ion-label,.select-disabled{opacity:.4;pointer-events:none}.select-popover ion-list{margin:-1px 0}.select-ios{padding:11px 8px 11px 16px}.select-ios .select-placeholder{color:#999}.select-ios .select-icon{position:relative;width:12px;height:18px}.select-ios .select-icon .select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:#999;pointer-events:none}.select-md{padding:13px 8px 13px 16px}.select-md .select-placeholder{color:#999}.select-md .item-select ion-label{margin-left:0}.select-md .select-icon{position:relative;width:12px;height:19px}.select-md .select-icon .select-icon-inner{left:5px;top:50%;margin-top:-3px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:#999;pointer-events:none}.select-wp{margin:13px 8px;padding:0 8px;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;max-width:100%;border:2px solid rgba(0,0,0,.5);line-height:3rem}.select-wp .select-placeholder{color:rgba(0,0,0,.5)}.item-wp.item-select ion-label{margin-left:0}.select-wp .select-icon{position:relative;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;width:18px;height:18px}.select-wp .select-icon .select-icon-inner{left:5px;top:3px;position:absolute;display:block;width:9px;height:9px;border-top:2px solid rgba(0,0,0,.5);border-right:2px solid rgba(0,0,0,.5);-webkit-transform:rotate(135deg);transform:rotate(135deg);pointer-events:none}.select-wp .select-text{min-height:3rem}.hidden-show-when{display:none!important}.hidden-hide-when{display:none!important}.swiper-container{margin-left:auto;margin-right:auto;padding:0;position:relative;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;width:100%;height:100%}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{padding:0;position:relative;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{margin:0 auto;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-slide{text-align:center;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;font-size:18px;-webkit-box-sizing:border-box;box-sizing:border-box}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{left:0;top:0;position:absolute;z-index:-1000;opacity:0;pointer-events:none}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{top:50%;margin-top:-22px;background-position:center;position:absolute;z-index:10;width:27px;height:44px;background-repeat:no-repeat;background-size:27px 44px;cursor:pointer}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{left:auto;right:10px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);position:absolute;z-index:10;-webkit-transition:.3s;transition:.3s;pointer-events:none}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{left:0;bottom:10px;width:100%}.swiper-pagination-bullet{border-radius:100%;display:inline-block;width:8px;height:8px;background:#000;opacity:.2;pointer-events:auto}button.swiper-pagination-bullet{margin:0;padding:0;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;border:0;-webkit-box-shadow:none;box-shadow:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{background:#007aff;opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{position:absolute;background:rgba(0,0,0,.25)}.swiper-pagination-progress .swiper-pagination-progressbar{left:0;top:0;-webkit-transform-origin:left top;transform-origin:left top;position:absolute;width:100%;height:100%;background:#007aff;-webkit-transform:scale(0);transform:scale(0)}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{left:0;top:0;width:100%;height:4px}.swiper-container-vertical>.swiper-pagination-progress{left:0;top:0;width:4px;height:100%}.swiper-pagination-progress.swiper-pagination-white{background:rgba(255,255,255,.5)}.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar{background:#fff}.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar{background:#000}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{left:0;top:0;position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(to left,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(to right,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(to top,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-webkit-perspective:1200px;perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:none}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{-webkit-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%;visibility:hidden}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{visibility:visible;pointer-events:auto}.swiper-container-cube .swiper-cube-shadow{left:0;bottom:0;position:absolute;z-index:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px)}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{-webkit-transition-property:opacity;transition-property:opacity;pointer-events:none}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;background:rgba(0,0,0,.1);-ms-touch-action:none;touch-action:none}.swiper-container-horizontal>.swiper-scrollbar{left:1%;bottom:3px;position:absolute;z-index:50;width:98%;height:5px}.swiper-container-vertical>.swiper-scrollbar{right:3px;top:1%;position:absolute;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{left:0;top:0;border-radius:10px;position:relative;width:100%;height:100%;background:rgba(0,0,0,.5)}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{left:50%;top:50%;margin-left:-21px;margin-top:-21px;-webkit-transform-origin:50%;transform-origin:50%;position:absolute;z-index:10;width:42px;height:42px;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader::after{background-position:50%;display:block;width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:100%;content:""}.swiper-lazy-preloader-white::after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}ion-slides{display:block;width:100%;height:100%}.slide-zoom{text-align:center;display:block;width:100%}.swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}ion-spinner{position:relative;display:inline-block;width:28px;height:28px}ion-spinner svg{left:0;top:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}ion-spinner.spinner-paused svg{-webkit-animation-play-state:paused;animation-play-state:paused}.spinner-ios line,.spinner-ios-small line{stroke-width:4px;stroke-linecap:round}.spinner-ios svg,.spinner-ios-small svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}.spinner-bubbles svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite}.spinner-circles svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}.spinner-crescent circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px}.spinner-crescent svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}.spinner-dots circle{stroke-width:0}.spinner-dots svg{-webkit-transform-origin:center;transform-origin:center;-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1,1);transform:scale(1,1)}100%{-webkit-transform:scale(0,0);transform:scale(0,0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1,1);transform:scale(1,1)}100%{-webkit-transform:scale(0,0);transform:scale(0,0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{opacity:.9;-webkit-transform:scale(1,1);transform:scale(1,1)}50%{opacity:.3;-webkit-transform:scale(.4,.4);transform:scale(.4,.4)}100%{opacity:.9;-webkit-transform:scale(1,1);transform:scale(1,1)}}@keyframes spinner-dots{0%{opacity:.9;-webkit-transform:scale(1,1);transform:scale(1,1)}50%{opacity:.3;-webkit-transform:scale(.4,.4);transform:scale(.4,.4)}100%{opacity:.9;-webkit-transform:scale(1,1);transform:scale(1,1)}}.spinner-ios-ios line,.spinner-ios-ios-small line{stroke:#69717d}.spinner-ios-bubbles circle{fill:#000}.spinner-ios-circles circle{fill:#69717d}.spinner-ios-crescent circle{stroke:#000}.spinner-ios-dots circle{fill:#444}.spinner-ios-primary.spinner-crescent circle,.spinner-ios-primary.spinner-ios line,.spinner-ios-primary.spinner-ios-small line{stroke:#673ab7}.spinner-ios-primary.spinner-bubbles circle,.spinner-ios-primary.spinner-circles circle,.spinner-ios-primary.spinner-dots circle{fill:#673ab7}.spinner-ios-secondary.spinner-crescent circle,.spinner-ios-secondary.spinner-ios line,.spinner-ios-secondary.spinner-ios-small line{stroke:#32db64}.spinner-ios-secondary.spinner-bubbles circle,.spinner-ios-secondary.spinner-circles circle,.spinner-ios-secondary.spinner-dots circle{fill:#32db64}.spinner-ios-danger.spinner-crescent circle,.spinner-ios-danger.spinner-ios line,.spinner-ios-danger.spinner-ios-small line{stroke:#f53d3d}.spinner-ios-danger.spinner-bubbles circle,.spinner-ios-danger.spinner-circles circle,.spinner-ios-danger.spinner-dots circle{fill:#f53d3d}.spinner-ios-light.spinner-crescent circle,.spinner-ios-light.spinner-ios line,.spinner-ios-light.spinner-ios-small line{stroke:#f4f4f4}.spinner-ios-light.spinner-bubbles circle,.spinner-ios-light.spinner-circles circle,.spinner-ios-light.spinner-dots circle{fill:#f4f4f4}.spinner-ios-dark.spinner-crescent circle,.spinner-ios-dark.spinner-ios line,.spinner-ios-dark.spinner-ios-small line{stroke:#222}.spinner-ios-dark.spinner-bubbles circle,.spinner-ios-dark.spinner-circles circle,.spinner-ios-dark.spinner-dots circle{fill:#222}.spinner-ios-optblue.spinner-crescent circle,.spinner-ios-optblue.spinner-ios line,.spinner-ios-optblue.spinner-ios-small line{stroke:#e00201}.spinner-ios-optblue.spinner-bubbles circle,.spinner-ios-optblue.spinner-circles circle,.spinner-ios-optblue.spinner-dots circle{fill:#e00201}.spinner-md-ios line,.spinner-md-ios-small line{stroke:#69717d}.spinner-md-bubbles circle{fill:#000}.spinner-md-circles circle{fill:#69717d}.spinner-md-crescent circle{stroke:#000}.spinner-md-dots circle{fill:#444}.spinner-md-primary.spinner-crescent circle,.spinner-md-primary.spinner-ios line,.spinner-md-primary.spinner-ios-small line{stroke:#673ab7}.spinner-md-primary.spinner-bubbles circle,.spinner-md-primary.spinner-circles circle,.spinner-md-primary.spinner-dots circle{fill:#673ab7}.spinner-md-secondary.spinner-crescent circle,.spinner-md-secondary.spinner-ios line,.spinner-md-secondary.spinner-ios-small line{stroke:#32db64}.spinner-md-secondary.spinner-bubbles circle,.spinner-md-secondary.spinner-circles circle,.spinner-md-secondary.spinner-dots circle{fill:#32db64}.spinner-md-danger.spinner-crescent circle,.spinner-md-danger.spinner-ios line,.spinner-md-danger.spinner-ios-small line{stroke:#f53d3d}.spinner-md-danger.spinner-bubbles circle,.spinner-md-danger.spinner-circles circle,.spinner-md-danger.spinner-dots circle{fill:#f53d3d}.spinner-md-light.spinner-crescent circle,.spinner-md-light.spinner-ios line,.spinner-md-light.spinner-ios-small line{stroke:#f4f4f4}.spinner-md-light.spinner-bubbles circle,.spinner-md-light.spinner-circles circle,.spinner-md-light.spinner-dots circle{fill:#f4f4f4}.spinner-md-dark.spinner-crescent circle,.spinner-md-dark.spinner-ios line,.spinner-md-dark.spinner-ios-small line{stroke:#222}.spinner-md-dark.spinner-bubbles circle,.spinner-md-dark.spinner-circles circle,.spinner-md-dark.spinner-dots circle{fill:#222}.spinner-md-optblue.spinner-crescent circle,.spinner-md-optblue.spinner-ios line,.spinner-md-optblue.spinner-ios-small line{stroke:#e00201}.spinner-md-optblue.spinner-bubbles circle,.spinner-md-optblue.spinner-circles circle,.spinner-md-optblue.spinner-dots circle{fill:#e00201}.spinner-wp-ios line,.spinner-wp-ios-small line{stroke:#69717d}.spinner-wp-bubbles circle{fill:#000}.spinner-wp-circles circle{fill:#69717d}.spinner-wp-crescent circle{stroke:#000}.spinner-wp-dots circle{fill:#444}.spinner-wp-primary.spinner-crescent circle,.spinner-wp-primary.spinner-ios line,.spinner-wp-primary.spinner-ios-small line{stroke:#673ab7}.spinner-wp-primary.spinner-bubbles circle,.spinner-wp-primary.spinner-circles circle,.spinner-wp-primary.spinner-dots circle{fill:#673ab7}.spinner-wp-secondary.spinner-crescent circle,.spinner-wp-secondary.spinner-ios line,.spinner-wp-secondary.spinner-ios-small line{stroke:#32db64}.spinner-wp-secondary.spinner-bubbles circle,.spinner-wp-secondary.spinner-circles circle,.spinner-wp-secondary.spinner-dots circle{fill:#32db64}.spinner-wp-danger.spinner-crescent circle,.spinner-wp-danger.spinner-ios line,.spinner-wp-danger.spinner-ios-small line{stroke:#f53d3d}.spinner-wp-danger.spinner-bubbles circle,.spinner-wp-danger.spinner-circles circle,.spinner-wp-danger.spinner-dots circle{fill:#f53d3d}.spinner-wp-light.spinner-crescent circle,.spinner-wp-light.spinner-ios line,.spinner-wp-light.spinner-ios-small line{stroke:#f4f4f4}.spinner-wp-light.spinner-bubbles circle,.spinner-wp-light.spinner-circles circle,.spinner-wp-light.spinner-dots circle{fill:#f4f4f4}.spinner-wp-dark.spinner-crescent circle,.spinner-wp-dark.spinner-ios line,.spinner-wp-dark.spinner-ios-small line{stroke:#222}.spinner-wp-dark.spinner-bubbles circle,.spinner-wp-dark.spinner-circles circle,.spinner-wp-dark.spinner-dots circle{fill:#222}.spinner-wp-optblue.spinner-crescent circle,.spinner-wp-optblue.spinner-ios line,.spinner-wp-optblue.spinner-ios-small line{stroke:#e00201}.spinner-wp-optblue.spinner-bubbles circle,.spinner-wp-optblue.spinner-circles circle,.spinner-wp-optblue.spinner-dots circle{fill:#e00201}.split-pane{left:0;right:0;top:0;bottom:0;position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}.split-pane-side:not(ion-menu){display:none}.split-pane-visible>.split-pane-main,.split-pane-visible>.split-pane-side{left:0;right:0;top:0;bottom:0;position:relative;z-index:0;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-shadow:none!important;box-shadow:none!important}.split-pane-visible>.split-pane-side{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-main,.split-pane-visible>ion-menu.menu-enabled,.split-pane-visible>ion-nav.split-pane-side,.split-pane-visible>ion-tabs.split-pane-side{display:block}.split-pane-visible>ion-split-pane.split-pane-main,.split-pane-visible>ion-split-pane.split-pane-side{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.split-pane-visible>ion-menu.menu-enabled>.menu-inner{left:0;right:0;width:auto;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transform:none!important;transform:none!important}.split-pane-visible>ion-menu.menu-enabled>.ion-backdrop{display:hidden!important}.split-pane-visible>.split-pane-side[side=start]{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-side[side=end]{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.split-pane-visible>.split-pane-side[side=left]{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-side[side=right]{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.split-pane-ios.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:.55px solid #c8c7cc;border-left:0}.split-pane-ios.split-pane-visible>.split-pane-side[side=right]{border-right:0;border-left:.55px solid #c8c7cc}.split-pane-md.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:1px solid #dedede;border-left:0}.split-pane-md.split-pane-visible>.split-pane-side[side=right]{border-right:0;border-left:1px solid #dedede}.split-pane-wp.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:1px solid transparent;border-left:0}.split-pane-wp.split-pane-visible>.split-pane-side[side=right]{border-right:0;border-left:1px solid transparent}.tabbar{left:0;bottom:0;position:absolute;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;opacity:0}.tabbar-hidden .tabbar{display:none}.tabbar.show-tabbar{opacity:1}[tabsPlacement=top]>.tabbar{top:0;bottom:auto}.tab-button{margin:0;text-align:center;border-radius:0;position:relative;z-index:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border:0;text-decoration:none;background:0 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tab-disabled{pointer-events:none}.tab-disabled ion-badge,.tab-disabled ion-icon,.tab-disabled span{opacity:.4}.tab-button-text{margin-top:3px;margin-bottom:2px}.tab-button-icon,.tab-button-text{display:none;overflow:hidden;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;min-width:26px;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.has-icon .tab-button-icon,.has-title .tab-button-text{display:block}.has-title-only .tab-button-text{white-space:normal}[tabsLayout=icon-bottom] .tab-button .tab-button-icon{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}[tabsLayout=icon-end] .tab-button,[tabsLayout=icon-left] .tab-button,[tabsLayout=icon-right] .tab-button,[tabsLayout=icon-start] .tab-button{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[tabsLayout=icon-left] .tab-button .tab-button-icon,[tabsLayout=icon-start] .tab-button .tab-button-icon{padding-right:8px;text-align:right;text-align:end}[tabsLayout=icon-end] .tab-button .tab-button-icon,[tabsLayout=icon-right] .tab-button .tab-button-icon{padding-left:8px;text-align:left;text-align:start;-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.tab-hidden,.tab-highlight,[tabsLayout=icon-hide] .tab-button-icon,[tabsLayout=title-hide] .tab-button-text{display:none}.tab-badge{right:4%;top:6%;right:calc(50% - 50px);padding:1px 6px;position:absolute;height:auto;font-size:12px;line-height:16px}.has-icon .tab-badge{right:calc(50% - 30px)}[tabsLayout=icon-bottom] .tab-badge,[tabsLayout=icon-end] .tab-badge,[tabsLayout=icon-left] .tab-badge,[tabsLayout=icon-right] .tab-badge,[tabsLayout=icon-start] .tab-badge{right:calc(50% - 50px)}.tabs-ios .tabbar{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-top:.55px solid rgba(0,0,0,.3);background:#f8f8f8}.tabs-ios[tabsPlacement=top] .tabbar{border-top:0;border-bottom:.55px solid rgba(0,0,0,.3)}.tabs-ios .tab-button{max-width:240px;min-height:49px;font-size:10px;font-weight:500;color:#8c8c8c;padding:0 2px}.tabs-ios .tab-button:hover:not(.disable-hover),.tabs-ios .tab-button[aria-selected=true]{color:#673ab7}.tabs-ios .tab-button[aria-selected=true] .tab-button-icon{color:#673ab7}.tabs-ios .tab-button-text{margin-top:0;margin-bottom:1px;min-height:11px}.tabs-ios .has-title-only .tab-button-text{font-size:12px}.tabs-ios .tab-button-icon{margin-top:4px;margin-bottom:1px;min-width:35px;height:30px;font-size:30px;color:#8c8c8c}.tabs-ios .tab-button-icon::before{vertical-align:top}.tabs-ios[tabsLayout=icon-end] .tab-button .tab-button-text,.tabs-ios[tabsLayout=icon-left] .tab-button .tab-button-text,.tabs-ios[tabsLayout=icon-right] .tab-button .tab-button-text,.tabs-ios[tabsLayout=icon-start] .tab-button .tab-button-text{font-size:1.4rem;line-height:1.1}.tabs-ios[tabsLayout=icon-end] .tab-button ion-icon,.tabs-ios[tabsLayout=icon-left] .tab-button ion-icon,.tabs-ios[tabsLayout=icon-right] .tab-button ion-icon,.tabs-ios[tabsLayout=icon-start] .tab-button ion-icon{min-width:24px;height:26px;font-size:24px}.tabs-ios .tab-button.has-title-only,.tabs-ios[tabsLayout=icon-hide] .tab-button{min-height:41px}.tabs-ios .tab-button.has-title-only .tab-button-text,.tabs-ios[tabsLayout=icon-hide] .tab-button .tab-button-text{margin:2px 0;font-size:1.4rem;line-height:1.1}.tabs-ios .tab-button.icon-only,.tabs-ios[tabsLayout=title-hide] .tab-button{min-height:41px}.tabs-ios-primary .tabbar{border-color:#512e90;background-color:#673ab7}.tabs-ios-primary .tab-button,.tabs-ios-primary .tab-button-icon,.tabs-ios-primary .tab-button:hover:not(.disable-hover),.tabs-ios-primary .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-primary .tab-button[aria-selected=true],.tabs-ios-primary .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-ios-secondary .tabbar{border-color:#21b94e;background-color:#32db64}.tabs-ios-secondary .tab-button,.tabs-ios-secondary .tab-button-icon,.tabs-ios-secondary .tab-button:hover:not(.disable-hover),.tabs-ios-secondary .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-secondary .tab-button[aria-selected=true],.tabs-ios-secondary .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-ios-danger .tabbar{border-color:#f30d0d;background-color:#f53d3d}.tabs-ios-danger .tab-button,.tabs-ios-danger .tab-button-icon,.tabs-ios-danger .tab-button:hover:not(.disable-hover),.tabs-ios-danger .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-danger .tab-button[aria-selected=true],.tabs-ios-danger .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-ios-light .tabbar{border-color:#dbdbdb;background-color:#f4f4f4}.tabs-ios-light .tab-button,.tabs-ios-light .tab-button-icon,.tabs-ios-light .tab-button:hover:not(.disable-hover),.tabs-ios-light .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(0,0,0,.7)}.tabs-ios-light .tab-button[aria-selected=true],.tabs-ios-light .tab-button[aria-selected=true] .tab-button-icon{color:#000}.tabs-ios-dark .tabbar{border-color:#090909;background-color:#222}.tabs-ios-dark .tab-button,.tabs-ios-dark .tab-button-icon,.tabs-ios-dark .tab-button:hover:not(.disable-hover),.tabs-ios-dark .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-dark .tab-button[aria-selected=true],.tabs-ios-dark .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-ios-optblue .tabbar{border-color:#ad0201;background-color:#e00201}.tabs-ios-optblue .tab-button,.tabs-ios-optblue .tab-button-icon,.tabs-ios-optblue .tab-button:hover:not(.disable-hover),.tabs-ios-optblue .tab-button:hover:not(.disable-hover) .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-ios-optblue .tab-button[aria-selected=true],.tabs-ios-optblue .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md .tabbar{background:#f8f8f8}.tabs-md .tab-button{min-height:5.6rem;font-weight:400;color:rgba(60,60,60,.7);padding:0}.tabs-md .tab-button[aria-selected=true]{color:#673ab7;padding:0}.tabs-md .tab-button-text{font-size:1.2rem;text-transform:none;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;margin:0;-webkit-transform-origin:50% 80%;transform-origin:50% 80%}.tabs-md .tab-button[aria-selected=true] .tab-button-text{-webkit-transform:scale3d(1.16667,1.16667,1);transform:scale3d(1.16667,1.16667,1);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.tabs-md[tabsLayout=icon-top] .has-icon .tab-button-text{margin-top:4px;margin-bottom:0}.tabs-md[tabsLayout=icon-bottom] .tab-button .tab-button-text{margin-top:0}.tabs-md .tab-button-icon{margin-top:1px;min-width:2.4rem;font-size:2.4rem;color:rgba(60,60,60,.7);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.tabs-md .tab-button[aria-selected=true] .tab-button-icon{color:#673ab7;-webkit-transform:translate3d(0,-2px,0);transform:translate3d(0,-2px,0)}.tabs-md[tabsLayout=icon-end] .tab-button[aria-selected=true] .tab-button-icon,.tabs-md[tabsLayout=icon-right] .tab-button[aria-selected=true] .tab-button-icon{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}.tabs-md[tabsLayout=icon-bottom] .tab-button[aria-selected=true] .tab-button-icon{-webkit-transform:translate3d(0,2px,0);transform:translate3d(0,2px,0)}.tabs-md[tabsLayout=icon-left] .tab-button[aria-selected=true] .tab-button-icon,.tabs-md[tabsLayout=icon-start] .tab-button[aria-selected=true] .tab-button-icon{-webkit-transform:translate3d(-2px,0,0);transform:translate3d(-2px,0,0)}.tabs-md .tab-button.has-title-only,.tabs-md .tab-button.icon-only,.tabs-md[tabsLayout=icon-hide] .tab-button,.tabs-md[tabsLayout=title-hide] .tab-button{padding:0 10px}.tabs-md[tabsHighlight=true] .tab-highlight{left:0;bottom:0;-webkit-transform-origin:0 0;transform-origin:0 0;position:absolute;display:block;width:1px;height:2px;background:#673ab7;-webkit-transform:translateZ(0);transform:translateZ(0)}.tabs-md[tabsHighlight=true] .tab-highlight.animate{-webkit-transition-duration:.3s;transition-duration:.3s}.tabs-md[tabsHighlight=true][tabsPlacement=bottom]>.tabbar>.tab-highlight{top:0}.tabs-md-primary .tabbar{background-color:#673ab7}.tabs-md-primary .tab-button,.tabs-md-primary .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-primary .tab-button:hover:not(.disable-hover),.tabs-md-primary .tab-button[aria-selected=true],.tabs-md-primary .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-primary[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-md-secondary .tabbar{background-color:#32db64}.tabs-md-secondary .tab-button,.tabs-md-secondary .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-secondary .tab-button:hover:not(.disable-hover),.tabs-md-secondary .tab-button[aria-selected=true],.tabs-md-secondary .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-secondary[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-md-danger .tabbar{background-color:#f53d3d}.tabs-md-danger .tab-button,.tabs-md-danger .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-danger .tab-button:hover:not(.disable-hover),.tabs-md-danger .tab-button[aria-selected=true],.tabs-md-danger .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-danger[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-md-light .tabbar{background-color:#f4f4f4}.tabs-md-light .tab-button,.tabs-md-light .tab-button-icon{color:rgba(0,0,0,.7)}.tabs-md-light .tab-button:hover:not(.disable-hover),.tabs-md-light .tab-button[aria-selected=true],.tabs-md-light .tab-button[aria-selected=true] .tab-button-icon{color:#000}.tabs-md-light[tabsHighlight=true] .tab-highlight{background:#000}.tabs-md-dark .tabbar{background-color:#222}.tabs-md-dark .tab-button,.tabs-md-dark .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-dark .tab-button:hover:not(.disable-hover),.tabs-md-dark .tab-button[aria-selected=true],.tabs-md-dark .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-dark[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-md-optblue .tabbar{background-color:#e00201}.tabs-md-optblue .tab-button,.tabs-md-optblue .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-md-optblue .tab-button:hover:not(.disable-hover),.tabs-md-optblue .tab-button[aria-selected=true],.tabs-md-optblue .tab-button[aria-selected=true] .tab-button-icon{color:#fff}.tabs-md-optblue[tabsHighlight=true] .tab-highlight{background:#fff}.tabs-wp .tabbar{background:#f8f8f8}.tabs-wp .tab-button{border-radius:0;min-height:4.8rem;border-bottom:2px solid transparent;font-size:1.2rem;font-weight:400;color:rgba(140,140,140,.7);-webkit-box-shadow:none;box-shadow:none;padding:12px 10px 5px}.tabs-wp .tab-button[aria-selected=true]{border-bottom-color:#673ab7;color:#673ab7}.tabs-wp .tab-button.activated{background:rgba(0,0,0,.1)}.tabs-wp[tabsPlacement=bottom] .tab-button{border-top:2px solid transparent;border-bottom-width:0}.tabs-wp[tabsPlacement=bottom] .tab-button[aria-selected=true]{border-top-color:#673ab7}.tabs-wp .tab-button-text{margin-top:5px;margin-bottom:5px}.tabs-wp .tab-button-icon{min-width:2.4rem;font-size:2.4rem;color:rgba(140,140,140,.7)}.tabs-wp .tab-button[aria-selected=true] .tab-button-icon{color:#673ab7}.tabs-wp[tabsLayout=icon-bottom] .tab-button{padding-top:8px;padding-bottom:8px}.tabs-wp[tabsLayout=icon-end] .tab-button,.tabs-wp[tabsLayout=icon-left] .tab-button,.tabs-wp[tabsLayout=icon-right] .tab-button,.tabs-wp[tabsLayout=icon-start] .tab-button{padding-bottom:10px}.tabs-wp[tabsLayout=icon-end] .tab-button ion-icon,.tabs-wp[tabsLayout=icon-left] .tab-button ion-icon,.tabs-wp[tabsLayout=icon-right] .tab-button ion-icon,.tabs-wp[tabsLayout=icon-start] .tab-button ion-icon{min-width:24px}.tabs-wp .tab-button.has-title-only,.tabs-wp .tab-button.icon-only,.tabs-wp[tabsLayout=icon-hide] .tab-button,.tabs-wp[tabsLayout=title-hide] .tab-button{padding:6px 10px}.tabs-wp-primary .tabbar{background-color:#673ab7}.tabs-wp-primary .tab-button,.tabs-wp-primary .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-primary .tab-button:hover:not(.disable-hover),.tabs-wp-primary .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-primary .tab-button[aria-selected=true],.tabs-wp-primary .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}.tabs-wp-secondary .tabbar{background-color:#32db64}.tabs-wp-secondary .tab-button,.tabs-wp-secondary .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-secondary .tab-button:hover:not(.disable-hover),.tabs-wp-secondary .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-secondary .tab-button[aria-selected=true],.tabs-wp-secondary .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}.tabs-wp-danger .tabbar{background-color:#f53d3d}.tabs-wp-danger .tab-button,.tabs-wp-danger .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-danger .tab-button:hover:not(.disable-hover),.tabs-wp-danger .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-danger .tab-button[aria-selected=true],.tabs-wp-danger .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}.tabs-wp-light .tabbar{background-color:#f4f4f4}.tabs-wp-light .tab-button,.tabs-wp-light .tab-button-icon{color:rgba(0,0,0,.7)}.tabs-wp-light .tab-button:hover:not(.disable-hover),.tabs-wp-light .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-light .tab-button[aria-selected=true],.tabs-wp-light .tab-button[aria-selected=true] .tab-button-icon{border-color:#000;color:#000}.tabs-wp-dark .tabbar{background-color:#222}.tabs-wp-dark .tab-button,.tabs-wp-dark .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-dark .tab-button:hover:not(.disable-hover),.tabs-wp-dark .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-dark .tab-button[aria-selected=true],.tabs-wp-dark .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}.tabs-wp-optblue .tabbar{background-color:#e00201}.tabs-wp-optblue .tab-button,.tabs-wp-optblue .tab-button-icon{color:rgba(255,255,255,.7)}.tabs-wp-optblue .tab-button:hover:not(.disable-hover),.tabs-wp-optblue .tab-button:hover:not(.disable-hover) .tab-button-icon,.tabs-wp-optblue .tab-button[aria-selected=true],.tabs-wp-optblue .tab-button[aria-selected=true] .tab-button-icon{border-color:#fff;color:#fff}ion-toast{left:0;top:0;position:absolute;z-index:1000;display:block;width:100%;height:100%;pointer-events:none;contain:strict}.toast-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;pointer-events:auto;contain:content}.toast-button{padding:19px 16px 17px;font-size:1.5rem}.toast-message{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.toast-ios .toast-wrapper{left:10px;right:10px;margin:auto;border-radius:.65rem;position:absolute;z-index:10;display:block;max-width:700px;background:rgba(0,0,0,.9)}.toast-ios .toast-wrapper.toast-top{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);margin:constant(safe-area-inset-top) auto auto;margin:env(safe-area-inset-top) auto auto;top:0}.toast-ios .toast-wrapper.toast-bottom{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);margin:auto auto constant(safe-area-inset-bottom);margin:auto auto env(safe-area-inset-bottom);bottom:0}.toast-ios .toast-wrapper.toast-middle{opacity:.01}.toast-ios .toast-message{font-size:1.4rem;color:#fff;padding:1.5rem}.toast-md .toast-wrapper{left:0;right:0;margin:auto;position:absolute;z-index:10;display:block;width:100%;max-width:700px;background:#333}.toast-md .toast-wrapper.toast-top{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);top:0}.toast-md .toast-wrapper.toast-bottom{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);bottom:0}.toast-md .toast-wrapper.toast-middle{opacity:.01}.toast-md .toast-message{font-size:1.5rem;color:#fff;padding:19px 16px 17px}.toast-wp .toast-wrapper{left:0;right:0;margin:auto;border-radius:0;position:absolute;z-index:10;display:block;max-width:700px;background:#000}.toast-wp .toast-wrapper.toast-top{top:0;opacity:.01}.toast-wp .toast-wrapper.toast-bottom{bottom:0;opacity:.01}.toast-wp .toast-wrapper.toast-middle{opacity:.01}.toast-message{font-size:1.4rem;color:#fff;padding:1.5rem}.toast-button{color:#fff}.toggle-ios{position:relative;width:51px;height:32px;-webkit-box-sizing:content-box;box-sizing:content-box;contain:strict}.toggle-ios .toggle-icon{border-radius:16px;position:relative;display:block;width:100%;height:100%;background-color:#e6e6e6;-webkit-transition:background-color .3s;transition:background-color .3s;pointer-events:none}.toggle-ios .toggle-icon::before{left:2px;right:2px;top:2px;bottom:2px;border-radius:16px;position:absolute;background-color:#fff;content:"";-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.toggle-ios .toggle-inner{left:2px;top:2px;border-radius:14px;position:absolute;width:28px;height:28px;background-color:#fff;-webkit-box-shadow:0 3px 12px rgba(0,0,0,.16),0 3px 1px rgba(0,0,0,.1);box-shadow:0 3px 12px rgba(0,0,0,.16),0 3px 1px rgba(0,0,0,.1);-webkit-transition:width 120ms ease-in-out 80ms,left 110ms ease-in-out 80ms,right 110ms ease-in-out 80ms,-webkit-transform .3s;transition:width 120ms ease-in-out 80ms,left 110ms ease-in-out 80ms,right 110ms ease-in-out 80ms,-webkit-transform .3s;transition:transform .3s,width 120ms ease-in-out 80ms,left 110ms ease-in-out 80ms,right 110ms ease-in-out 80ms;transition:transform .3s,width 120ms ease-in-out 80ms,left 110ms ease-in-out 80ms,right 110ms ease-in-out 80ms,-webkit-transform .3s;will-change:transform;contain:strict}.toggle-ios.toggle-checked .toggle-icon{background-color:#673ab7}.toggle-ios.toggle-activated .toggle-icon::before,.toggle-ios.toggle-checked .toggle-icon::before{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.toggle-ios.toggle-checked .toggle-inner{-webkit-transform:translate3d(19px,0,0);transform:translate3d(19px,0,0)}.toggle-ios.toggle-activated.toggle-checked .toggle-inner::before{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.toggle-ios.toggle-activated .toggle-inner{width:34px}.toggle-ios.toggle-activated.toggle-checked .toggle-inner{left:-4px}.item-ios.item-toggle-disabled ion-label,.toggle-ios.toggle-disabled{opacity:.3;pointer-events:none}.item-ios .toggle-ios{margin:0;padding:6px 8px 5px 16px}.item-ios .toggle-ios[item-left],.item-ios .toggle-ios[item-start]{padding:6px 16px 5px 0}.toggle-ios-primary.toggle-checked .toggle-icon{background-color:#673ab7}.toggle-ios-secondary.toggle-checked .toggle-icon{background-color:#32db64}.toggle-ios-danger.toggle-checked .toggle-icon{background-color:#f53d3d}.toggle-ios-light.toggle-checked .toggle-icon{background-color:#f4f4f4}.toggle-ios-dark.toggle-checked .toggle-icon{background-color:#222}.toggle-ios-optblue.toggle-checked .toggle-icon{background-color:#e00201}.toggle-md{position:relative;width:36px;height:14px;-webkit-box-sizing:content-box;box-sizing:content-box;contain:strict;padding:12px}.toggle-md .toggle-icon{border-radius:14px;position:relative;display:block;width:100%;height:100%;background-color:#dedede;-webkit-transition:background-color .3s;transition:background-color .3s;pointer-events:none}.toggle-md .toggle-inner{left:0;top:-3px;border-radius:50%;position:absolute;width:20px;height:20px;background-color:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,-webkit-transform;transition-property:transform,background-color;transition-property:transform,background-color,-webkit-transform;will-change:transform,background-color;contain:strict}.toggle-md.toggle-checked .toggle-icon{background-color:#ae94dd}.toggle-md.toggle-checked .toggle-inner{-webkit-transform:translate3d(16px,0,0);transform:translate3d(16px,0,0);background-color:#673ab7}.item-md.item-toggle-disabled ion-label,.toggle-md.toggle-disabled{opacity:.3;pointer-events:none}.toggle-md.toggle-disabled ion-radio{opacity:.3}.item-md .toggle-md{cursor:pointer;margin:0;padding:12px 8px 12px 16px}.item-md .toggle-md[item-left],.item-md .toggle-md[item-start]{padding:12px 18px 12px 2px}.item-md.item-toggle ion-label{margin-left:0}.toggle-md-primary.toggle-checked .toggle-icon{background-color:#ae94dd}.toggle-md-primary.toggle-checked .toggle-inner{background-color:#673ab7}.toggle-md-secondary.toggle-checked .toggle-icon{background-color:#9eeeb6}.toggle-md-secondary.toggle-checked .toggle-inner{background-color:#32db64}.toggle-md-danger.toggle-checked .toggle-icon{background-color:#fbb6b6}.toggle-md-danger.toggle-checked .toggle-inner{background-color:#f53d3d}.toggle-md-light.toggle-checked .toggle-icon{background-color:#fff}.toggle-md-light.toggle-checked .toggle-inner{background-color:#f4f4f4}.toggle-md-dark.toggle-checked .toggle-icon{background-color:#626262}.toggle-md-dark.toggle-checked .toggle-inner{background-color:#222}.toggle-md-optblue.toggle-checked .toggle-icon{background-color:#fe6362}.toggle-md-optblue.toggle-checked .toggle-inner{background-color:#e00201}.toggle-wp{position:relative;width:40px;height:18px;-webkit-box-sizing:content-box;box-sizing:content-box;contain:strict}.toggle-wp .toggle-icon{border-radius:18px;position:relative;display:block;width:100%;height:100%;border:2px solid #323232;background-color:transparent;pointer-events:none;contain:strict}.toggle-wp .toggle-inner{left:2px;top:2px;border-radius:50%;position:absolute;width:10px;height:10px;background-color:#323232;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,-webkit-transform;transition-property:transform,background-color;transition-property:transform,background-color,-webkit-transform;will-change:transform,background-color}.toggle-wp.toggle-checked .toggle-icon{border-color:#673ab7;background-color:#673ab7}.toggle-wp.toggle-checked .toggle-inner{-webkit-transform:translate3d(22px,0,0);transform:translate3d(22px,0,0);background-color:#fff}.item-wp.item-toggle-disabled ion-label,.toggle-wp.toggle-disabled{opacity:.3;pointer-events:none}.toggle-wp.toggle-disabled ion-radio{opacity:.3}.item-wp .toggle-wp{margin:0;cursor:pointer;padding:12px 8px 12px 16px}.item-wp .toggle-wp[item-left],.item-wp .toggle-wp[item-start]{padding:12px 18px 12px 2px}.item-wp.item-toggle ion-label{margin-left:0}.toggle-wp-primary.toggle-checked .toggle-icon{border-color:#673ab7;background-color:#673ab7}.toggle-wp-primary.toggle-checked .toggle-inner{background-color:#fff}.toggle-wp-secondary.toggle-checked .toggle-icon{border-color:#32db64;background-color:#32db64}.toggle-wp-secondary.toggle-checked .toggle-inner{background-color:#fff}.toggle-wp-danger.toggle-checked .toggle-icon{border-color:#f53d3d;background-color:#f53d3d}.toggle-wp-danger.toggle-checked .toggle-inner{background-color:#fff}.toggle-wp-light.toggle-checked .toggle-icon{border-color:#f4f4f4;background-color:#f4f4f4}.toggle-wp-light.toggle-checked .toggle-inner{background-color:#000}.toggle-wp-dark.toggle-checked .toggle-icon{border-color:#222;background-color:#222}.toggle-wp-dark.toggle-checked .toggle-inner{background-color:#fff}.toggle-wp-optblue.toggle-checked .toggle-icon{border-color:#e00201;background-color:#e00201}.toggle-wp-optblue.toggle-checked .toggle-inner{background-color:#fff}ion-toolbar{position:relative;z-index:10}.toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;contain:content}.toolbar-background{left:0;top:0;position:absolute;z-index:-1;width:100%;height:100%;border:0;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none;contain:strict}ion-title{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0)}.toolbar-title{display:block;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap}ion-buttons{margin:0 .2rem;display:block;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none}ion-buttons a,ion-buttons button,ion-buttons div,ion-buttons input,ion-buttons textarea{pointer-events:auto}.toolbar[transparent] .toolbar-background{border-color:transparent;background:0 0}.bar-button-menutoggle,ion-buttons{z-index:99;-webkit-transform:translateZ(0);transform:translateZ(0)}ion-navbar.toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:translateZ(0);transform:translateZ(0)}.bar-button{margin:0;padding:0;text-align:center;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:inline-block;line-height:1;text-overflow:ellipsis;text-transform:none;white-space:nowrap;cursor:pointer;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bar-button::after{left:-2px;right:-2px;top:-7px;bottom:-6px;position:absolute;content:""}.bar-button-menutoggle{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.back-button{display:none}.back-button.show-back-button{display:inline-block}.back-button-text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.toolbar-ios{padding:4px;padding-left:4px;padding-right:4px;min-height:44px}@media screen and (orientation:landscape){.toolbar-ios{padding-left:calc(constant(safe-area-inset-left) + 4px);padding-right:calc(constant(safe-area-inset-right) + 4px);padding-left:calc(env(safe-area-inset-left) + 4px);padding-right:calc(env(safe-area-inset-right) + 4px)}}.toolbar-background-ios{background:#f8f8f8}.footer-ios .toolbar-background-ios,.header-ios .toolbar-background-ios{border-style:solid;border-color:rgba(0,0,0,.3)}.header-ios .toolbar-ios:last-child .toolbar-background-ios{border-width:0 0 .55px}.footer-ios .toolbar-ios:first-child .toolbar-background-ios{border-width:.55px 0 0}.header-ios[no-border] .toolbar-ios:last-child .toolbar-background-ios{border-bottom-width:0}.footer-ios[no-border] .toolbar-ios:first-child .toolbar-background-ios{border-top-width:0}.toolbar-content-ios{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4;min-width:0}.toolbar-title-ios{text-align:center;font-size:1.7rem;font-weight:600;color:#000;pointer-events:auto}.toolbar-ios ion-title{left:0;top:0;padding:0 90px 1px;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none}.bar-buttons-ios{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3;-webkit-transform:translateZ(0);transform:translateZ(0)}.bar-buttons-ios[left]{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bar-buttons-ios[end]{text-align:right;text-align:end;-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bar-buttons-ios[right]{text-align:right;-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bar-button-ios{padding:0 4px;border-radius:4px;height:32px;border:0;font-size:1.7rem}.bar-button-outline-ios{border-width:1px;border-style:solid;border-color:#673ab7;color:#673ab7;background-color:transparent}.bar-button-outline-ios:hover:not(.disable-hover){opacity:.4}.bar-button-outline-ios.activated{color:#fff;background-color:#673ab7}.bar-button-solid-ios{color:#fff;background-color:#673ab7}.bar-button-solid-ios:hover:not(.disable-hover){color:#fff;opacity:.4}.bar-button-solid-ios.activated{color:#fff;background-color:#734abd;opacity:.4}.bar-button-ios.bar-button-icon-start ion-icon{padding-right:.3em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-ios.bar-button-icon-end ion-icon{padding-left:.4em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-ios[icon-only]{padding:0;min-width:.9em}.bar-button-ios[icon-only] ion-icon{padding:0 .1em;font-size:1.8em;line-height:.67;pointer-events:none}.back-button-ios{margin:0;z-index:99;overflow:visible;-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;min-height:3.2rem;line-height:1;-webkit-transform:translateZ(0);transform:translateZ(0)}.back-button-icon-ios{margin:-1px 0 0;display:inherit;min-width:18px;font-size:3.4rem}.back-button-text-ios{letter-spacing:-.01em}.bar-button-menutoggle-ios{margin:0 6px;padding:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;min-width:36px}.bar-button-menutoggle-ios ion-icon{padding:0 6px;font-size:2.8rem}.bar-button-menutoggle-ios[end],.bar-button-menutoggle-ios[right]{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bar-button-clear-ios-default,.bar-button-default-ios,.bar-button-default.bar-button-ios-default{color:#673ab7;background-color:transparent}.bar-button-clear-ios-default:hover:not(.disable-hover),.bar-button-default-ios:hover:not(.disable-hover),.bar-button-default.bar-button-ios-default:hover:not(.disable-hover){color:#673ab7}.bar-button-clear-ios-default.activated,.bar-button-default-ios.activated,.bar-button-default.bar-button-ios-default.activated{opacity:.4}.bar-button-clear-ios,.bar-button-clear-ios-clear,.bar-button-default.bar-button-ios-clear{color:#673ab7;background-color:transparent}.bar-button-clear-ios-clear:hover:not(.disable-hover),.bar-button-clear-ios:hover:not(.disable-hover),.bar-button-default.bar-button-ios-clear:hover:not(.disable-hover){color:#673ab7}.bar-button-clear-ios-clear.activated,.bar-button-clear-ios.activated,.bar-button-default.bar-button-ios-clear.activated{opacity:.4}.toolbar-ios-primary .toolbar-background-ios{background:#673ab7}.toolbar-ios-primary .bar-button-clear-ios,.toolbar-ios-primary .bar-button-default-ios,.toolbar-ios-primary .toolbar-title-ios{color:#fff}.toolbar-ios-primary .bar-button-clear-ios-primary,.toolbar-ios-primary .bar-button-default.bar-button-ios-primary,.toolbar-ios-primary .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-primary .bar-button-clear-ios-primary.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-primary .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-primary .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-primary .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-primary .bar-button-clear-ios-secondary,.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary,.toolbar-ios-primary .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-primary .bar-button-clear-ios-secondary.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-primary .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-primary .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-primary .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-primary .bar-button-clear-ios-danger,.toolbar-ios-primary .bar-button-danger-ios,.toolbar-ios-primary .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-primary .bar-button-clear-ios-danger.activated,.toolbar-ios-primary .bar-button-danger-ios.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-primary .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-primary .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-primary .bar-button-clear-ios-light,.toolbar-ios-primary .bar-button-default.bar-button-ios-light,.toolbar-ios-primary .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-primary .bar-button-clear-ios-light.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-primary .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-primary .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-primary .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-primary .bar-button-clear-ios-dark,.toolbar-ios-primary .bar-button-dark-ios,.toolbar-ios-primary .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-primary .bar-button-clear-ios-dark.activated,.toolbar-ios-primary .bar-button-dark-ios.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-primary .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-primary .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-primary .bar-button-clear-ios-optblue,.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue,.toolbar-ios-primary .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-primary .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-primary .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-primary .bar-button-clear-ios-optblue.activated,.toolbar-ios-primary .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-primary .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-primary .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-primary .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-primary .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-primary .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-primary,.bar-button-default.bar-button-ios-primary,.bar-button-primary-ios{color:#673ab7;background-color:transparent}.bar-button-clear-ios-primary:hover:not(.disable-hover),.bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.bar-button-clear-ios-primary.activated,.bar-button-default.bar-button-ios-primary.activated,.bar-button-primary-ios.activated{opacity:.4}.bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-secondary .toolbar-background-ios{background:#32db64}.toolbar-ios-secondary .bar-button-clear-ios,.toolbar-ios-secondary .bar-button-default-ios,.toolbar-ios-secondary .toolbar-title-ios{color:#fff}.toolbar-ios-secondary .bar-button-clear-ios-primary,.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary,.toolbar-ios-secondary .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-secondary .bar-button-clear-ios-primary.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-secondary .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-secondary .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-secondary .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-secondary .bar-button-clear-ios-secondary,.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary,.toolbar-ios-secondary .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-secondary .bar-button-clear-ios-secondary.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-secondary .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-secondary .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-secondary .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-secondary .bar-button-clear-ios-danger,.toolbar-ios-secondary .bar-button-danger-ios,.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-secondary .bar-button-clear-ios-danger.activated,.toolbar-ios-secondary .bar-button-danger-ios.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-secondary .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-secondary .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-secondary .bar-button-clear-ios-light,.toolbar-ios-secondary .bar-button-default.bar-button-ios-light,.toolbar-ios-secondary .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-secondary .bar-button-clear-ios-light.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-secondary .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-secondary .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-secondary .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-secondary .bar-button-clear-ios-dark,.toolbar-ios-secondary .bar-button-dark-ios,.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-secondary .bar-button-clear-ios-dark.activated,.toolbar-ios-secondary .bar-button-dark-ios.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-secondary .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-secondary .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-secondary .bar-button-clear-ios-optblue,.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue,.toolbar-ios-secondary .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-secondary .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-secondary .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-secondary .bar-button-clear-ios-optblue.activated,.toolbar-ios-secondary .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-secondary .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-secondary .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-secondary .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-secondary .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-secondary .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-secondary,.bar-button-default.bar-button-ios-secondary,.bar-button-secondary-ios{color:#32db64;background-color:transparent}.bar-button-clear-ios-secondary:hover:not(.disable-hover),.bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.bar-button-clear-ios-secondary.activated,.bar-button-default.bar-button-ios-secondary.activated,.bar-button-secondary-ios.activated{opacity:.4}.bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-danger .toolbar-background-ios{background:#f53d3d}.toolbar-ios-danger .bar-button-clear-ios,.toolbar-ios-danger .bar-button-default-ios,.toolbar-ios-danger .toolbar-title-ios{color:#fff}.toolbar-ios-danger .bar-button-clear-ios-primary,.toolbar-ios-danger .bar-button-default.bar-button-ios-primary,.toolbar-ios-danger .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-danger .bar-button-clear-ios-primary.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-danger .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-danger .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-danger .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-danger .bar-button-clear-ios-secondary,.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary,.toolbar-ios-danger .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-danger .bar-button-clear-ios-secondary.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-danger .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-danger .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-danger .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-danger .bar-button-clear-ios-danger,.toolbar-ios-danger .bar-button-danger-ios,.toolbar-ios-danger .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-danger .bar-button-clear-ios-danger.activated,.toolbar-ios-danger .bar-button-danger-ios.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-danger .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-danger .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-danger .bar-button-clear-ios-light,.toolbar-ios-danger .bar-button-default.bar-button-ios-light,.toolbar-ios-danger .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-danger .bar-button-clear-ios-light.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-danger .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-danger .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-danger .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-danger .bar-button-clear-ios-dark,.toolbar-ios-danger .bar-button-dark-ios,.toolbar-ios-danger .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-danger .bar-button-clear-ios-dark.activated,.toolbar-ios-danger .bar-button-dark-ios.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-danger .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-danger .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-danger .bar-button-clear-ios-optblue,.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue,.toolbar-ios-danger .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-danger .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-danger .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-danger .bar-button-clear-ios-optblue.activated,.toolbar-ios-danger .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-danger .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-danger .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-danger .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-danger .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-danger .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-danger,.bar-button-danger-ios,.bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.bar-button-clear-ios-danger:hover:not(.disable-hover),.bar-button-danger-ios:hover:not(.disable-hover),.bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.bar-button-clear-ios-danger.activated,.bar-button-danger-ios.activated,.bar-button-default.bar-button-ios-danger.activated{opacity:.4}.bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-light .toolbar-background-ios{background:#f4f4f4}.toolbar-ios-light .bar-button-clear-ios,.toolbar-ios-light .bar-button-default-ios,.toolbar-ios-light .toolbar-title-ios{color:#000}.toolbar-ios-light .bar-button-clear-ios-primary,.toolbar-ios-light .bar-button-default.bar-button-ios-primary,.toolbar-ios-light .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-light .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-light .bar-button-clear-ios-primary.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-light .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-light .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-light .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-light .bar-button-clear-ios-secondary,.toolbar-ios-light .bar-button-default.bar-button-ios-secondary,.toolbar-ios-light .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-light .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-light .bar-button-clear-ios-secondary.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-light .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-light .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-light .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-light .bar-button-clear-ios-danger,.toolbar-ios-light .bar-button-danger-ios,.toolbar-ios-light .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-light .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-light .bar-button-clear-ios-danger.activated,.toolbar-ios-light .bar-button-danger-ios.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-light .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-light .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-light .bar-button-clear-ios-light,.toolbar-ios-light .bar-button-default.bar-button-ios-light,.toolbar-ios-light .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-light .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-light .bar-button-clear-ios-light.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-light .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-light .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-light .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-light .bar-button-clear-ios-dark,.toolbar-ios-light .bar-button-dark-ios,.toolbar-ios-light .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-light .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-light .bar-button-clear-ios-dark.activated,.toolbar-ios-light .bar-button-dark-ios.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-light .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-light .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-light .bar-button-clear-ios-optblue,.toolbar-ios-light .bar-button-default.bar-button-ios-optblue,.toolbar-ios-light .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-light .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-light .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-light .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-light .bar-button-clear-ios-optblue.activated,.toolbar-ios-light .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-light .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-light .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-light .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-light .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-light .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-light,.bar-button-default.bar-button-ios-light,.bar-button-light-ios{color:#f4f4f4;background-color:transparent}.bar-button-clear-ios-light:hover:not(.disable-hover),.bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.bar-button-clear-ios-light.activated,.bar-button-default.bar-button-ios-light.activated,.bar-button-light-ios.activated{opacity:.4}.bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-dark .toolbar-background-ios{background:#222}.toolbar-ios-dark .bar-button-clear-ios,.toolbar-ios-dark .bar-button-default-ios,.toolbar-ios-dark .toolbar-title-ios{color:#fff}.toolbar-ios-dark .bar-button-clear-ios-primary,.toolbar-ios-dark .bar-button-default.bar-button-ios-primary,.toolbar-ios-dark .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-dark .bar-button-clear-ios-primary.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-dark .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-dark .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-dark .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-dark .bar-button-clear-ios-secondary,.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary,.toolbar-ios-dark .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-dark .bar-button-clear-ios-secondary.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-dark .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-dark .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-dark .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-dark .bar-button-clear-ios-danger,.toolbar-ios-dark .bar-button-danger-ios,.toolbar-ios-dark .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-dark .bar-button-clear-ios-danger.activated,.toolbar-ios-dark .bar-button-danger-ios.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-dark .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-dark .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-dark .bar-button-clear-ios-light,.toolbar-ios-dark .bar-button-default.bar-button-ios-light,.toolbar-ios-dark .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-dark .bar-button-clear-ios-light.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-dark .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-dark .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-dark .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-dark .bar-button-clear-ios-dark,.toolbar-ios-dark .bar-button-dark-ios,.toolbar-ios-dark .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-dark .bar-button-clear-ios-dark.activated,.toolbar-ios-dark .bar-button-dark-ios.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-dark .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-dark .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-dark .bar-button-clear-ios-optblue,.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue,.toolbar-ios-dark .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-dark .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-dark .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-dark .bar-button-clear-ios-optblue.activated,.toolbar-ios-dark .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-dark .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-dark .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-dark .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-dark .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-dark .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-dark,.bar-button-dark-ios,.bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.bar-button-clear-ios-dark:hover:not(.disable-hover),.bar-button-dark-ios:hover:not(.disable-hover),.bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.bar-button-clear-ios-dark.activated,.bar-button-dark-ios.activated,.bar-button-default.bar-button-ios-dark.activated{opacity:.4}.bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.bar-button-solid-ios-dark{color:#fff;background-color:#222}.bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-optblue .toolbar-background-ios{background:#e00201}.toolbar-ios-optblue .bar-button-clear-ios,.toolbar-ios-optblue .bar-button-default-ios,.toolbar-ios-optblue .toolbar-title-ios{color:#fff}.toolbar-ios-optblue .bar-button-clear-ios-primary,.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary,.toolbar-ios-optblue .bar-button-primary-ios{color:#673ab7;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-primary:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-primary-ios:hover:not(.disable-hover){color:#673ab7}.toolbar-ios-optblue .bar-button-clear-ios-primary.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-primary.activated,.toolbar-ios-optblue .bar-button-primary-ios.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-primary{border-color:#673ab7;color:#673ab7;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-primary.activated{color:#fff;background-color:#673ab7}.toolbar-ios-optblue .bar-button-solid-ios-primary{color:#fff;background-color:#673ab7}.toolbar-ios-optblue .bar-button-solid-ios-primary.activated{color:#fff;background-color:#734abd}.toolbar-ios-optblue .bar-button-clear-ios-secondary,.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary,.toolbar-ios-optblue .bar-button-secondary-ios{color:#32db64;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-secondary:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-secondary-ios:hover:not(.disable-hover){color:#32db64}.toolbar-ios-optblue .bar-button-clear-ios-secondary.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-secondary.activated,.toolbar-ios-optblue .bar-button-secondary-ios.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-secondary{border-color:#32db64;color:#32db64;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-secondary.activated{color:#fff;background-color:#32db64}.toolbar-ios-optblue .bar-button-solid-ios-secondary{color:#fff;background-color:#32db64}.toolbar-ios-optblue .bar-button-solid-ios-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-ios-optblue .bar-button-clear-ios-danger,.toolbar-ios-optblue .bar-button-danger-ios,.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger{color:#f53d3d;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-danger:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-danger-ios:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-ios-optblue .bar-button-clear-ios-danger.activated,.toolbar-ios-optblue .bar-button-danger-ios.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-danger.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-danger{border-color:#f53d3d;color:#f53d3d;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-danger.activated{color:#fff;background-color:#f53d3d}.toolbar-ios-optblue .bar-button-solid-ios-danger{color:#fff;background-color:#f53d3d}.toolbar-ios-optblue .bar-button-solid-ios-danger.activated{color:#fff;background-color:#e13838}.toolbar-ios-optblue .bar-button-clear-ios-light,.toolbar-ios-optblue .bar-button-default.bar-button-ios-light,.toolbar-ios-optblue .bar-button-light-ios{color:#f4f4f4;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-light:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-light:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-light-ios:hover:not(.disable-hover){color:#f4f4f4}.toolbar-ios-optblue .bar-button-clear-ios-light.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-light.activated,.toolbar-ios-optblue .bar-button-light-ios.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-light{border-color:#f4f4f4;color:#f4f4f4;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-light.activated{color:#000;background-color:#f4f4f4}.toolbar-ios-optblue .bar-button-solid-ios-light{color:#000;background-color:#f4f4f4}.toolbar-ios-optblue .bar-button-solid-ios-light.activated{color:#000;background-color:#e0e0e0}.toolbar-ios-optblue .bar-button-clear-ios-dark,.toolbar-ios-optblue .bar-button-dark-ios,.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark{color:#222;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-dark:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-dark-ios:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark:hover:not(.disable-hover){color:#222}.toolbar-ios-optblue .bar-button-clear-ios-dark.activated,.toolbar-ios-optblue .bar-button-dark-ios.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-dark.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-dark{border-color:#222;color:#222;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-dark.activated{color:#fff;background-color:#222}.toolbar-ios-optblue .bar-button-solid-ios-dark{color:#fff;background-color:#222}.toolbar-ios-optblue .bar-button-solid-ios-dark.activated{color:#fff;background-color:#343434}.toolbar-ios-optblue .bar-button-clear-ios-optblue,.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue,.toolbar-ios-optblue .bar-button-optblue-ios{color:#e00201;background-color:transparent}.toolbar-ios-optblue .bar-button-clear-ios-optblue:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.toolbar-ios-optblue .bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.toolbar-ios-optblue .bar-button-clear-ios-optblue.activated,.toolbar-ios-optblue .bar-button-default.bar-button-ios-optblue.activated,.toolbar-ios-optblue .bar-button-optblue-ios.activated{opacity:.4}.toolbar-ios-optblue .bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.toolbar-ios-optblue .bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.toolbar-ios-optblue .bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.toolbar-ios-optblue .bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-ios-optblue,.bar-button-default.bar-button-ios-optblue,.bar-button-optblue-ios{color:#e00201;background-color:transparent}.bar-button-clear-ios-optblue:hover:not(.disable-hover),.bar-button-default.bar-button-ios-optblue:hover:not(.disable-hover),.bar-button-optblue-ios:hover:not(.disable-hover){color:#e00201}.bar-button-clear-ios-optblue.activated,.bar-button-default.bar-button-ios-optblue.activated,.bar-button-optblue-ios.activated{opacity:.4}.bar-button-outline-ios-optblue{border-color:#e00201;color:#e00201;background-color:transparent}.bar-button-outline-ios-optblue.activated{color:#fff;background-color:#e00201}.bar-button-solid-ios-optblue{color:#fff;background-color:#e00201}.bar-button-solid-ios-optblue.activated{color:#fff;background-color:#e21615}.bar-button-strong-ios{font-weight:600}.toolbar-md{padding:4px;min-height:56px}.toolbar-background-md{border-color:#b2b2b2;background:#f8f8f8}.footer-md::before,.header-md::after,.tabs-md[tabsPlacement=bottom]>.tabbar::before,.tabs-md[tabsPlacement=top]>.tabbar::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:""}.footer-md::before,.tabs-md[tabsPlacement=bottom]>.tabbar::before{top:-2px;bottom:auto;background-position:left 0 top 0;height:2px}.footer-md[no-border]::before,.header-md[no-border]::after,.tabs-md[tabsPlacement=bottom][no-border]>.tabbar::before,.tabs-md[tabsPlacement=top][no-border]>.tabbar::after{display:none}.toolbar-content-md{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3;min-width:0;max-width:100%}.toolbar-title-md{padding:0 12px;font-size:2rem;font-weight:500;color:#424242}.bar-buttons-md{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4;-webkit-transform:translateZ(0);transform:translateZ(0)}.bar-buttons-md[left]{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bar-button-md:first-child{margin-left:0}.bar-buttons-md[end]{text-align:right;text-align:end;-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bar-buttons-md[right]{text-align:right;-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bar-button-md{margin:0 .2rem;padding:0 5px;border-radius:2px;height:32px;border:0;font-size:1.4rem;font-weight:500;text-transform:uppercase}.bar-button-outline-md,.bar-button-solid-md{overflow:hidden}.bar-button-outline-md{border-width:1px;border-style:solid;border-color:#424242;color:#424242;background-color:transparent}.bar-button-outline-md:hover:not(.disable-hover){opacity:.4}.bar-button-outline-md.activated{background-color:transparent}.bar-button-outline-md .button-effect{background-color:#424242}.bar-button-solid-md{color:#fff;background-color:#424242}.bar-button-solid-md:hover:not(.disable-hover){color:#fff}.bar-button-solid-md.activated{color:#fff;background-color:#515151}.bar-button-md.bar-button-icon-start ion-icon{padding-right:.3em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-md.bar-button-icon-end ion-icon{padding-left:.4em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-md[icon-only]{padding:0}.bar-button-md[icon-only] ion-icon{padding:0 .1em;min-width:28px;font-size:1.8em;line-height:.67;pointer-events:none}.back-button-md{margin:0 6px;min-width:44px;-webkit-box-shadow:none;box-shadow:none}.back-button-icon-md{margin:0;padding:0 6px;text-align:left;text-align:start;font-size:2.4rem;font-weight:400}.bar-button-menutoggle-md{margin:0 6px;padding:0 2px;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;min-width:44px}.bar-button-menutoggle-md ion-icon{padding:0 6px;font-size:2.4rem}.bar-button-menutoggle-md[end],.bar-button-menutoggle-md[right]{margin:0 2px;-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7;min-width:28px}.bar-button-clear-md-default,.bar-button-default-md,.bar-button-md-default{color:#424242;background-color:transparent}.bar-button-clear-md-default:hover:not(.disable-hover),.bar-button-default-md:hover:not(.disable-hover),.bar-button-md-default:hover:not(.disable-hover){color:#424242}.bar-button-clear-md,.bar-button-clear-md-clear,.bar-button-md-clear{color:#424242;background-color:transparent}.bar-button-clear-md-clear:hover:not(.disable-hover),.bar-button-clear-md:hover:not(.disable-hover),.bar-button-md-clear:hover:not(.disable-hover){color:#424242}.toolbar-md-primary .toolbar-background-md{background:#673ab7}.toolbar-md-primary .bar-button-clear-md,.toolbar-md-primary .bar-button-default-md,.toolbar-md-primary .bar-button-outline-md,.toolbar-md-primary .toolbar-title-md{color:#fff}.toolbar-md-primary .bar-button-clear-md .button-effect,.toolbar-md-primary .bar-button-default-md .button-effect,.toolbar-md-primary .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-primary .bar-button-outline-md{border-color:#fff}.toolbar-md-primary .bar-button-clear-md-primary,.toolbar-md-primary .bar-button-md-primary,.toolbar-md-primary .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-primary .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-primary .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-primary .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-primary .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-primary .bar-button-clear-md-secondary,.toolbar-md-primary .bar-button-md-secondary,.toolbar-md-primary .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-primary .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-primary .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-primary .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-primary .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-primary .bar-button-clear-md-danger,.toolbar-md-primary .bar-button-danger-md,.toolbar-md-primary .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-primary .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-primary .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-primary .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-primary .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-primary .bar-button-clear-md-light,.toolbar-md-primary .bar-button-light-md,.toolbar-md-primary .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-primary .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-primary .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-primary .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-primary .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-primary .bar-button-clear-md-dark,.toolbar-md-primary .bar-button-dark-md,.toolbar-md-primary .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-primary .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-primary .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-primary .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-primary .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-primary .bar-button-clear-md-optblue,.toolbar-md-primary .bar-button-md-optblue,.toolbar-md-primary .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-primary .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-primary .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-primary .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-primary .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-primary .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-primary .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-primary .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-primary .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-primary,.bar-button-md-primary,.bar-button-primary-md{color:#673ab7;background-color:transparent}.bar-button-clear-md-primary:hover:not(.disable-hover),.bar-button-md-primary:hover:not(.disable-hover),.bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.bar-button-outline-md-primary.activated{background-color:transparent}.bar-button-outline-md-primary .button-effect{background-color:#734abd}.bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-secondary .toolbar-background-md{background:#32db64}.toolbar-md-secondary .bar-button-clear-md,.toolbar-md-secondary .bar-button-default-md,.toolbar-md-secondary .bar-button-outline-md,.toolbar-md-secondary .toolbar-title-md{color:#fff}.toolbar-md-secondary .bar-button-clear-md .button-effect,.toolbar-md-secondary .bar-button-default-md .button-effect,.toolbar-md-secondary .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-secondary .bar-button-outline-md{border-color:#fff}.toolbar-md-secondary .bar-button-clear-md-primary,.toolbar-md-secondary .bar-button-md-primary,.toolbar-md-secondary .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-secondary .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-secondary .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-secondary .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-secondary .bar-button-clear-md-secondary,.toolbar-md-secondary .bar-button-md-secondary,.toolbar-md-secondary .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-secondary .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-secondary .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-secondary .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-secondary .bar-button-clear-md-danger,.toolbar-md-secondary .bar-button-danger-md,.toolbar-md-secondary .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-secondary .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-secondary .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-secondary .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-secondary .bar-button-clear-md-light,.toolbar-md-secondary .bar-button-light-md,.toolbar-md-secondary .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-secondary .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-secondary .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-secondary .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-secondary .bar-button-clear-md-dark,.toolbar-md-secondary .bar-button-dark-md,.toolbar-md-secondary .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-secondary .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-secondary .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-secondary .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-secondary .bar-button-clear-md-optblue,.toolbar-md-secondary .bar-button-md-optblue,.toolbar-md-secondary .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-secondary .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-secondary .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-secondary .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-secondary .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-secondary .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-secondary .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-secondary,.bar-button-md-secondary,.bar-button-secondary-md{color:#32db64;background-color:transparent}.bar-button-clear-md-secondary:hover:not(.disable-hover),.bar-button-md-secondary:hover:not(.disable-hover),.bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.bar-button-outline-md-secondary.activated{background-color:transparent}.bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-danger .toolbar-background-md{background:#f53d3d}.toolbar-md-danger .bar-button-clear-md,.toolbar-md-danger .bar-button-default-md,.toolbar-md-danger .bar-button-outline-md,.toolbar-md-danger .toolbar-title-md{color:#fff}.toolbar-md-danger .bar-button-clear-md .button-effect,.toolbar-md-danger .bar-button-default-md .button-effect,.toolbar-md-danger .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-danger .bar-button-outline-md{border-color:#fff}.toolbar-md-danger .bar-button-clear-md-primary,.toolbar-md-danger .bar-button-md-primary,.toolbar-md-danger .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-danger .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-danger .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-danger .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-danger .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-danger .bar-button-clear-md-secondary,.toolbar-md-danger .bar-button-md-secondary,.toolbar-md-danger .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-danger .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-danger .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-danger .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-danger .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-danger .bar-button-clear-md-danger,.toolbar-md-danger .bar-button-danger-md,.toolbar-md-danger .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-danger .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-danger .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-danger .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-danger .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-danger .bar-button-clear-md-light,.toolbar-md-danger .bar-button-light-md,.toolbar-md-danger .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-danger .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-danger .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-danger .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-danger .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-danger .bar-button-clear-md-dark,.toolbar-md-danger .bar-button-dark-md,.toolbar-md-danger .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-danger .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-danger .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-danger .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-danger .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-danger .bar-button-clear-md-optblue,.toolbar-md-danger .bar-button-md-optblue,.toolbar-md-danger .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-danger .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-danger .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-danger .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-danger .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-danger .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-danger .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-danger .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-danger .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-danger,.bar-button-danger-md,.bar-button-md-danger{color:#f53d3d;background-color:transparent}.bar-button-clear-md-danger:hover:not(.disable-hover),.bar-button-danger-md:hover:not(.disable-hover),.bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.bar-button-outline-md-danger.activated{background-color:transparent}.bar-button-outline-md-danger .button-effect{background-color:#e13838}.bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-light .toolbar-background-md{background:#f4f4f4}.toolbar-md-light .bar-button-clear-md,.toolbar-md-light .bar-button-default-md,.toolbar-md-light .bar-button-outline-md,.toolbar-md-light .toolbar-title-md{color:#424242}.toolbar-md-light .bar-button-clear-md .button-effect,.toolbar-md-light .bar-button-default-md .button-effect,.toolbar-md-light .bar-button-outline-md .button-effect{background-color:#424242}.toolbar-md-light .bar-button-outline-md{border-color:#424242}.toolbar-md-light .bar-button-clear-md-primary,.toolbar-md-light .bar-button-md-primary,.toolbar-md-light .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-light .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-light .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-light .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-light .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-light .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-light .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-light .bar-button-clear-md-secondary,.toolbar-md-light .bar-button-md-secondary,.toolbar-md-light .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-light .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-light .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-light .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-light .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-light .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-light .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-light .bar-button-clear-md-danger,.toolbar-md-light .bar-button-danger-md,.toolbar-md-light .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-light .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-light .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-light .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-light .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-light .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-light .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-light .bar-button-clear-md-light,.toolbar-md-light .bar-button-light-md,.toolbar-md-light .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-light .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-light .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-light .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-light .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-light .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-light .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-light .bar-button-clear-md-dark,.toolbar-md-light .bar-button-dark-md,.toolbar-md-light .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-light .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-light .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-light .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-light .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-light .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-light .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-light .bar-button-clear-md-optblue,.toolbar-md-light .bar-button-md-optblue,.toolbar-md-light .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-light .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-light .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-light .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-light .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-light .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-light .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-light .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-light .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-light,.bar-button-light-md,.bar-button-md-light{color:#f4f4f4;background-color:transparent}.bar-button-clear-md-light:hover:not(.disable-hover),.bar-button-light-md:hover:not(.disable-hover),.bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.bar-button-outline-md-light.activated{background-color:transparent}.bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-dark .toolbar-background-md{background:#222}.toolbar-md-dark .bar-button-clear-md,.toolbar-md-dark .bar-button-default-md,.toolbar-md-dark .bar-button-outline-md,.toolbar-md-dark .toolbar-title-md{color:#fff}.toolbar-md-dark .bar-button-clear-md .button-effect,.toolbar-md-dark .bar-button-default-md .button-effect,.toolbar-md-dark .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-dark .bar-button-outline-md{border-color:#fff}.toolbar-md-dark .bar-button-clear-md-primary,.toolbar-md-dark .bar-button-md-primary,.toolbar-md-dark .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-dark .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-dark .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-dark .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-dark .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-dark .bar-button-clear-md-secondary,.toolbar-md-dark .bar-button-md-secondary,.toolbar-md-dark .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-dark .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-dark .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-dark .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-dark .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-dark .bar-button-clear-md-danger,.toolbar-md-dark .bar-button-danger-md,.toolbar-md-dark .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-dark .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-dark .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-dark .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-dark .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-dark .bar-button-clear-md-light,.toolbar-md-dark .bar-button-light-md,.toolbar-md-dark .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-dark .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-dark .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-dark .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-dark .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-dark .bar-button-clear-md-dark,.toolbar-md-dark .bar-button-dark-md,.toolbar-md-dark .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-dark .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-dark .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-dark .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-dark .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-dark .bar-button-clear-md-optblue,.toolbar-md-dark .bar-button-md-optblue,.toolbar-md-dark .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-dark .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-dark .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-dark .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-dark .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-dark .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-dark .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-dark .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-dark .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-dark,.bar-button-dark-md,.bar-button-md-dark{color:#222;background-color:transparent}.bar-button-clear-md-dark:hover:not(.disable-hover),.bar-button-dark-md:hover:not(.disable-hover),.bar-button-md-dark:hover:not(.disable-hover){color:#222}.bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.bar-button-outline-md-dark.activated{background-color:transparent}.bar-button-outline-md-dark .button-effect{background-color:#343434}.bar-button-solid-md-dark{color:#fff;background-color:#222}.bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-optblue .toolbar-background-md{background:#e00201}.toolbar-md-optblue .bar-button-clear-md,.toolbar-md-optblue .bar-button-default-md,.toolbar-md-optblue .bar-button-outline-md,.toolbar-md-optblue .toolbar-title-md{color:#fff}.toolbar-md-optblue .bar-button-clear-md .button-effect,.toolbar-md-optblue .bar-button-default-md .button-effect,.toolbar-md-optblue .bar-button-outline-md .button-effect{background-color:#fff}.toolbar-md-optblue .bar-button-outline-md{border-color:#fff}.toolbar-md-optblue .bar-button-clear-md-primary,.toolbar-md-optblue .bar-button-md-primary,.toolbar-md-optblue .bar-button-primary-md{color:#673ab7;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-primary:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-primary:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-primary-md:hover:not(.disable-hover){color:#673ab7}.toolbar-md-optblue .bar-button-outline-md-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-primary.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-primary .button-effect{background-color:#734abd}.toolbar-md-optblue .bar-button-solid-md-primary{color:#fff;background-color:#673ab7}.toolbar-md-optblue .bar-button-solid-md-primary.activated{color:#fff;background-color:#734abd}.toolbar-md-optblue .bar-button-clear-md-secondary,.toolbar-md-optblue .bar-button-md-secondary,.toolbar-md-optblue .bar-button-secondary-md{color:#32db64;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-secondary:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-secondary:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-secondary-md:hover:not(.disable-hover){color:#32db64}.toolbar-md-optblue .bar-button-outline-md-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-secondary.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-secondary .button-effect{background-color:#2ec95c}.toolbar-md-optblue .bar-button-solid-md-secondary{color:#fff;background-color:#32db64}.toolbar-md-optblue .bar-button-solid-md-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-md-optblue .bar-button-clear-md-danger,.toolbar-md-optblue .bar-button-danger-md,.toolbar-md-optblue .bar-button-md-danger{color:#f53d3d;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-danger:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-danger-md:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-md-optblue .bar-button-outline-md-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-danger.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-danger .button-effect{background-color:#e13838}.toolbar-md-optblue .bar-button-solid-md-danger{color:#fff;background-color:#f53d3d}.toolbar-md-optblue .bar-button-solid-md-danger.activated{color:#fff;background-color:#e13838}.toolbar-md-optblue .bar-button-clear-md-light,.toolbar-md-optblue .bar-button-light-md,.toolbar-md-optblue .bar-button-md-light{color:#f4f4f4;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-light:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-light-md:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-md-optblue .bar-button-outline-md-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-light.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-light .button-effect{background-color:#e0e0e0}.toolbar-md-optblue .bar-button-solid-md-light{color:#424242;background-color:#f4f4f4}.toolbar-md-optblue .bar-button-solid-md-light.activated{color:#424242;background-color:#e0e0e0}.toolbar-md-optblue .bar-button-clear-md-dark,.toolbar-md-optblue .bar-button-dark-md,.toolbar-md-optblue .bar-button-md-dark{color:#222;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-dark:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-dark-md:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-dark:hover:not(.disable-hover){color:#222}.toolbar-md-optblue .bar-button-outline-md-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-dark.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-dark .button-effect{background-color:#343434}.toolbar-md-optblue .bar-button-solid-md-dark{color:#fff;background-color:#222}.toolbar-md-optblue .bar-button-solid-md-dark.activated{color:#fff;background-color:#343434}.toolbar-md-optblue .bar-button-clear-md-optblue,.toolbar-md-optblue .bar-button-md-optblue,.toolbar-md-optblue .bar-button-optblue-md{color:#e00201;background-color:transparent}.toolbar-md-optblue .bar-button-clear-md-optblue:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-md-optblue:hover:not(.disable-hover),.toolbar-md-optblue .bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.toolbar-md-optblue .bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-optblue.activated{background-color:transparent}.toolbar-md-optblue .bar-button-outline-md-optblue .button-effect{background-color:#e21615}.toolbar-md-optblue .bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.toolbar-md-optblue .bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-md-optblue,.bar-button-md-optblue,.bar-button-optblue-md{color:#e00201;background-color:transparent}.bar-button-clear-md-optblue:hover:not(.disable-hover),.bar-button-md-optblue:hover:not(.disable-hover),.bar-button-optblue-md:hover:not(.disable-hover){color:#e00201}.bar-button-outline-md-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.bar-button-outline-md-optblue.activated{background-color:transparent}.bar-button-outline-md-optblue .button-effect{background-color:#e21615}.bar-button-solid-md-optblue{color:#fff;background-color:#e00201}.bar-button-solid-md-optblue.activated{color:#fff;background-color:#e21615}.bar-button-strong-md{font-weight:700}.toolbar-wp{padding:4px;min-height:46px}.toolbar-background-wp{border-color:#b2b2b2;background:#f8f8f8}.toolbar-content-wp{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3;min-width:0;max-width:100%}.toolbar-title-wp{font-size:1.5rem;font-weight:700;text-transform:uppercase;color:#000;padding:0 6px}.bar-buttons-wp{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4;-webkit-transform:translateZ(0);transform:translateZ(0)}.bar-buttons-wp[left]{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bar-buttons-wp[left] .bar-button:first-child{margin-left:0}.bar-buttons-wp[end]{text-align:right;text-align:end;-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bar-buttons-wp[right]{text-align:right;-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bar-button-wp{margin:0 .2rem;padding:0 5px;border-radius:2px;height:32px;border:0;font-size:1.4rem;font-weight:500;text-transform:uppercase}.bar-button-outline-wp,.bar-button-solid-wp{overflow:hidden}.bar-button-outline-wp{border-width:1px;border-style:solid;border-color:#000;color:#000;background-color:transparent}.bar-button-outline-wp:hover:not(.disable-hover){opacity:.4}.bar-button-outline-wp.activated{color:#fff;background-color:#000}.bar-button-solid-wp{color:#fff;background-color:#000}.bar-button-solid-wp:hover:not(.disable-hover){color:#fff}.bar-button-solid-wp.activated{color:#fff;background-color:#141414}.bar-button-wp.bar-button-icon-start ion-icon{padding-right:.3em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-wp.bar-button-icon-end ion-icon{padding-left:.4em;font-size:1.4em;line-height:.67;pointer-events:none}.bar-button-wp[icon-only]{padding:0}.bar-button-wp[icon-only] ion-icon{padding:0 .1em;min-width:28px;font-size:1.8em;line-height:.67;pointer-events:none}.back-button-wp{margin:0 6px;min-width:44px;-webkit-box-shadow:none;box-shadow:none}.back-button-icon-wp{text-align:left;text-align:start;margin:0;padding:0 6px;font-size:2.4rem;font-weight:400}.bar-button-menutoggle-wp{margin:0 6px;padding:0 2px;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;min-width:44px}.bar-button-menutoggle-wp ion-icon{padding:0 6px;font-size:2.4rem}.bar-button-menutoggle-wp[end],.bar-button-menutoggle-wp[right]{margin:0 2px;-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7;min-width:28px}.bar-button-clear-wp-default,.bar-button-default-wp,.bar-button-wp-default{color:#000;background-color:transparent}.bar-button-clear-wp-default:hover:not(.disable-hover),.bar-button-default-wp:hover:not(.disable-hover),.bar-button-wp-default:hover:not(.disable-hover){color:#000}.bar-button-clear-wp,.bar-button-clear-wp-clear,.bar-button-wp-clear{color:#000;background-color:transparent}.bar-button-clear-wp-clear:hover:not(.disable-hover),.bar-button-clear-wp:hover:not(.disable-hover),.bar-button-wp-clear:hover:not(.disable-hover){color:#000}.toolbar-wp-primary .toolbar-background-wp{background:#673ab7}.toolbar-wp-primary .bar-button-clear-wp,.toolbar-wp-primary .bar-button-default-wp,.toolbar-wp-primary .bar-button-outline-wp,.toolbar-wp-primary .toolbar-title-wp{color:#fff}.toolbar-wp-primary .bar-button-outline-wp{border-color:#fff}.toolbar-wp-primary .bar-button-clear-wp-primary,.toolbar-wp-primary .bar-button-primary-wp,.toolbar-wp-primary .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-primary .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-primary .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-primary .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-primary .bar-button-clear-wp-secondary,.toolbar-wp-primary .bar-button-secondary-wp,.toolbar-wp-primary .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-primary .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-primary .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-primary .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-primary .bar-button-clear-wp-danger,.toolbar-wp-primary .bar-button-danger-wp,.toolbar-wp-primary .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-primary .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-primary .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-primary .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-primary .bar-button-clear-wp-light,.toolbar-wp-primary .bar-button-light-wp,.toolbar-wp-primary .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-primary .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-primary .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-primary .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-primary .bar-button-clear-wp-dark,.toolbar-wp-primary .bar-button-dark-wp,.toolbar-wp-primary .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-primary .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-primary .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-primary .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-primary .bar-button-clear-wp-optblue,.toolbar-wp-primary .bar-button-optblue-wp,.toolbar-wp-primary .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-primary .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-primary .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-primary .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-primary .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-primary .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-primary .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-primary,.bar-button-primary-wp,.bar-button-wp-primary{color:#673ab7;background-color:transparent}.bar-button-clear-wp-primary:hover:not(.disable-hover),.bar-button-primary-wp:hover:not(.disable-hover),.bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-secondary .toolbar-background-wp{background:#32db64}.toolbar-wp-secondary .bar-button-clear-wp,.toolbar-wp-secondary .bar-button-default-wp,.toolbar-wp-secondary .bar-button-outline-wp,.toolbar-wp-secondary .toolbar-title-wp{color:#fff}.toolbar-wp-secondary .bar-button-outline-wp{border-color:#fff}.toolbar-wp-secondary .bar-button-clear-wp-primary,.toolbar-wp-secondary .bar-button-primary-wp,.toolbar-wp-secondary .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-secondary .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-secondary .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-secondary .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-secondary .bar-button-clear-wp-secondary,.toolbar-wp-secondary .bar-button-secondary-wp,.toolbar-wp-secondary .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-secondary .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-secondary .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-secondary .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-secondary .bar-button-clear-wp-danger,.toolbar-wp-secondary .bar-button-danger-wp,.toolbar-wp-secondary .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-secondary .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-secondary .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-secondary .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-secondary .bar-button-clear-wp-light,.toolbar-wp-secondary .bar-button-light-wp,.toolbar-wp-secondary .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-secondary .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-secondary .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-secondary .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-secondary .bar-button-clear-wp-dark,.toolbar-wp-secondary .bar-button-dark-wp,.toolbar-wp-secondary .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-secondary .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-secondary .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-secondary .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-secondary .bar-button-clear-wp-optblue,.toolbar-wp-secondary .bar-button-optblue-wp,.toolbar-wp-secondary .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-secondary .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-secondary .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-secondary .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-secondary .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-secondary .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-secondary .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-secondary,.bar-button-secondary-wp,.bar-button-wp-secondary{color:#32db64;background-color:transparent}.bar-button-clear-wp-secondary:hover:not(.disable-hover),.bar-button-secondary-wp:hover:not(.disable-hover),.bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-danger .toolbar-background-wp{background:#f53d3d}.toolbar-wp-danger .bar-button-clear-wp,.toolbar-wp-danger .bar-button-default-wp,.toolbar-wp-danger .bar-button-outline-wp,.toolbar-wp-danger .toolbar-title-wp{color:#fff}.toolbar-wp-danger .bar-button-outline-wp{border-color:#fff}.toolbar-wp-danger .bar-button-clear-wp-primary,.toolbar-wp-danger .bar-button-primary-wp,.toolbar-wp-danger .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-danger .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-danger .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-danger .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-danger .bar-button-clear-wp-secondary,.toolbar-wp-danger .bar-button-secondary-wp,.toolbar-wp-danger .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-danger .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-danger .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-danger .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-danger .bar-button-clear-wp-danger,.toolbar-wp-danger .bar-button-danger-wp,.toolbar-wp-danger .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-danger .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-danger .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-danger .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-danger .bar-button-clear-wp-light,.toolbar-wp-danger .bar-button-light-wp,.toolbar-wp-danger .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-danger .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-danger .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-danger .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-danger .bar-button-clear-wp-dark,.toolbar-wp-danger .bar-button-dark-wp,.toolbar-wp-danger .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-danger .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-danger .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-danger .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-danger .bar-button-clear-wp-optblue,.toolbar-wp-danger .bar-button-optblue-wp,.toolbar-wp-danger .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-danger .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-danger .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-danger .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-danger .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-danger .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-danger .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-danger,.bar-button-danger-wp,.bar-button-wp-danger{color:#f53d3d;background-color:transparent}.bar-button-clear-wp-danger:hover:not(.disable-hover),.bar-button-danger-wp:hover:not(.disable-hover),.bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-light .toolbar-background-wp{background:#f4f4f4}.toolbar-wp-light .bar-button-clear-wp,.toolbar-wp-light .bar-button-default-wp,.toolbar-wp-light .bar-button-outline-wp,.toolbar-wp-light .toolbar-title-wp{color:#000}.toolbar-wp-light .bar-button-outline-wp{border-color:#000}.toolbar-wp-light .bar-button-clear-wp-primary,.toolbar-wp-light .bar-button-primary-wp,.toolbar-wp-light .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-light .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-light .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-light .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-light .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-light .bar-button-clear-wp-secondary,.toolbar-wp-light .bar-button-secondary-wp,.toolbar-wp-light .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-light .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-light .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-light .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-light .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-light .bar-button-clear-wp-danger,.toolbar-wp-light .bar-button-danger-wp,.toolbar-wp-light .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-light .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-light .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-light .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-light .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-light .bar-button-clear-wp-light,.toolbar-wp-light .bar-button-light-wp,.toolbar-wp-light .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-light .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-light .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-light .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-light .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-light .bar-button-clear-wp-dark,.toolbar-wp-light .bar-button-dark-wp,.toolbar-wp-light .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-light .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-light .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-light .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-light .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-light .bar-button-clear-wp-optblue,.toolbar-wp-light .bar-button-optblue-wp,.toolbar-wp-light .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-light .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-light .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-light .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-light .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-light .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-light .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-light .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-light,.bar-button-light-wp,.bar-button-wp-light{color:#f4f4f4;background-color:transparent}.bar-button-clear-wp-light:hover:not(.disable-hover),.bar-button-light-wp:hover:not(.disable-hover),.bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-dark .toolbar-background-wp{background:#222}.toolbar-wp-dark .bar-button-clear-wp,.toolbar-wp-dark .bar-button-default-wp,.toolbar-wp-dark .bar-button-outline-wp,.toolbar-wp-dark .toolbar-title-wp{color:#fff}.toolbar-wp-dark .bar-button-outline-wp{border-color:#fff}.toolbar-wp-dark .bar-button-clear-wp-primary,.toolbar-wp-dark .bar-button-primary-wp,.toolbar-wp-dark .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-dark .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-dark .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-dark .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-dark .bar-button-clear-wp-secondary,.toolbar-wp-dark .bar-button-secondary-wp,.toolbar-wp-dark .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-dark .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-dark .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-dark .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-dark .bar-button-clear-wp-danger,.toolbar-wp-dark .bar-button-danger-wp,.toolbar-wp-dark .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-dark .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-dark .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-dark .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-dark .bar-button-clear-wp-light,.toolbar-wp-dark .bar-button-light-wp,.toolbar-wp-dark .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-dark .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-dark .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-dark .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-dark .bar-button-clear-wp-dark,.toolbar-wp-dark .bar-button-dark-wp,.toolbar-wp-dark .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-dark .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-dark .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-dark .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-dark .bar-button-clear-wp-optblue,.toolbar-wp-dark .bar-button-optblue-wp,.toolbar-wp-dark .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-dark .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-dark .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-dark .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-dark .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-dark .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-dark .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-dark,.bar-button-dark-wp,.bar-button-wp-dark{color:#222;background-color:transparent}.bar-button-clear-wp-dark:hover:not(.disable-hover),.bar-button-dark-wp:hover:not(.disable-hover),.bar-button-wp-dark:hover:not(.disable-hover){color:#222}.bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.bar-button-solid-wp-dark{color:#fff;background-color:#222}.bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-optblue .toolbar-background-wp{background:#e00201}.toolbar-wp-optblue .bar-button-clear-wp,.toolbar-wp-optblue .bar-button-default-wp,.toolbar-wp-optblue .bar-button-outline-wp,.toolbar-wp-optblue .toolbar-title-wp{color:#fff}.toolbar-wp-optblue .bar-button-outline-wp{border-color:#fff}.toolbar-wp-optblue .bar-button-clear-wp-primary,.toolbar-wp-optblue .bar-button-primary-wp,.toolbar-wp-optblue .bar-button-wp-primary{color:#673ab7;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-primary:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-primary-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-primary:hover:not(.disable-hover){color:#673ab7}.toolbar-wp-optblue .bar-button-outline-wp-primary{border-color:#734abd;color:#734abd;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-optblue .bar-button-solid-wp-primary{color:#fff;background-color:#673ab7}.toolbar-wp-optblue .bar-button-solid-wp-primary.activated{color:#fff;background-color:#734abd}.toolbar-wp-optblue .bar-button-clear-wp-secondary,.toolbar-wp-optblue .bar-button-secondary-wp,.toolbar-wp-optblue .bar-button-wp-secondary{color:#32db64;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-secondary:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-secondary-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-secondary:hover:not(.disable-hover){color:#32db64}.toolbar-wp-optblue .bar-button-outline-wp-secondary{border-color:#2ec95c;color:#2ec95c;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-optblue .bar-button-solid-wp-secondary{color:#fff;background-color:#32db64}.toolbar-wp-optblue .bar-button-solid-wp-secondary.activated{color:#fff;background-color:#2ec95c}.toolbar-wp-optblue .bar-button-clear-wp-danger,.toolbar-wp-optblue .bar-button-danger-wp,.toolbar-wp-optblue .bar-button-wp-danger{color:#f53d3d;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-danger:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-danger-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-danger:hover:not(.disable-hover){color:#f53d3d}.toolbar-wp-optblue .bar-button-outline-wp-danger{border-color:#e13838;color:#e13838;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-optblue .bar-button-solid-wp-danger{color:#fff;background-color:#f53d3d}.toolbar-wp-optblue .bar-button-solid-wp-danger.activated{color:#fff;background-color:#e13838}.toolbar-wp-optblue .bar-button-clear-wp-light,.toolbar-wp-optblue .bar-button-light-wp,.toolbar-wp-optblue .bar-button-wp-light{color:#f4f4f4;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-light:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-light-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-light:hover:not(.disable-hover){color:#f4f4f4}.toolbar-wp-optblue .bar-button-outline-wp-light{border-color:#e0e0e0;color:#e0e0e0;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-optblue .bar-button-solid-wp-light{color:#000;background-color:#f4f4f4}.toolbar-wp-optblue .bar-button-solid-wp-light.activated{color:#000;background-color:#e0e0e0}.toolbar-wp-optblue .bar-button-clear-wp-dark,.toolbar-wp-optblue .bar-button-dark-wp,.toolbar-wp-optblue .bar-button-wp-dark{color:#222;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-dark:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-dark-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-dark:hover:not(.disable-hover){color:#222}.toolbar-wp-optblue .bar-button-outline-wp-dark{border-color:#343434;color:#343434;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-optblue .bar-button-solid-wp-dark{color:#fff;background-color:#222}.toolbar-wp-optblue .bar-button-solid-wp-dark.activated{color:#fff;background-color:#343434}.toolbar-wp-optblue .bar-button-clear-wp-optblue,.toolbar-wp-optblue .bar-button-optblue-wp,.toolbar-wp-optblue .bar-button-wp-optblue{color:#e00201;background-color:transparent}.toolbar-wp-optblue .bar-button-clear-wp-optblue:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-optblue-wp:hover:not(.disable-hover),.toolbar-wp-optblue .bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.toolbar-wp-optblue .bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.toolbar-wp-optblue .bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.toolbar-wp-optblue .bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.toolbar-wp-optblue .bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-clear-wp-optblue,.bar-button-optblue-wp,.bar-button-wp-optblue{color:#e00201;background-color:transparent}.bar-button-clear-wp-optblue:hover:not(.disable-hover),.bar-button-optblue-wp:hover:not(.disable-hover),.bar-button-wp-optblue:hover:not(.disable-hover){color:#e00201}.bar-button-outline-wp-optblue{border-color:#e21615;color:#e21615;background-color:transparent}.bar-button-outline-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-solid-wp-optblue{color:#fff;background-color:#e00201}.bar-button-solid-wp-optblue.activated{color:#fff;background-color:#e21615}.bar-button-strong-wp{font-weight:700}.text-ios-primary{color:#673ab7}.text-ios-secondary{color:#32db64}.text-ios-danger{color:#f53d3d}.text-ios-light{color:#f4f4f4}.text-ios-dark{color:#222}.text-ios-optblue{color:#e00201}.text-md-primary{color:#673ab7}.text-md-secondary{color:#32db64}.text-md-danger{color:#f53d3d}.text-md-light{color:#f4f4f4}.text-md-dark{color:#222}.text-md-optblue{color:#e00201}.text-wp-primary{color:#673ab7}.text-wp-secondary{color:#32db64}.text-wp-danger{color:#f53d3d}.text-wp-light{color:#f4f4f4}.text-wp-dark{color:#222}.text-wp-optblue{color:#e00201}.virtual-loading{opacity:0}.virtual-scroll{position:relative;contain:content}.virtual-scroll .virtual-position,.virtual-scroll .virtual-position.item{left:0;top:0;position:absolute;-webkit-transition-duration:0s;transition-duration:0s;contain:content}.virtual-scroll .virtual-last{display:none}.ios ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child,.ios ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child,.ios ion-nav>.ion-page>.toolbar.statusbar-padding:first-child,.ios ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.ios ion-tab>.ion-page>.toolbar.statusbar-padding:first-child,.ios ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.ios ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(44px + 20px);min-height:calc(44px + constant(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top))}.ios ion-menu>.menu-inner>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-nav>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-tab>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.ios ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.ios ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.ios ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.ios ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child ion-title,.ios ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child ion-title,.ios ion-nav>.ion-page>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-nav>.ion-page>.toolbar.statusbar-padding:first-child ion-title,.ios ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-title,.ios ion-tab>.ion-page>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-tab>.ion-page>.toolbar.statusbar-padding:first-child ion-title,.ios ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-title,.ios ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child ion-title{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);height:calc(44px + 20px);height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top));min-height:calc(44px + 20px);min-height:calc(44px + constant(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top))}@media only screen and (max-width:767px){.ios .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(44px + 20px);min-height:calc(44px + constant(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top))}.ios .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.ios .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.ios .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.ios .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-segment,.ios .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child ion-title{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);height:calc(44px + 20px);height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top));min-height:calc(44px + 20px);min-height:calc(44px + constant(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top))}}.ios .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.ios ion-footer .toolbar:last-child{padding-bottom:calc(constant(safe-area-inset-bottom) + 4px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px);min-height:calc(44px + constant(safe-area-inset-bottom));min-height:calc(44px + env(safe-area-inset-bottom))}.md ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child,.md ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child,.md ion-nav>.ion-page>.toolbar.statusbar-padding:first-child,.md ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.md ion-tab>.ion-page>.toolbar.statusbar-padding:first-child,.md ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.md ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(56px + 20px);min-height:calc(56px + constant(safe-area-inset-top));min-height:calc(56px + env(safe-area-inset-top))}.md ion-menu>.menu-inner>ion-content.statusbar-padding:first-child .scroll-content,.md ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.md ion-nav>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.md ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.md ion-tab>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.md ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.md ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.md ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.md ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}@media only screen and (max-width:767px){.md .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(56px + 20px);min-height:calc(56px + constant(safe-area-inset-top));min-height:calc(56px + env(safe-area-inset-top))}.md .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.md .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.md .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}}.md .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.md ion-footer .toolbar:last-child{padding-bottom:calc(constant(safe-area-inset-bottom) + 4px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px);min-height:calc(56px + constant(safe-area-inset-bottom));min-height:calc(56px + env(safe-area-inset-bottom))}.wp ion-menu>.menu-inner>.toolbar.statusbar-padding:first-child,.wp ion-menu>.menu-inner>ion-header>.toolbar.statusbar-padding:first-child,.wp ion-nav>.ion-page>.toolbar.statusbar-padding:first-child,.wp ion-nav>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.wp ion-tab>.ion-page>.toolbar.statusbar-padding:first-child,.wp ion-tab>.ion-page>ion-header>.toolbar.statusbar-padding:first-child,.wp ion-tabs>.ion-page.tab-subpage>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(46px + 20px);min-height:calc(46px + constant(safe-area-inset-top));min-height:calc(46px + env(safe-area-inset-top))}.wp ion-menu>.menu-inner>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-nav>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-tab>.ion-page>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content,.wp ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.wp ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-menu>.menu-inner>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-menu>.menu-inner>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-nav>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-nav>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-tab>.ion-page>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-tab>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content,.wp ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp ion-tabs>.ion-page.tab-subpage>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}@media only screen and (max-width:767px){.wp .modal-wrapper>.ion-page>ion-header>.toolbar.statusbar-padding:first-child{padding-top:calc(20px + 4px);padding-top:calc(constant(safe-area-inset-top) + 4px);padding-top:calc(env(safe-area-inset-top) + 4px);min-height:calc(46px + 20px);min-height:calc(46px + constant(safe-area-inset-top));min-height:calc(46px + env(safe-area-inset-top))}.wp .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child .scroll-content{padding-top:20px;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.wp .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding-top] .scroll-content,.wp .modal-wrapper>.ion-page>ion-header>ion-content.statusbar-padding:first-child[padding] .scroll-content{padding-top:calc(16px + 20px);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}}.wp .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.wp ion-footer .toolbar:last-child{padding-bottom:calc(constant(safe-area-inset-bottom) + 4px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px);min-height:calc(46px + constant(safe-area-inset-bottom));min-height:calc(46px + env(safe-area-inset-bottom))}image-viewer.ion-page{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;opacity:1}image-viewer.ion-page ion-navbar.toolbar .toolbar-background{background-color:transparent}image-viewer.ion-page ion-navbar.toolbar.toolbar-ios{padding-top:calc(20px + 4px)}image-viewer.ion-page ion-navbar .bar-button-default{color:#fff}image-viewer.ion-page .backdrop{will-change:opacity}image-viewer.ion-page .image-wrapper{position:relative;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:56px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}image-viewer.ion-page .image{will-change:transform}image-viewer.ion-page img{display:block;max-width:100%;max-height:100%;margin:0 auto}@font-face{font-family:Roboto;src:url(../assets/fonts/Roboto-Light.ttf)}*{font-family:Roboto;font-size:16px}.align-center{text-align:center}.highlight{background-color:#f4f4f4}.center{display:block;margin:0 auto}.vertical-center{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.top-radius{border-radius:10% 10% 0 0}.bottom-radius{border-radius:0 0 10% 10%}.round{border-radius:50%}.transparent-header .back-button,.transparent-header .toolbar-content{color:#fff}.transparent-header .toolbar-background,.transparent-header ion-header,.transparent-header ion-navbar{background:0 0!important;background-color:transparent!important}.transparent-header .header-md::after,.transparent-header .toolbar-background-ios{background-image:none;border-bottom:0}.transparent-header .footer-ios .toolbar-background-ios,.transparent-header .header-ios .toolbar-background-ios{border:0}#menu-right button{padding-left:16px}#menu-right ion-content{background:#00d2ff;background:-webkit-gradient(linear,right top,left top,from(#3a7bd5),to(#00d2ff));background:linear-gradient(to left,#3a7bd5,#00d2ff)}#menu-right .menu-inner{width:10vh}@media screen and (orientation:landscape){#menu-right .menu-inner{width:15vh}}#menu-right .active-menu-item{position:absolute;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #fff}#menu-right .label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}#menu-right .list-ios[no-lines] .item .item-inner,#menu-right .list-ios[no-lines] .item-block,#menu-right .list-ios[no-lines] ion-item-options,#menu-right .list-md[no-lines] .item .item-inner,#menu-right .list-md[no-lines] .item-block,#menu-right .list-md[no-lines] ion-item-options{padding:.3rem 0;background:0 0;color:#fff}#menu-right ion-icon{line-height:1}.icon-badge{top:0;right:0;background:#e00201;color:#fff;font-size:12px;position:absolute;padding:5px 8px;border-radius:15px}#menu-avatar .user-avatar{max-width:125px;height:125px;padding:.5em}#menu-avatar .label,#menu-avatar h3{color:#fff;font-weight:700;font-size:14px}#menu-avatar .item{background:0 0}#menu-avatar ion-content{background:#649173;background:-webkit-gradient(linear,right top,left top,from(#dbd5a4),to(#649173));background:linear-gradient(to left,#dbd5a4,#649173)}#menu-avatar .menu-inner{background:rgba(255,255,255,.3)}#menu-material .scroll-content .name{font-weight:500;margin-top:0;margin-left:0;font-size:24px}#menu-material .scroll-content .e-mail{margin-top:0;margin-bottom:5px}#menu-material .user-avatar{max-width:125px;height:125px;padding:.5em;height:12vh}#menu-material .label,#menu-material h3{color:#111;font-weight:500}#menu-material .menu-inner{-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)!important;box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)!important}#menu-material .menu-header{background-image:url(../assets/img/misc/sidemenubg.jpg);background-size:cover;color:#fff;padding-bottom:15px}#menu-material .item-md{background-color:rgba(255,255,255,.28)!important}#menu-material ion-icon{color:#111}#menu-dark .sidemenuHeader ion-toolbar .toolbar-background{background:#19152c;border:#19152c}#menu-dark .sidemenuHeader ion-toolbar ion-buttons button{color:#fff}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item{background:0 0;color:#fff}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item ion-avatar{background:#fff;color:#8835c3;border-radius:50%;text-align:center}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item ion-avatar h2{margin:0;font-size:25px;line-height:40px;color:#19152c}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item h2{font-size:12px;font-weight:400}#menu-dark .sidemenuHeader ion-toolbar .toolbar-content ion-item p{font-size:11px;font-weight:400;color:#fff}#menu-dark .menu{background:#19152c}#menu-dark .menu ion-list button{background:0 0;color:#c9c7d3;font-size:13px}#menu-dark .menu ion-list button .item-inner{border-bottom:1px solid #474456!important}#menu-dark .menu ion-list button .item-inner img{width:30px;height:30px;vertical-align:middle;margin-right:10px;margin-bottom:5px}page-auth .scroll-content{background-color:#eee}page-auth .mat-card{width:80%;margin-left:10%;margin-top:35%;border-radius:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-auth h4{font-weight:400}page-auth button.mat-primary{background-color:#e00201!important}page-auth .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-auth .rounded-circle{border-radius:50%!important}page-auth .img-fluid{max-width:40%;height:auto;margin-top:-70px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2);box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}page-auth ion-icon{font-size:2.2em}page-googleplaytab .SwipedTabs-indicatorSegment{-webkit-transition:.2s all;transition:.2s all;-webkit-transform-origin:top 0 left 0;transform-origin:top 0 left 0;height:1px;position:relative;top:-2px;background-color:#00f!important}page-googleplaytab .SwipedTabs-tabs ion-segment-button{border:none!important;color:#111!important;background-color:#fff!important;padding-left:16px!important;padding-right:20px!important}page-googleplaytab .SwipedTabs-tabs ion-segment-button.SwipedTabs-activeTab{color:#00f!important}page-googleplaytab .SwipedTabs-tabs{width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}page-googleplaytab .toolbar *{margin:0!important}page-googleplaytab .tabsContent .scroll-content{overflow-x:scroll!important}page-googleplaytab .tabsContent{height:50px!important}page-googleplaytab .segment-button{max-width:initial!important;-webkit-box-flex:1!important;-webkit-flex:auto!important;-ms-flex:auto!important;flex:auto!important;width:initial!important}page-googleplaytab .segment-md .segment-button{font-size:2rem}page-googleplaytab .scroll-content{background-color:#eee!important}page-googleplaytab .grid{padding:0}page-googleplaytab h1{margin:2px 0;font-size:2.2rem!important}page-googleplaytab .scroll-content{background-color:#eee!important;padding:0!important}page-googleplaytab .mat-card{-webkit-box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(156,39,176,.6)!important;box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(156,39,176,.6)!important;margin-bottom:3px}page-googleplaytab h2{font-size:2rem;font-weight:400}page-input .example-form{min-width:150px;max-width:500px;width:100%}page-input .example-full-width{width:100%}page-input .cusicon{padding-top:36px;font-size:23px;color:#3272b2}page-input mat-grid-tile{background:#fff!important}page-input .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:15s;animation-duration:15s;-webkit-transition:all .5s cubic-bezier(.36,-.64,.34,1.76);transition:all .5s cubic-bezier(.36,-.64,.34,1.76)}@font-face{src:url(../../assets/fonts/Roboto-Bold.ttf)!important}page-input .box{-webkit-box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(50,114,178,.59)!important;box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(50,114,178,.59)!important}page-input .scroll-content{background-color:#eee!important}page-input .mat-card{padding:7px 16px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-input *{font-size:14px}page-input .mat-card-title{margin-bottom:0}page-input .button-md-primary{background-color:#e00201!important;margin-bottom:0!important;height:50px}page-input .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-input .fab-md-optblue{-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-input ion-footer{position:absolute}page-input .cardinfo{font-size:19px!important;padding-bottom:30px!important}page-login .scroll-content{background-image:url(../assets/img/misc/login.jpg);background-size:cover}page-login .form{margin:22px;font:inherit;color:inherit}page-login .mat-card{margin-top:50%;background-color:rgba(255,255,255,.57);border-radius:10px}page-login .login-session{margin-top:50%}page-login img{height:70px!important}page-login *{font-size:25px!important}page-login button.mat-primary{background-color:#e00201!important}page-login .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-otp .scroll-content{background-color:#eee}page-otp .mat-card{width:80%;margin-left:10%;margin-top:35%;border-radius:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-otp h4{font-weight:400}page-otp button.mat-primary{background-color:#e00201!important}page-otp .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-otp .rounded-circle{border-radius:50%!important;background-image:url(../assets/img/misc/avatar.jpg)}page-otp .img-fluid{max-width:40%;height:auto;margin-top:-70px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2);box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}page-otp ion-icon{font-size:2.2em}page-password .scroll-content{background-color:#eee}page-password .mat-card{width:80%;margin-left:10%;margin-top:35%;border-radius:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-password h4{font-weight:400}page-password button.mat-primary{background-color:#dd4437!important}page-password .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-password .rounded-circle{border-radius:50%!important;background-image:url(../assets/img/misc/avatar.jpg)}page-password .img-fluid{max-width:40%;height:auto;margin-top:-70px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2);box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}page-password ion-icon{font-size:2.2em}page-pd-allocation mat-grid-tile{background:#fff!important}page-pd-allocation .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:15s;animation-duration:15s;-webkit-transition:all .5s cubic-bezier(.36,-.64,.34,1.76);transition:all .5s cubic-bezier(.36,-.64,.34,1.76)}@font-face{src:url(../../assets/fonts/Roboto-Bold.ttf)!important}page-pd-allocation .scroll-content{background-color:#eee!important;padding:0!important}page-pd-allocation *{font-size:14px}page-pd-allocation .mat-card-title{margin-bottom:0}page-pd-allocation .lettericon{background-color:#5f9ea0;padding:10px 15px 10px 15px;border-radius:50%;color:#fff}page-pd-allocation .mat-card-header-text{margin:0}page-pd-allocation .mat-card-subtitle{margin-bottom:0}page-pd-allocation .mat-card-content>:last-child:not(.mat-card-footer){margin-top:0}page-pd-allocation p{margin-top:0!important;margin-left:5%!important}page-pd-allocation h2{margin:1px!important}page-pd-allocation .mat-card{border-radius:10px}page-pd-list mat-grid-tile{background:#fff!important}page-pd-list .grid{padding:0}page-pd-list .scroll-content{padding:0!important}page-pd-list .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:15s;animation-duration:15s;-webkit-transition:all .5s cubic-bezier(.36,-.64,.34,1.76);transition:all .5s cubic-bezier(.36,-.64,.34,1.76)}@font-face{src:url(../../assets/fonts/Roboto-Bold.ttf)!important}page-pd-list .scroll-content{padding:0!important}page-pd-list .mat-card{padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}page-pd-list *{font-size:10px}page-pd-list .mat-card-title{margin-bottom:0}page-pd-list .list-md{margin:0}page-pd-list .lettericon{background-color:#5f9ea0;padding:10px 15px 10px 15px;border-radius:50%;color:#fff}page-pd-list .label-md{margin:0}page-pd-list .item-md h4{font-size:1.7rem}page-pd-list .item-md ion-icon[item-start]+.item-inner{margin-left:0}page-pd-list .mat-raised-button{border-radius:30px;padding:19px 45px;line-height:0;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-list .button-md-primary{margin-bottom:0!important;height:50px}page-pd-list ion-fab[middle]{top:17%!important}page-pd-list .fab-md-optblue{-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-list ion-footer{position:absolute}page-pd-question .SwipedTabs-indicatorSegment{-webkit-transition:.2s all;transition:.2s all;-webkit-transform-origin:top 0 left 0;transform-origin:top 0 left 0;height:1px;position:relative;top:-2px;background-color:#00f!important}page-pd-question .SwipedTabs-tabs ion-segment-button{border:none!important;color:#111!important;background-color:#fff!important;padding-left:16px!important;padding-right:20px!important}page-pd-question .SwipedTabs-tabs ion-segment-button.SwipedTabs-activeTab{color:#00f!important}page-pd-question .SwipedTabs-tabs{width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}page-pd-question .toolbar *{margin:0!important}page-pd-question .tabsContent .scroll-content{overflow-x:scroll!important}page-pd-question .tabsContent{height:50px!important}page-pd-question .segment-button{max-width:initial!important;-webkit-box-flex:1!important;-webkit-flex:auto!important;-ms-flex:auto!important;flex:auto!important;width:initial!important}page-pd-question .segment-md .segment-button{font-size:2rem}page-pd-question .scroll-content{background-color:#fff!important}page-pd-question .mat-card1{margin-bottom:5px}page-pd-question ion-scroll{position:inherit!important}page-pd-question .button-md{padding:25px 0 25px 0!important}page-pd-question-category mat-grid-tile{background:#fff!important}page-pd-question-category .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:15s;animation-duration:15s;-webkit-transition:all .5s cubic-bezier(.36,-.64,.34,1.76);transition:all .5s cubic-bezier(.36,-.64,.34,1.76)}@font-face{src:url(../../assets/fonts/Roboto-Bold.ttf)!important}page-pd-question-category .grid{padding:0}page-pd-question-category h1{margin:2px 0;font-size:2.2rem!important}page-pd-question-category .scroll-content{background-color:#eee!important;padding:0!important}page-pd-question-category .mat-card{padding:0!important;-webkit-box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(0,0,0,.2);box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(0,0,0,.2)}page-pd-question-category *{font-size:16px}page-pd-question-category .mat-card-title{margin-bottom:0}page-pd-question-category .list-md{margin:0}page-pd-question-category .lettericon{background-color:#5f9ea0;padding:10px 15px 10px 15px;border-radius:50%;color:#fff}page-pd-question-category .label-md{margin:0}page-pd-question-category .item-md h4{font-size:1.7rem}page-pd-question-category .item-md ion-icon[item-start]+.item-inner{margin-left:0}page-pd-question-category .button-md-primary{margin-bottom:0!important;height:50px}page-pd-question-address .scroll-content{background-color:#eee}page-pd-question-address .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-address .mat-card-content{margin-bottom:0!important}page-pd-question-assessed-daily-sales .input-cover{position:static}page-pd-question-assessed-dash .mat-card{border-radius:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-assessed-dash .htag{font-size:1.5rem;margin-top:0}page-pd-question-assessed-dash .ion-icon-custome{font-size:2.8em;color:#e00201}page-pd-question-assessed-dash .item-ribbon{background-color:#fff;position:relative;-webkit-filter:none;filter:none;opacity:1}page-pd-question-assessed-dash .item-ribbon .ribbon{position:absolute;right:-5px;top:-5px;z-index:2;overflow:hidden;width:75px;height:75px;text-align:right}page-pd-question-assessed-dash .item-ribbon .ribbon span{font-size:1rem;font-weight:700;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;transform:rotate(45deg);-webkit-transform:rotate(45deg);width:100px;display:block;background:#f53d3d;position:absolute;top:19px;right:-21px}page-pd-question-assessed-dash .item-ribbon .ribbon span::before{content:"";position:absolute;left:0;top:100%;z-index:-1;border-left:3px solid #f53d3d;border-right:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #f53d3d}page-pd-question-assessed-dash .item-ribbon .ribbon span::after{content:"";position:absolute;right:0;top:100%;z-index:-1;border-left:3px solid transparent;border-right:3px solid #f53d3d;border-bottom:3px solid transparent;border-top:3px solid #f53d3d}page-pd-question-assessed-dash .ribbon.cruzeiro span{color:#fff;background:#20c127}page-pd-question-assessed-dash .ribbon.cruzeiro span::before{border-left:3px solid #20c127;border-top:3px solid #20c127}page-pd-question-assessed-dash .ribbon.cruzeiro span::after{border-right:3px solid #20c127;border-top:3px solid #20c127}page-pd-question-assessed-dash .ribbon.default span{color:#fff;background:#f53d3d}page-pd-question-assessed-dash .ribbon.default span::before{border-left:3px solid #f53d3d;border-top:3px solid #f53d3d}page-pd-question-assessed-dash .ribbon.default span::after{border-right:3px solid #f53d3d;border-top:3px solid #f53d3d}page-pd-question-assessed-info .scroll-content{background-color:none}page-pd-question-assessed-info ion-scroll.scroll-y .scroll-content{width:100%;height:200px}page-pd-question-assessed-info span{font-size:12px}page-pd-question-assests .scroll-content{padding:16px}page-pd-question-assests .scroll-content{background-color:#eee}page-pd-question-assests .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-assests .mat-card-content{margin-bottom:0!important}page-pd-question-banking .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-banking .mat-card-content{margin-bottom:0!important}page-pd-question-banking .scroll-content{background-color:#eee}page-pd-question-business-group .mat-expansion-panel{margin-bottom:10px!important;background-color:#e14533!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-business-group .mat-expansion-panel-header-title{color:#fff!important}page-pd-question-business-group .mat-card{margin-bottom:10px;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;padding:3px 10px!important}page-pd-question-business-group .item-ribbon{background-color:#fff;position:relative;-webkit-filter:none;filter:none;opacity:1}page-pd-question-business-group .item-ribbon .ribbon{position:absolute;right:-5px;top:-5px;z-index:2;overflow:hidden;width:75px;height:75px;text-align:right}page-pd-question-business-group .item-ribbon .ribbon span{font-size:1rem;font-weight:700;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;transform:rotate(45deg);-webkit-transform:rotate(45deg);width:73px;display:block;background:#f53d3d;position:absolute;top:10px;right:-17px}page-pd-question-business-group .item-ribbon .ribbon span::before{content:"";position:absolute;left:0;top:100%;z-index:-1;border-left:3px solid #f53d3d;border-right:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #f53d3d}page-pd-question-business-group .item-ribbon .ribbon span::after{content:"";position:absolute;right:0;top:100%;z-index:-1;border-left:3px solid transparent;border-right:3px solid #f53d3d;border-bottom:3px solid transparent;border-top:3px solid #f53d3d}page-pd-question-business-group .ribbon.cruzeiro span{color:#fff;background:#387ef5}page-pd-question-business-group .ribbon.cruzeiro span::before{border-left:3px solid #387ef5;border-top:3px solid #387ef5}page-pd-question-business-group .ribbon.cruzeiro span::after{border-right:3px solid #387ef5;border-top:3px solid #387ef5}page-pd-question-business-group .ribbon.atletico span{color:#fff;background:#818181}page-pd-question-business-group .ribbon.atletico span::before{border-left:3px solid #818181;border-top:3px solid #818181}page-pd-question-business-group .ribbon.atletico span::after{border-right:3px solid #818181;border-top:3px solid #818181}page-pd-question-business-group .ribbon.javascript span{color:#000;background:#f7e023}page-pd-question-business-group .ribbon.javascript span::before{border-left:3px solid #f7e023;border-top:3px solid #f7e023}page-pd-question-business-group .ribbon.javascript span::after{border-right:3px solid #f7e023;border-top:3px solid #f7e023}page-pd-question-business-assets mat-form-field{width:100%}page-pd-question-business-assets .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-business-assets .mat-card-content{margin-bottom:0!important}page-pd-question-business-info mat-form-field{width:100%}page-pd-question-business-info mat-card-title{font-weight:700;font-size:18px}page-pd-question-business-info mat-card-header{font-weight:700;font-size:18px}page-pd-question-business-info .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-business-info .mat-card-content{margin-bottom:0!important}page-pd-question-final-remark mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-final-remark mat-form-field{width:100%}page-pd-question-general-info .item-md{padding-left:0!important}page-pd-question-general-info .scroll-content{padding:6px!important;background-color:#eee}page-pd-question-general-info .button-large-md{height:20px!important;padding:0!important}page-pd-question-general-info .mat-card{margin-bottom:10px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-general-info .label-md{margin:10px 0 10px 0!important}page-pd-question-general-info ion-toggle{zoom:.8}page-pd-question-lender-representative mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-loans mat-hint{font-size:12px}page-pd-question-loans .scroll-content{background-color:#eee}page-pd-question-loans .mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-loans .mat-card-content{margin-bottom:0!important}page-pd-question-neighbour-hood mat-form-field{width:100%}page-pd-question-neighbour-hood mat-card{margin-bottom:15px;border-radius:10px!important;-webkit-box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important;box-shadow:0 16px 38px -12px rgba(0,0,0,.56),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)!important}page-pd-question-neighbour-hood mat-hint{font-size:11px}page-pd-question-rental-info .button-md{padding:0 2.9em!important} \ No newline at end of file diff --git a/platforms/android/app/src/main/assets/www/build/main.js b/platforms/android/app/src/main/assets/www/build/main.js new file mode 100644 index 00000000..bbad8e52 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/build/main.js @@ -0,0 +1 @@ +webpackJsonp([0],{11:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(30),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.constant=t,console.log("Hello QuestionCategoryProvider Provider"),this.apiurl=t.apiurl()}return e.prototype.getLoadTemplate=function(e){return this.http.get(this.apiurl+"loadFullTemplate?pd_id="+e)},e.prototype.saveQusetion=function(e){return this.http.post(this.apiurl+"savePDQuestions",{records:[e]})},e.prototype.getAnswerTemplate=function(e){return this.http.post(this.apiurl+"getAnswersForPD",e)},e.prototype.getcommondrop=function(e){return this.http.post(this.apiurl+"getListOfMaster",{master_name:e})},e.prototype.saveForm=function(e){return this.http.post(this.apiurl+"savePDFormDetails",{records:e})},e.prototype.retiverForm=function(e){return this.http.post(this.apiurl+"getPDFormDetails",e)},e.prototype.saveassessedForms=function(e,t){return this.http.post(this.apiurl+e,t)},e.prototype.retiverassessedForm=function(e,t){return this.http.post(this.apiurl+e,t)},e.prototype.updatePdApplicant=function(e){return this.http.post(this.apiurl+"updatePDApplicants",{pd_applicant_details:e})},e.prototype.getEndUseForLoan=function(e){return this.http.post(this.apiurl+"getEndUseOfLoan",{records:{pd_id:e}})},e.prototype.getCompaniesListsForBusiness=function(e){return this.http.post(this.apiurl+"getCompaniesListsForBusiness",{records:{pd_id:e}})},e.prototype.getStateWiseCities=function(e){return this.http.post(this.apiurl+"getListOfStatesAndCities",{records:{state_id:e}})},e.prototype.getAllPersonsName=function(e){return this.http.post(this.apiurl+"getAllPersonsName",{pd_id:e})},e.prototype.getStateCityDetails=function(){return this.http.post(this.apiurl+"getListOfStatesCities","")},e.prototype.getAssetsWithLoanFromBusiness=function(e){return this.http.post(this.apiurl+"getAssetsWithLoanFromBusiness",{pd_id:e})},e.prototype.getTypeofActivityForSuppliedInfoForm=function(e){return this.http.post(this.apiurl+"getTypeOfActivetyFromBusinessForm",{records:{pd_id:e}})},e.prototype.savePDImages=function(e){return this.http.post(this.apiurl+"savePDPhotos",{records:e})},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.a])],e)}()},123:function(e,t,n){"use strict";n.d(t,"a",function(){return T});var o=n(0),a=n(5),i=n(11),s=n(69),r=n(356),l=n(9),c=n(7),m=n(85),d=n(73),u=n(358),p=n(359),f=n(360),h=n(361),_=n(362),g=n(363),v=n(364),y=n(365),b=n(199),w=n(366),x=n(367),C=n(368),D=n(200),I=n(369),F=n(370),S=n(378),k=n(379),A=n(382),N=n(383),q=n(384),P=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},L=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},R=(new Date).toJSON().slice(0,19).replace("T"," "),T=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.templateget=n,this.aws=o,this.shared=a,this.toast=i,this.pdstatusprovide=s,this.bgColortempForm=[],this.bgColorqustCat=[],this.questionCateAccess=null,this.questionfinishedList=[],this.overallqustioncountAccess=!0,this.pddetails=this.navParams.get("pdDetails"),console.log("Pd",this.pddetails)}return e.prototype.ionViewCanEnter=function(){this.getcategoryList()},e.prototype.ionViewDidLoad=function(){this.shared.refresh(),console.log("ionViewDidLoad PdQuestionCategoryPage")},e.prototype.getcategoryList=function(){var e=this;this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(function(t){e.questionCate=t,1==e.questionCate.dataStatus&&(e.questionCate=e.questionCate.records,e.random_ng_past(),""!=e.questionCate.question_answers&&""!=e.questionCate.template_forms?(e.questionCateAccess=!0,e.templateAccess=!0,e.questionCate=e.questionCate,e.searchQuestion=e.questionCate.question_answers,e.overallqustioncountAccess=0==e.questionCate.counts.overall_answered_count||0==e.questionCate.counts.overall_question_count||e.questionCate.counts.overall_answered_count!=e.questionCate.counts.overall_question_count):""!=e.questionCate.template_forms?(e.templateAccess=!0,e.questionCate=e.questionCate,e.searchTempForm=e.questionCate.template_forms):(e.questionCateAccess=!1,e.templateAccess=!1,e.questionCate="No Template Available"))})},e.prototype.random_ng_past=function(){for(var e=0,t=this.questionCate.question_answers;e\n \n \n \x3c!-- {{pddetails.applicat_details[0].applicant_name | titlecase}} --\x3e\n {{pddetails.applicant_name | titlecase}}\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n \n \n \n \n\x3c!-- \n \n \n \n \n \n \n

Name

\n

28 Sep 2018 10:00 AM

\n
\n \n
\n
testData
\n
testData
\n
\n
\n
\n \n \n
test
\n
\n \n
\n \n
\n\n
\n
\n
--\x3e\n \n \n \n \x3c!-- \n \n \n {{pddetails.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{pddetails.applicat_details[0].applicant_name | titlecase}}

\n \x3c!--

28 Sep 2018 10:00 AM

-\n
\n
\n \n \n
{{pddetails.lender_short_name}}, {{pddetails.lender_applicant_id}}
\n
\n \n
{{pddetails.city_name}}
\n
\n
\n \n \n
{{pddetails.pd_status}}
\n
\n \n
\n
{{pddetails.pd_date_of_initiation}}
\n
{{pddetails.scheduled_on}}
\n
\n
\n
\n \n
\n\n
\n
\n
--\x3e\n
\n \n \x3c!--
{{category.answerd_count}}
--\x3e\n \n \n {{category.category_name[0] | slice : 0 :1 | uppercase}}\n \n \n

{{category.category_name}}

\n

{{category.answerd_count}} / {{category.questions_count}} Questions

\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n {{tempForm.form_name[0] | slice : 0 :1 | uppercase}}\n \n \n

{{tempForm.form_name}}

\n \x3c!--

{{category.answerd_count}} / {{category.questions_count}} Questions

--\x3e\n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n
\n \x3c!-- --\x3e\n \n

{{questionCate}}

\n
\n
\n \n \n \n \n \n '}),L("design:paramtypes",[a.r,a.s,i.a,c.a,s.a,l.a,m.a])],e)}()},197:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(0),a=n(5),i=n(85),s=n(123),r=n(9),l=n(30),c=n(7),m=n(11),d=n(4),u=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=function(){function e(e,t,n,o,a,i,s,r,l,c){this.navCtrl=e,this.navParams=t,this.pddetails=n,this.toast=o,this.Menu=a,this.commonconstant=i,this.aws=s,this.alertCtrl=r,this.qustCat=l,this.fb=c,this.timerOn=!0,this.otpStatusAccess=!0,this.maxtime=30,this.commonImage=this.commonconstant.commonimage,this.applicatentDetails=this.navParams.get("pdDetails"),this.reasonForm=this.fb.group({reason:[null,d.m.compose([d.m.required])],others_reason:[null]}),this.getDropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad OtpPage")},e.prototype.ionViewDidEnter=function(){this.timer(120)},e.prototype.ionViewWillLeave=function(){clearTimeout(this.timeLimit)},e.prototype.getDropdown=function(){var e=this;this.qustCat.getcommondrop("OTPREJECTION").subscribe(function(t){1==t.dataStatus&&(e.reason_otp=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.checkotp=function(e){var t=this;this.pddetails.checkotp({pd_id:this.applicatentDetails.pd_id,OTP:e}).subscribe(function(e){t.otpStatus=e,1==t.otpStatus.dataStatus?t.navCtrl.setRoot(s.a,{pdDetails:t.applicatentDetails}):t.toast.pdTriggerappmessage("Enter the Correct OTP")})},e.prototype.timer=function(e){var t=this,n=Math.floor(e/60),o=e%60;if(n=n<10?"0"+n:n,o=o<10?"0"+o:o,this.balance_time=n+":"+o,(e-=1)>=0&&this.timerOn)this.timeLimit=setTimeout(function(){t.timer(e)},1e3);else if(this.timerOn){this.users=this.aws.getlocale();var a;this.alertCtrl.create({title:"OTP Expired ",message:"Do you want sure resend OTP",buttons:[{text:"OTP Without Start",handler:function(){t.otpStatusAccess=!1}},{text:"Resend OTP",handler:function(){a={pd_id:t.applicatentDetails.pd_id,pd_status:"STARTED",mobile_no:t.applicatentDetails.applicat_details[0].mobile_no,fk_updatedby:t.users},console.log(a),t.pddetails.updatepdStatus(a).subscribe(function(e){})}}]}).present()}},e.prototype.saveotpreasno=function(){var e=this;if(console.log(this.reasonForm.value),this.reasonForm.valid){this.pddetails.checkotp({pd_id:this.applicatentDetails.pd_id,reason:this.reasonForm.value.reason,other_reason:this.reasonForm.value.others_reason}).subscribe(function(t){e.otpStatus=t,1==e.otpStatus.dataStatus&&e.navCtrl.setRoot(s.a,{pdDetails:e.applicatentDetails})})}else this.toast.pdTriggerappmessage("Enter The All Field")},e=u([Object(o.m)({selector:"page-otp",template:'\x3c!--\n Generated template for the OtpPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \n OTP Page\n Reason Page\n \n \n \n \n\n\n \n \n \n \n \n Circle Image\n \n \n \n \n \n

OTP

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

{{balance_time}}

\n
\n
\n \n
\n
\n \n \n \n \n \x3c!-- \n Circle Image\n --\x3e\n \n \n \n \n

With out OTP Reason

\n
\n
\n \n
\n \x3c!-- {{reason_otp | json}} --\x3e\n \n \n \n \n {{otp.rejection_reason}}\n \n \n {{reason}}\n \n \n \n \n
\n
\n
\n \n \n \n \n \n
\n\n
\n'}),p("design:paramtypes",[a.r,a.s,i.a,r.a,a.o,l.a,c.a,a.a,m.a,d.c])],e)}()},198:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(357),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.camera=t,console.log("Hello CameraProvider Provider")}return e.prototype.getpicture=function(){return this.camera.getPicture({quality:100,destinationType:this.camera.DestinationType.DATA_URL,targetWidth:500,targetHeight:500,correctOrientation:!0}).then(function(e){return"data:image/png;base64,"+e},function(e){console.log("CAMERA ERROR -> "+JSON.stringify(e))})},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.a])],e)}()},199:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.supplierInfoForm=this.fb.group({main_raw_materials:[null],supplier_details:this.fb.array([])}),this.getSupplierForm(),this.getdropList()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionSupplierInfoPage")},e.prototype.getdropList=function(){this.m_paymentModeType=[{id:"1",name:"Immediate Or Advanced Payment"},{id:"2",name:"Credit"},{id:"3",name:"Combination of Both"}],this.m_freqOfPurchase=[{id:"1",name:"Daily"},{id:"2",name:"Weekly"},{id:"3",name:"Monthly"},{id:"4",name:"Every 3 months"},{id:"5",name:"Half yearly"},{id:"6",name:"Yearly"},{id:"7",name:"As and when required"},{id:"8",name:"Others"}]},e.prototype.selectedPM=function(e){this.paymentModeTextBox=e.value},e.prototype.selectedFreqPurchase=function(e){this.freqPurchaseTextBox=e.value},e.prototype.initDetails=function(){return this.fb.group({supplier_name:[null],contact_person:[null],mobile_number:[null],payment_mode:[null],per_of_immediate_advance_payment:[null],credit_period:[null],frequency_of_purchase:[null],freq_purchase_others_text_value:[null]})},e.prototype.addSupplierDetails=function(){this.supplierArray=this.supplierInfoForm.get("supplier_details"),this.supplierArray.push(this.initDetails())},e.prototype.removeLanguage=function(e){this.supplierArray=this.supplierInfoForm.get("supplier_details"),this.supplierArray.removeAt(e)},e.prototype.saveSupplierInfo=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid="338",n.fk_createdby=this.users,n.main_raw_materials=e.main_raw_materials,n.supplier_details=e.supplier_details,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getSupplierForm=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"338"}).subscribe(function(t){if(1==t.dataStatus){e.supplierDetails=t.records;var n=Object.keys(t.records.supplier_details).map(function(e){return t.records.supplier_details[e]});e.supplierArray=e.supplierInfoForm.get("supplier_details"),e.supplierInfoForm.controls.main_raw_materials.setValue(e.supplierDetails.main_raw_materials),0==n.length?e.supplierArray.push(e.initDetails()):n.forEach(function(t){e.supplierArray.push(e.initDetails())}),e.supplierInfoForm.controls.supplier_details.setValue(n)}else e.addSupplierDetails()})},e=c([Object(o.m)({selector:"page-pd-question-supplier-info",template:'\n\n \n \n Supplier Info Category\n\n\n \n\n\n\n\n\n \n

Supplier Details

\n
\n
\n
\n What are the main Raw materials?(MEG Only)\n \n \n You must Include Raw Material Details.\n \n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n
\n
\n \n \n {{ pm.name }}\n \n \n
\n
\n % of immediate / Advance Payment Purchase to Total Purchase?\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n
\n
\n \n \n {{ feq.name }}\n \n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n \n \n \x3c!-- --\x3e\n \n
\n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},200:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(11),s=n(7),r=n(9),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.qustCat=n,this.aws=o,this.toast=a,this.fb=i,this.apiLoadFinish=!1,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.clientForms=this.fb.group({clientArray:this.fb.array([])}),this.getClientDetails(),this.getdropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionClientInfoPage")},e.prototype.createClientItem=function(){return this.fb.group({client_name:[""],contact_person:[""],mobile_number:[""],payment_mode:[""],per_of_immediate_advance_payment:[""],credit_period:[""],frequency_of_purchase:[""],freq_purchase_others_text_value:[""]})},e.prototype.selectedPM=function(e){this.paymentModeTextBox=e.value},e.prototype.selectedFreqPurchase=function(e){this.freqPurchaseTextBox=e.value},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive})},function(e){}),this.qustCat.getcommondrop("PAYMENTMODE").subscribe(function(t){e.m_paymentModeType=t.records.filter(function(e){return 1==e.isactive})},function(e){})},e.prototype.addClientDetails=function(){this.clientDataArray=this.clientForms.get("clientArray"),this.clientDataArray.push(this.createClientItem())},e.prototype.removeClientDetails=function(e){1==this.clientDataArray.length?this.clientForms.controls.clientArray.reset():(this.clientDataArray=this.clientForms.get("clientArray"),this.clientDataArray.removeAt(e))},e.prototype.saveclientDetails=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.client_details=e.clientArray,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getClientDetails=function(){var e=this,t=[];this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(n){if(1==n.dataStatus){var o=n.records;console.log(o),t=Object.keys(n.records.client_details).map(function(e){return o.client_details[e]}),e.clientDataArray=e.clientForms.get("clientArray"),0==t.length?e.clientDataArray.push(e.createClientItem()):(t.forEach(function(t){e.clientDataArray.push(e.createClientItem())}),e.clientForms.controls.clientArray.setValue(t),e.apiLoadFinish=!0)}else e.addClientDetails(),e.apiLoadFinish=!0})},e=c([Object(o.m)({selector:"page-pd-question-client-info",template:'\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 \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n
\n
\n \n \n {{ pm.name }}\n \n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n
\n
\n
\n \n \n {{ feq.name }}\n \n \n
\n
\n \n \n \x3c!--You must Include Supplier Name.--\x3e\n \n
\n\n
\n \x3c!-- \n \n --\x3e\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},242:function(e,t){function n(e){return Promise.resolve().then(function(){throw new Error("Cannot find module '"+e+"'.")})}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=242},285:function(e,t){function n(e){return Promise.resolve().then(function(){throw new Error("Cannot find module '"+e+"'.")})}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=285},30:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var o=n(47),a=n(0),i=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=function(){function e(e){this.http=e,this.commonimage="http://ssa.sineedge.com/sparqapi/logo/avatar.jpg",console.log("Hello ConstantsProvider Provider")}return e.prototype.apiurl=function(){return"http://ssa.sineedge.com/sparqtest/api/"},e.prototype.getcurrentDate=function(){var e=new Date,t=(e.getHours(),e.getMinutes(),e.getSeconds(),e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate());e.getHours(),e.getMinutes();return(t+"T00:00").toString()},e.prototype.convertNumberToWords=function(e){var t=new Array;t[0]="",t[1]="One",t[2]="Two",t[3]="Three",t[4]="Four",t[5]="Five",t[6]="Six",t[7]="Seven",t[8]="Eight",t[9]="Nine",t[10]="Ten",t[11]="Eleven",t[12]="Twelve",t[13]="Thirteen",t[14]="Fourteen",t[15]="Fifteen",t[16]="Sixteen",t[17]="Seventeen",t[18]="Eighteen",t[19]="Nineteen",t[20]="Twenty",t[30]="Thirty",t[40]="Forty",t[50]="Fifty",t[60]="Sixty",t[70]="Seventy",t[80]="Eighty",t[90]="Ninety";var n=(e=e.toString()).split(".")[0].split(",").join(""),o=n.length,a="",i="";if(o<=9){for(var s=new Array(0,0,0,0,0,0,0,0,0),r=new Array,l=0;l=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=function(){function e(e,t,n,o,a,i){this.aws=e,this.dialog=t,this.shared=n,this.navCtrl=o,this.Menu=a,this.toast=i,this.status=!1,this.config={disableClose:!1,width:"",height:"",position:{top:"",bottom:"",left:"",right:""}}}return e.prototype.ngOnInit=function(){},e.prototype.ionViewDidEnter=function(){this.Menu.enable(!1)},e.prototype.ionViewWillLeave=function(){this.Menu.enable(!0)},e.prototype.login=function(){var e=this;if(void 0!==this.email&&void 0!==this.password&&""!=this.email&&""!=this.password&&null!=this.email&&null!=this.password){this.aws.dologin({Username:this.email,Password:this.password}).subscribe(function(t){var n=e.aws.getlocale();e.aws.getuserprofile(n).subscribe(function(t){e.users=t,1==e.users.dataStatus&&("PD Officer"==e.users.records[0].role_name||"PD Executive"==e.users.records[0].role_name?e.navCtrl.setRoot(l.a):(e.toast.pdTriggerappmessage("This App only for PD Officers"),localStorage.clear()))})},function(t){console.log(JSON.stringify(t.message)),"New password is required."==t.message?e.navCtrl.setRoot(c.a,{Username:e.email,Password:e.password}):(console.log(JSON.stringify(t.message)),e.toast.pdTriggerappmessage(JSON.stringify(t.message)))})}else this.toast.pdTriggerappmessage("Enter Email or Password")},e.prototype.forgotopen=function(){this.status=!0},e.prototype.forgotpassword=function(){var e={Username:this.email};console.log(e)},e.prototype.loggedInCheck=function(){return this.shared.isLoggedIn?(alert("if"),!1):(alert("else"),!0)},e=d([Object(o.m)({selector:"page-login",template:'\x3c!--\n Generated template for the LoginPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\x3c!--\n\n \n Login \n \n\n--\x3e\n\n\n\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n'}),u("design:paramtypes",[i.a,s.h,r.a,a.r,a.o,m.a])],e)}()},354:function(e,t,n){"use strict";n.d(t,"a",function(){return x});var o=n(0),a=n(5),i=n(4),s=n(186),r=n(38),l=n(355),c=n(85),m=n(7),d=n(73),u=n(197),p=n(388),f=n(8),h=n(666),_=n(9),g=n(30),v=n(389),y=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},b=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},w=(new Date).toJSON().slice(0,19),x=function(){function e(e,t,n,o,a,i,s,r,l,c,m,d,u){this.navCtrl=e,this.navParams=t,this.fb=n,this.statusBar=o,this.platform=a,this.launchNavigator=i,this.aws=s,this.pdDetails=r,this.geolocation=l,this.alertCtrl=c,this.locationAccuracy=m,this.toast=d,this.constant=u,this.initiatedAccess=!1,this.scheduleAccess=!1,this.pipe=new f.d("en-US"),this.acceptedAccess=!1,this.startedAccess=!1,this.timeOut=15e3,this.maxdate=this.pipe.transform(new Date,"yyyy-MM-ddThh:mm").toString(),this.statusBar.styleDefault(),this.statusBar.overlaysWebView(!1),this.statusBar.backgroundColorByHexString("#db4437");this.pipe.transform(new Date,"dd/MM/yyyy hh:mm a");this.applicatentDetails=this.navParams.get("pdDetails"),this.getFullPD(),"ALLOCATED"==this.applicatentDetails.pd_status&&(this.acceptedAccess=!0),"ACCEPTED"==this.applicatentDetails.pd_status&&(this.scheduleAccess=!0),"SCHEDULED"==this.applicatentDetails.pd_status&&(this.initiatedAccess=!0),"INITIATED"==this.applicatentDetails.pd_status&&(this.startedAccess=!0,this.getenableAccuracy()),this.users=this.aws.getlocale()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad InputPage")},e.prototype.ionViewCanLeave=function(){clearInterval(this.timeInterval)},e.prototype.locationnavicate=function(e){this.launchNavigator.navigate(e)},e.prototype.getFullPD=function(){var e=this;this.pdDetails.getFullPDdetails({pdid:this.applicatentDetails.pd_id}).subscribe(function(t){if(1==t.dataStatus){var n=e.pipe.transform(new Date,"yyyy-MM-dd HH:mm"),o=t.records.pd_master_details[0].scheduled_on_for_validation,a=Date.parse(n)-Date.parse(o),i=Math.floor(a/1e3/60/60);console.log(i),e.enableStartPD=i<=-4}})},e.prototype.pdStatus=function(e,t){var n=this;"BOUNCED"==e?this.pdDetails.updatepdStatus({pd_id:t.pd_id,pd_status:e,fk_updatedby:this.users,updatedon:w}).subscribe(function(e){n.updateStatus=e,1==n.updateStatus.dataStatus&&n.navCtrl.setRoot(d.a)}):"ACCEPTED"==e&&this.pdDetails.updatepdStatus({pd_id:t.pd_id,pd_status:e,fk_updatedby:this.users,updatedon:w}).subscribe(function(e){n.updateStatus=e,1==n.updateStatus.dataStatus?(n.getNewpdupdate(),n.scheduleAccess=!0):n.scheduleAccess=!1})},e.prototype.pdschedule=function(e,t){var n=this;console.log(e);var o=e.slice(0,19).replace("T"," ");console.log(o),this.pdDetails.updatepdStatus({pd_id:t.pd_id,pd_status:"SCHEDULED",scheduled_on:o,fk_updatedby:this.users,updatedon:w}).subscribe(function(e){n.updateSchedule=e,1==n.updateSchedule.dataStatus&&(n.getNewpdupdate(),n.initiatedAccess=!0)})},e.prototype.getenableAccuracy=function(){var e=this;this.locationAccuracy.canRequest().then(function(t){t&&e.locationAccuracy.request(e.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(function(){e.getcurrentLocation()},function(e){return alert("Error requesting location permissions"+JSON.stringify(e))})})},e.prototype.getcurrentLocation=function(){var e=this,t={frequency:3e3,enableHighAccuracy:!0,timeOut:1e3};this.timeInterval=setInterval(function(){e.currentPosPDofficer="",e.geolocation.getCurrentPosition(t).then(function(t){void 0!=t.coords&&(e.currentPosPDofficer=t.coords.latitude+","+t.coords.longitude,console.log(e.currentPosPDofficer),e.pdDetails.saveCurrentLocation({pd_id:e.applicatentDetails.pd_id,link:e.currentPosPDofficer}).subscribe(function(e){}))}).catch(function(t){e.toast.pdTriggerappmessage(t.message)})},this.timeOut)},e.prototype.pdreschedule=function(){this.scheduleAccess=!0,this.initiatedAccess=!1},e.prototype.pdinitiated=function(e){var t=this;this.locationAccuracy.canRequest().then(function(n){n&&t.locationAccuracy.request(t.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(function(){t.geolocation.getCurrentPosition().then(function(n){t.currentPosPDofficer=n.coords.latitude+","+n.coords.longitude,t.pdDetails.updatepdStatus({pd_id:e.pd_id,pd_status:"INITIATED",mobile_no:e.applicat_details[0].mobile_no,officerName:e.pd_allocated_to,firstName:e.applicat_details[0].applicant_name,fk_updatedby:t.users,updatedon:w,link:t.currentPosPDofficer}).subscribe(function(e){t.updateinitiated=e,1==t.updateinitiated.dataStatus?(t.getNewpdupdate(),t.getcurrentLocation(),t.startedAccess=!0):t.startedAccess=!1})}).catch(function(e){console.log("Error getting location",e)})},function(e){return alert("Error requesting location permissions"+JSON.stringify(e))})})},e.prototype.startPdDiscussion=function(e){var t,n=this;this.alertCtrl.create({title:"Starting PD Officer",message:"Do you want sure PD officer Start",buttons:[{text:"No",role:"cancel",handler:function(){}},{text:"YES",handler:function(){n.geolocation.getCurrentPosition().then(function(o){n.currentPosPDofficer=o.coords.latitude+","+o.coords.longitude,t={pd_id:e.pd_id,pd_status:"STARTED",mobile_no:e.applicat_details[0].mobile_no,fk_updatedby:n.users,updatedon:w,link:n.currentPosPDofficer},console.log(t),n.pdDetails.updatepdStatus(t).subscribe(function(t){n.updatestarted=t,1==n.updatestarted.dataStatus&&(clearInterval(n.timeInterval),n.navCtrl.setRoot(u.a,{pdDetails:e}))})})}}]}).present()},e.prototype.getNewpdupdate=function(){var e=this;this.acceptedAccess=!1,this.initiatedAccess=!1,this.scheduleAccess=!1,this.startedAccess=!1,this.pdDetails.getpddetails(this.users).subscribe(function(t){e.appdata=t,1==e.appdata.dataStatus&&(e.applicatentDetails=e.appdata.records.filter(function(t){return t.pd_id==e.applicatentDetails.pd_id})[0],"ALLOCATED"==e.applicatentDetails.pd_status&&(e.acceptedAccess=!0),"ACCEPTED"==e.applicatentDetails.pd_status&&(e.scheduleAccess=!0),"SCHEDULED"==e.applicatentDetails.pd_status&&(e.initiatedAccess=!0,e.getFullPD()),"INITIATED"==e.applicatentDetails.pd_status&&(e.startedAccess=!0))})},e.prototype.camerasetup=function(){this.navCtrl.push(v.a,{pdDetails:this.applicatentDetails})},e=y([Object(o.m)({selector:"page-input",template:'\n \n \n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n   {{applicatentDetails.applicat_details[0].applicant_name | titlecase}}\n \n
\n \n \n {{applicatentDetails.customer_segment_name}}\n \n
\n \n \n \n {{applicatentDetails.addressline1}}
\n {{applicatentDetails.addressline2}}
\n {{applicatentDetails.addressline3}}
\n \n
\n
\n \n \n {{applicatentDetails.applicat_details[0].mobile_no}} \n \n
\n \n \n {{applicatentDetails.product_name}} / {{applicatentDetails.subproduct_name}}\n \n
\n \n \n \n \n Schedule Date\n \n \x3c!-- --\x3e\n \n \n \n \n \n  {{applicatentDetails.scheduled_on}}\n \n \n \n \n \n \x3c!--
\n \n \n \n {{applicat_details.applicant_name}}\n \n
\n \n \n {{applicat_details.email}}\n \n
\n \n \n {{applicat_details.addressline1}}
\n {{applicat_details.addressline2}}
{{applicat_details.addressline3}} - {{applicat_details.pincode}}\n
\n
\n
\n \n \n {{applicat_details.relation}} / {{applicat_details.relation_name}}\n \n \n
\n
\n
--\x3e\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \x3c!-- \n \n \n --\x3e\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n '}),b("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a,m.a,c.a,p.a,a.a,h.a,_.a,g.a])],e)}()},356:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(123),c=n(198),m=n(9),d=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=(new Date).toJSON().slice(0,19).replace("T"," "),f=function(){function e(e,t,n,o,a,i,s,r){this.navCtrl=e,this.navParams=t,this.fb=o,this.qstDetails=a,this.aws=i,this.camera=s,this.toast=r,this.docName=[],this.docArray=[],this.imageArray=[],this.SwipedTabsIndicator=null,this.tabTitleWidthArray=[],this.tabElementWidth_px=50,this.screenWidth_px=0,this.isRight=!1,this.isLeft=!1,this.tabs=[],console.log("Width: "+n.width()),this.screenWidth_px=n.width(),this.questionAnswer=this.fb.group({answerDetails:[null],items:this.fb.array([])}),this.questionanotherData=this.fb.group({questionRemarks:[null]}),this.getpdQuestionDetails(),this.userid=this.aws.getlocale()}return e.prototype.ionViewDidLoad=function(){},e.prototype.ionViewDidEnter=function(){this.SwipedTabsIndicator=document.getElementById("indicator");for(var e in this.tabs)this.tabTitleWidthArray.push(document.getElementById("tabTitle"+e).offsetWidth);this.selectTab(0)},e.prototype.ionViewWillLeave=function(){this.navCtrl.setRoot(l.a,{pdDetails:this.pdinfo})},e.prototype.scrollIndicatiorTab=function(){this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0),this.isLeft&&console.log(this.isLeft),this.isRight&&console.log(this.isRight)},e.prototype.selectTab=function(e){this.SwipedTabsIndicator.style.width=this.tabTitleWidthArray[e]+"px",this.SwipedTabsIndicator.style.webkitTransform="translate3d("+this.calculateDistanceToSpnd(e)+"px,0,0)",this.SwipedTabsSlider.slideTo(e)},e.prototype.calculateDistanceToSpnd=function(e){for(var t=0,n=0;nt&&(this.isLeft=!1,this.isRight=!0),this.SwipedTabsSlider.isEnd()&&(this.isRight=!1),this.SwipedTabsSlider.isBeginning()&&(this.isLeft=!1),this.isRight&&(this.SwipedTabsIndicator.style.webkitTransform="translate3d("+(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())+(e.progress-t)*(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])+"px,0,0)"),this.isLeft&&(this.SwipedTabsIndicator.style.webkitTransform="translate3d("+(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())+(e.progress-t)*(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])+"px,0,0)"),this.isRight||this.isLeft||(this.SwipedTabsIndicator.style.width=this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+"px")},e.prototype.getpdQuestionDetails=function(){this.questionDetails=this.navParams.get("questionDetails"),console.log("157",this.questionDetails),this.pdinfo=this.navParams.get("pdDetails"),console.log(this.pdinfo);for(var e=0,t=this.questionDetails.questions;e\n\n \n \n {{questionDetails.category_name}} Category\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{tab}}\n \n \n \x3c!-- here is our dynamic line "indicator"--\x3e\n
\n
\n
\n\n\n\n\n\n\n \n\n \n \n \n \n \n \n \n \n

{{qustDetails.question}}

\n
\n
\n
\n
\n\n \n \n \n \n \n \n\n {{answerType.answer}}\n\n\n \n \n \x3c!--
--\x3e\n\n \n \n \n\n \n\n \x3c!--
{{img | json}}
--\x3e\n \n\n
\n \n \x3c!-- File Name Required --\x3e\n
\n
\n {{img.pd_document_title}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n\n \n\n \n \n \x3c!-- --\x3e\n \n
\n\n \n \n\n \n \x3c!-- {{control | json}} --\x3e\n \n {{ control.controls.pd_answer.value }}\n \n\n \n\n \n
\n
\n \n
\n
\n
\n
\n\n \n \n \n
\n \n \n \n
\n\n
\n\n
\n
\n \n \n \n \n \n \x3c!-- \n \n \n \n \n \n \n \n \n \n --\x3e\n\n \x3c!--
--\x3e\n\n \x3c!--
--\x3e\n \n \n\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n\n \n \n \x3c!----\x3e\n \n\n \n \n \x3c!----\x3e\n \n\n \n \n'}),u("design:paramtypes",[a.r,a.s,a.u,i.c,r.a,s.a,c.a,m.a])],e)}()},358:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s,r){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.aws=a,this.toast=i,this.alerCtrl=s,this.constant=r,this.placeholderName="Was any business activity seen at the Address Type during PD visit?",this.premisesRentAmtInwords=[],this.locality=[],this.pdlocation=[],this.addressTypes=[],this.addressRemarksAccess=!1,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.address=(this.pdDetails.addressline2=null!=this.pdDetails.addressline3)?this.pdDetails.addressline1+","+this.pdDetails.addressline2+","+this.pdDetails.addressline3:this.pdDetails.addressline1+", - , -",this.getdropdownlist(),this.pdQuestionAddress=this.fb.group({address:[this.address],address_type:[null],address_type_others:[null],locality:[null],locality_others:[null],pd_location:[null],comment_locality:[null],other_comment_locality:[null],address_form_remark:[null],address_ownership:[null],other_ownership:[null],rent_amt:[null],other_premises_bussiness_activity:[null],bussiness_activity_remark:[null],bussiness_activity:[null],bussiness_address_type:[null],bussiness_address_type_others:[null],business_years:[null],business_month:[null],additional_address_units:this.fb.array([])}),this.getaddressForm()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAddressPage")},e.prototype.ionViewWillLeave=function(){},e.prototype.getdropdownlist=function(){var e=this;this.qustCat.getcommondrop("ADDRESSTYPE").subscribe(function(t){1==t.dataStatus&&(e.addressTypes=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("PDLOCATIONAPPROACH").subscribe(function(t){e.pdlocation=t,1==e.pdlocation.dataStatus&&(e.pdlocation=e.pdlocation.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("COMMENTSONLOCALITY").subscribe(function(t){e.cmtlocality=t,1==e.cmtlocality.dataStatus&&(e.cmtlocality=e.cmtlocality.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("LOCALITY").subscribe(function(t){1==t.dataStatus&&(e.locality=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("RESIDENCEOWNERSHIP").subscribe(function(t){1==t.dataStatus&&(e.residence=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("CITY").subscribe(function(t){1==t.dataStatus&&(e.CITY=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createUnits=function(e){return this.fb.group(null==e?{no_of_additional_units:[""],premises_type:[""],premises_type_others:[""],premises_city:[""],premises_remarks:[""]}:{no_of_additional_units:[e.no_of_additional_units],premises_type:[e.premises_type],premises_type_others:[e.premises_type_others],premises_city:[e.premises_city],premises_remarks:[e.premises_remarks]})},e.prototype.addUnits=function(){this.items=this.pdQuestionAddress.get("additional_address_units"),this.items.push(this.createUnits(null))},e.prototype.removeUnits=function(e){this.items.removeAt(e)},e.prototype.ConvertMonthintoYear=function(e){var t=e%12,n=e/12;this.pdQuestionAddress.controls.business_years.setValue(+this.pdQuestionAddress.controls.business_years.value+ +Math.floor(n)),this.pdQuestionAddress.controls.business_month.setValue(Math.floor(t))},e.prototype.keyPress=function(e){var t=String.fromCharCode(e.charCode);8==e.keyCode||/[0-9]/.test(t)||e.preventDefault()},e.prototype.inWords=function(e,t){console.log(e),this.premisesRentAmtInwords[t]=this.constant.convertNumberToWords(e.target.value)},e.prototype.inWordsForRent=function(e){this.rentAmtInwords=this.constant.convertNumberToWords(e.target.value)},e.prototype.selectedAddressType=function(e){this.placeholderName="Was any business activity seen at the "+e+" during PD visit?"},e.prototype.savepdQuestion=function(e){var t=this;console.log(e);var n={};n.address=e.address,null!=e.address_type_others&&(n.address_type_others=e.address_type_others),n.address_type=e.address_type,n.locality=e.locality,n.locality_others=7==e.locality?e.locality_others:null,n.pd_location=e.pd_location,n.comment_locality=e.comment_locality,n.other_comment_locality=e.other_comment_locality,n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.address_form_remark=e.address_form_remark,n.address_ownership=e.address_ownership,n.other_ownership=e.other_ownership,n.rent_amt=e.rent_amt,n.other_premises_bussiness_activity=e.other_premises_bussiness_activity,n.bussiness_activity=e.bussiness_activity,n.bussiness_activity_remark=e.bussiness_activity_remark,n.business_years=e.business_years,n.business_month=e.business_month,console.log("Additional Units",this.pdQuestionAddress.controls.additional_address_units.value),console.log("item",this.items),n.additional_address_units=e.additional_address_units,this.qustCat.saveForm(n).subscribe(function(e){t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!")})},e.prototype.getaddressForm=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(e.getaddressDetails=t,1==e.getaddressDetails.dataStatus){if(e.getaddressDetails=e.getaddressDetails.records,null!=e.getaddressDetails.additional_address_units)Object.keys(t.records.additional_address_units).map(function(e){});e.pdQuestionAddress.get("additional_address_units");e.pdQuestionAddress.controls.address.setValue(e.getaddressDetails.address),e.pdQuestionAddress.controls.pd_location.setValue(e.getaddressDetails.pd_location),e.pdQuestionAddress.controls.address_type.setValue(e.getaddressDetails.address_type);var n=e.addressTypes.filter(function(t){return t.address_type_id==e.getaddressDetails.address_type});e.selectedAddressType(n),null!=e.getaddressDetails.address_type&&(e.pdQuestionAddress.controls.address_type_others.setValue(e.getaddressDetails.address_type_others),e.selectedAddressType(e.getaddressDetails.address_type_others)),e.pdQuestionAddress.controls.comment_locality.setValue(e.getaddressDetails.comment_locality),null!=e.getaddressDetails.comment_locality&&e.pdQuestionAddress.controls.other_comment_locality.setValue(e.getaddressDetails.other_comment_locality),e.pdQuestionAddress.controls.locality.setValue(e.getaddressDetails.locality),null!=e.getaddressDetails.locality&&e.pdQuestionAddress.controls.locality_others.setValue(e.getaddressDetails.locality_others),e.pdQuestionAddress.controls.address_form_remark.setValue(e.getaddressDetails.address_form_remark),e.pdQuestionAddress.controls.address_ownership.setValue(e.getaddressDetails.address_ownership),e.pdQuestionAddress.controls.other_ownership.setValue(e.getaddressDetails.other_ownership),e.pdQuestionAddress.controls.rent_amt.setValue(e.getaddressDetails.rent_amt),null!=e.getaddressDetails.rent_amt&&(e.rentAmtInwords=e.constant.convertNumberToWords(e.getaddressDetails.rent_amt)),e.pdQuestionAddress.controls.other_premises_bussiness_activity.setValue(e.getaddressDetails.other_premises_bussiness_activity),e.pdQuestionAddress.controls.bussiness_activity_remark.setValue(null!=e.getaddressDetails.other_premises_bussiness_activity?e.getaddressDetails.other_premises_bussiness_activity:""),e.pdQuestionAddress.controls.bussiness_activity.setValue(e.getaddressDetails.bussiness_activity),e.pdQuestionAddress.controls.business_years.setValue(e.getaddressDetails.business_years),e.pdQuestionAddress.controls.business_month.setValue(e.getaddressDetails.business_month),console.log(e.getaddressDetails.additional_address_units),console.log("1",e.getaddressDetails.additional_address_units)}})},e=m([Object(o.m)({selector:"page-pd-question-address",template:'\n\n \n \n \x3c!-- {{pageTitle}} --\x3e\n {{FormId.form_name}}\n \n\n\n\n \n
\n \n\n
\n \n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n\n
\n \n \n --\n {{m_addressType.address_type}} \n \n \n
\n\n
\n \n \n \n
\n\n \n
\n \n \n --\n {{m_locality.locality_name}}\n \n\n \n \n
\n\n\n
\n \n \n \n
\n\n
\n \n \n --\n {{data.description}}\n \n \n \n
\n\n
\n \n \n --\n {{data.rating}}\n \n \n \n
\n\n
\n \n \n \n
\n \x3c!--\n\n
\n \n \n --\n {{ownerShip.name}}\n \n \n
\n\n
\n \n \n \n
\n \n
\n \n \n {{"₹"}} {{rentAmtInwords}} Only\n \n
\n--\x3e\n\n\n\n\x3c!--Disabled--\x3e\n\n \x3c!--
\n \n \n \n \n \n \n \n
\n\n
\n \n \n Yes\n No\n \n \n
\n \n
\n \n \n \n
\n\n \n
\n \n \n \n Yes\n No\n \n \n
\n \n
\n \n \n \n
\n
\n \n
Additional Unit #{{i+1}}
\n \n \n \n
\n\n \n \n\n \n \n {{m_addressType.address_type}} \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n \n
\n
\n \n
Neighbour hood Details {{i+1}}
\n \n \n \n \n \n \n
\n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n \n \n Yes\n No\n Dont Know\n \n \n \n
\n
--\x3e\n
\n\n \n \n \n \n \n\n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n\n \x3c!-- Bank multi --\x3e\n\n
'}),d("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a,a.a,c.a])],e)}()},359:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(0),a=n(5),i=n(4),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t,n){this.navCtrl=e,this.navParams=t,this.fb=n,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.empInfo=this.fb.group({nameOfEmp:[null],yearWithEmp:[null],empMet:[null],designationOfEmp:[null],salaryConfirm:[null],actualSalary:[null],attRegisterSeen:[null],salaryRegisterSeen:[null]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionEmpInfoPage")},e=s([Object(o.m)({selector:"page-pd-question-emp-info",template:'\n\n \n \n Employee Salary Category\n\n\n \n\n\n\n\n
\n \n
\n \n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n
\n \n \x3c!-- How many yrs with this emp --\x3e\n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n \n

Emp Met

\n \n YES\n NO\n \n
\n \n\n
\n \n \x3c!-- How many yrs with this emp --\x3e\n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n \n

Salary amt confirmed

\n \n YES\n NO\n \n
\n\n
\n \n \x3c!-- How many yrs with this emp --\x3e\n \n \x3c!-- Applicant ID Required --\x3e\n \n
\n \n

Attendance Register seen

\n \n YES\n NO\n \n
\n\n \n

Salary register seen

\n \n YES\n NO\n \n
\n\n
\n
\n
'}),r("design:paramtypes",[a.r,a.s,i.c])],e)}()},360:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.toast=a,this.aws=i,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.currentLoans=this.fb.group({existing_loan:[null],currentloan_remarks:[null],loan_details:this.fb.array([])}),this.getcurrentLoans()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionCurrentLoansPage")},e.prototype.exitsCheck=function(e){console.log(e),"Yes"==e&&this.addLoanDetails()},e.prototype.createLoanDetail=function(){return this.fb.group({loan_amount:[null],emi:[null],loan_type:[null],lender:[null],original_tenure:[null],current_balance_tenure:[null]})},e.prototype.addLoanDetails=function(){this.currentLoans.controls.loan_details.push(this.createLoanDetail())},e.prototype.deleteLoanDetails=function(e){this.currentLoans.controls.loan_details.removeAt(e)},e.prototype.submitCurrentloan=function(e){var t=this;console.log(e);var n={};n.pdid=this.pdDetails.pd_id,n.formid="336",n.fk_createdby=this.users,n.existing_loan=e.existing_loan,n.loan_details=e.loan_details,n.currentloan_remarks=e.currentloan_remarks,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){console.log("data",e),1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getcurrentLoans=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"336"}).subscribe(function(t){if(1==t.dataStatus){var n=Object.keys(t.records.loan_details).map(function(e){return t.records.loan_details[e]}),o=t.records;e.currentLoans.controls.existing_loan.setValue(o.existing_loan),e.currentLoans.controls.currentloan_remarks.setValue(o.currentloan_remarks);var a=e.currentLoans.controls.loan_details;0==n.length?a.push(e.createLoanDetail()):(n.forEach(function(t){a.push(e.createLoanDetail())}),e.currentLoans.controls.loan_details.setValue(n))}})},e=c([Object(o.m)({selector:"page-pd-question-current-loans",template:'\n\n \n \n CurrentLoans Category\n\n\n \n\n\n\n\n\n
\n \n \n \n Yes\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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,l.a,r.a])],e)}()},361:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,s,r){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.aws=a,this.toast=s,this.constant=r,this.enduse=[],this.mortageAccess=!1,this.ownerNames=[],this.isOtherPurpose=!1,this.endUserList=[],this.mergeCompanyApplicant=[],this.isOtherSource=!1,this.isPLSource=!1,this.sourceList=[],this.FormId=this.navParams.get("FormId"),this.pdDetails=this.navParams.get("pdDetails"),console.log(this.pdDetails),this.applicants=this.pdDetails.applicat_details,this.users=this.aws.getlocale(),this.pdid=this.pdDetails.pd_id,this.getDropdown(),this.loanDetailsForm=this.fb.group({loan_amount:[this.pdDetails.loan_amount],end_use:["",i.m.compose([i.m.required])],end_use_other:[""],is_transfer:["",i.m.compose([i.m.required])],is_topup:[""],balance_transfer_amount:[""],topup_amount:[""],lender:[""],other_bt_lender:[""],own_contribution:["",i.m.compose([i.m.required])],source:[""],personal_loan_source:[""],other_source:[""],emi_level:["",i.m.compose([i.m.required])],property_type:["",i.m.compose([i.m.required])],property_type_others:[""],owner_name:["",i.m.compose([i.m.required])],construction_status:["",i.m.compose([i.m.required])],percentage_of_construction:[""],emv_per_customer:["",i.m.compose([i.m.required])],loandetails_remarks:["",i.m.compose([i.m.required])]}),console.log(75,this.pdDetails.product_abbr),this.mortagetypeAccess="BL"!=this.pdDetails.product_abbr||"PL"!=this.pdDetails.product_abbr||"LL"!=this.pdDetails.product_abbr,console.log(this.mortagetypeAccess),this.getLoanDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionLoansPage")},e.prototype.getDropdown=function(){var e=this;this.qustCat.getcommondrop("STATUSOFCONSTRUCTION").subscribe(function(t){e.m_statusofCunstruction=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getcommondrop("MORTAGEPROPERTIES").subscribe(function(t){if(1==t.dataStatus){var n=e;e.m_mortageTypeProperty=t.records.filter(function(e){return"LAP"!=n.pdDetails.product_abbr&&e.group_name==n.pdDetails.product_abbr&&1==e.isactive?e:"LAP"==n.pdDetails.product_abbr&&e.sub_group_name==n.pdDetails.subproduct_name?e:void 0}),console.log(e.m_mortageTypeProperty)}}),this.qustCat.getcommondrop("SOURCEOFBALANCETRANSFER").subscribe(function(t){e.m_sourceofamount=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getcommondrop("SUBPRODUCTS").subscribe(function(t){if(1==t.dataStatus){var n=e;e.m_endUseofLoad=t.records.filter(function(e){if(n.pdDetails.fk_product_id==e.fk_product_id&&1==e.isactive)return e}),e.endUserChange(e.enduse)}}),this.qustCat.getcommondrop("BTLENDERLIST").subscribe(function(t){e.m_btLenderList=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getEndUseForLoan(this.pdid).subscribe(function(t){e.m_endUseForLoan=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){console.log("Entering company List"),1==t.dataStatus&&(e.existCompanyList=t.records.filter(function(e){return!0===e.is_active&&!0===e.is_company_applicant}),console.log("company List",t.records));var n=[];e.existCompanyList.length>0&&(n=e.existCompanyList.map(function(e){return{id:e.company_order_id.toString(),name:e.company_name,group_id:1}}),e.mergeCompanyApplicant.push({groupName:"COMPANIES",groupValues:n}))});var t=[];this.applicants.length>0&&(t=this.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),this.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:t})),console.log("complete")},e.prototype.selectedBalancesTransferChanges=function(e){"no"==e.value?(this.loanDetailsForm.controls.is_topup.clearValidators(),this.loanDetailsForm.controls.is_topup.updateValueAndValidity()):"yes"==e.value&&(this.loanDetailsForm.controls.is_topup.setValidators([i.m.required]),this.loanDetailsForm.controls.is_topup.updateValueAndValidity())},e.prototype.mortage_type=function(e){console.log(e);var t=this.m_mortageTypeProperty.filter(function(t){return t.mortage_property_id==e})[0];console.log(t);this.mortageAccess="Others (Please Specify)"==t.property_name},e.prototype.compareObjects=function(e,t){return e.id==t.id&&e.group_id==t.group_id},e.prototype.loanCalc=function(){var e,t=this.loanDetailsForm.value.balance_transfer_amount,n=this.loanDetailsForm.value.loan_amount;null!=t&&""!=t&&null!=n&&""!=n&&(e=n-t),this.loanDetailsForm.controls.topup_amount.setValue(e)},e.prototype.endUserChange=function(e){var t=this;console.log("change",e),e.forEach(function(e){var n=t.m_endUseForLoan.filter(function(t){return t.enduse_of_loan_id==e})[0];n=n.enduse_of_loan.substr(0,6).toLowerCase(),t.endUserList.push({end_use:e}),console.log(201,n),t.isOtherPurpose="others"==n}),console.log(this.endUserList)},e.prototype.ownerNameChange=function(e){var t=this;this.ownerNames=[],e.value.forEach(function(e){t.ownerNames.push({owner_name:e})})},e.prototype.sourceChange=function(e){var t=this;this.isOtherSource=e.some(function(e){return 1==e}),this.isPLSource=e.some(function(e){return 3==e}),this.sourceList=[],e.forEach(function(e){t.sourceList.push({source:e})})},e.prototype.inWords=function(e,t){switch(t){case 1:this.loanAmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 2:this.balTxrfAmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 3:this.valAsPerAgmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 4:this.ownContributionInWords=this.constant.convertNumberToWords(e.target.value);break;case 5:this.topUpAmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 6:this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);break;case 7:this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value)}},e.prototype.submitLoanDetails=function(){var e=this,t={};t.pdid=this.pdDetails.pd_id,t.formid=this.FormId.form_id,t.fk_createdby=this.users,t.loan_amount=this.loanDetailsForm.controls.loan_amount.value;var n=[];if(this.loanDetailsForm.controls.end_use.value.forEach(function(e){n.push({end_use:e})}),t.end_use_group=n,this.isOtherPurpose&&(t.end_use_other=this.loanDetailsForm.controls.end_use_other.value),t.is_transfer=this.loanDetailsForm.controls.is_transfer.value,t.is_topup=this.loanDetailsForm.controls.is_topup.value,"yes"==this.loanDetailsForm.controls.is_transfer.value)t.balance_transfer_amount=this.loanDetailsForm.controls.balance_transfer_amount.value;else if("no"==this.loanDetailsForm.controls.is_transfer.value){t.own_contribution=this.loanDetailsForm.controls.own_contribution.value;var o=[];""!=this.loanDetailsForm.controls.source.value&&this.loanDetailsForm.controls.source.value.forEach(function(e){o.push({sources:e})}),t.source_group=o}"yes"==this.loanDetailsForm.controls.is_topup.value&&(t.topup_amount=this.loanDetailsForm.controls.topup_amount.value),"yes"!=this.loanDetailsForm.controls.is_topup.value&&"yes"!=this.loanDetailsForm.controls.is_transfer.value||(t.lender=this.loanDetailsForm.controls.lender.value),3==this.loanDetailsForm.controls.lender.value&&(t.other_bt_lender=this.loanDetailsForm.controls.other_bt_lender.value),this.isOtherSource&&(t.other_source=this.loanDetailsForm.controls.other_source.value),this.isPLSource&&(t.personal_loan_source=this.loanDetailsForm.controls.personal_loan_source.value),t.emi_level=this.loanDetailsForm.controls.emi_level.value,t.property_type=this.loanDetailsForm.controls.property_type.value,""!=this.loanDetailsForm.value.property_type_others&&null!=this.loanDetailsForm.value.property_type_others&&(t.property_type_others=this.loanDetailsForm.controls.property_type_others.value);var a=[];this.loanDetailsForm.controls.owner_name.value.forEach(function(e){a.push({owner_name:e})}),t.owner_name_group=a,t.construction_status=this.loanDetailsForm.controls.construction_status.value,t.percentage_of_construction=this.loanDetailsForm.controls.percentage_of_construction.value,t.emv_per_customer=this.loanDetailsForm.controls.emv_per_customer.value,t.loandetails_remarks=this.loanDetailsForm.controls.loandetails_remarks.value,console.log("data",t),this.qustCat.saveForm(t).subscribe(function(t){console.log("data",t),e.navCtrl.pop(),e.toast.pdTriggerappmessage("Record Saved Successfully.!")})},e.prototype.getLoanDetails=function(){var e=this;console.log("Entering LoanDetails GEt");this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(console.log("value",t),1==t.dataStatus){var n=t.records,o=Object.keys(n.end_use_group).map(function(e){return n.end_use_group[e]}),a=Object.keys(n.owner_name_group).map(function(e){return n.owner_name_group[e]});o.forEach(function(t){e.enduse.push(t.end_use),e.endUserList.push({end_use:t.end_use})});var i=[];if(a.forEach(function(t){i.push(t.owner_name),e.ownerNames.push({end_use:t.end_use})}),console.log("ownername",n),e.loanDetailsForm.controls.loan_amount.setValue(n.loan_amount),n.loan_amount&&(e.loanAmtInWords=e.constant.convertNumberToWords(n.loan_amount)),e.loanDetailsForm.controls.end_use.setValue(e.enduse),e.endUserChange(e.enduse),""!=n.end_use_other&&e.loanDetailsForm.controls.end_use_other.setValue(n.end_use_other),e.loanDetailsForm.controls.is_transfer.setValue(n.is_transfer),n.balance_transfer_amount&&(e.loanDetailsForm.controls.balance_transfer_amount.setValue(n.balance_transfer_amount),e.balTxrfAmtInWords=e.constant.convertNumberToWords(n.balance_transfer_amount)),n.topup_amount&&(e.loanDetailsForm.controls.topup_amount.setValue(n.topup_amount),e.topUpAmtInWords=e.constant.convertNumberToWords(n.topup_amount)),e.loanDetailsForm.controls.is_topup.setValue(n.is_topup),n.balance_transfer_amount&&e.loanDetailsForm.controls.balance_transfer_amount.setValue(n.balance_transfer_amount),n.topup_amount&&e.loanDetailsForm.controls.topup_amount.setValue(n.topup_amount),n.lender&&e.loanDetailsForm.controls.lender.setValue(n.lender),e.loanDetailsForm.controls.own_contribution.setValue(n.own_contribution),n.own_contribution&&(e.ownContributionInWords=e.constant.convertNumberToWords(n.own_contribution)),"yes"!=n.is_transfer){var s=[];Object.keys(n.source_group).map(function(e){return n.source_group[e]}).forEach(function(e){s.push(e.sources)}),e.loanDetailsForm.controls.source.setValue(s),e.sourceChange(s),n.other_source&&e.loanDetailsForm.controls.other_source.setValue(n.other_source),n.personal_loan_source&&e.loanDetailsForm.controls.personal_loan_source.setValue(n.personal_loan_source)}n.emi_level&&(e.loanDetailsForm.controls.emi_level.setValue(n.emi_level),e.emiAmtInWords=e.constant.convertNumberToWords(n.emi_level)),e.loanDetailsForm.controls.other_bt_lender.setValue(n.other_bt_lender),e.loanDetailsForm.controls.property_type.setValue(n.property_type),e.propertyType=n.property_type,""!=n.property_type_others&&(e.mortageAccess=!0,e.loanDetailsForm.controls.property_type_others.setValue(n.property_type_others)),e.loanDetailsForm.controls.owner_name.setValue(i),e.loanDetailsForm.controls.construction_status.setValue(n.construction_status),e.loanDetailsForm.controls.emv_per_customer.setValue(n.emv_per_customer),n.emv_per_customer&&(e.emvAmtInWords=e.constant.convertNumberToWords(n.emv_per_customer)),e.loanDetailsForm.controls.loandetails_remarks.setValue(n.loandetails_remarks)}})},e=m([Object(o.m)({selector:"page-pd-question-loans",template:'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n\n\n \n
\n \n \n \n \n {{"₹"}} {{loanAmtInWords}} Only\n \n \n \n {{ enduse.enduse_of_loan }}\n \n \x3c!--\n Puchase of property\n Construction\n Extention\n Improvement\n Working capital\n Purchase of business asset\n to close an existing debt\n Other purpose\n --\x3e\n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n {{"₹"}} {{balTxrfAmtInWords}} Only\n \n \n \n Yes\n No\n \n \n \n \n {{ btLen.lender_name }}\n \n \n \n \n \n \n \n \n {{"₹"}} {{topUpAmtInWords}} Only\n \n \n \n {{"₹"}} {{ownContributionInWords}} Only\n \n \n \n \n {{ sour.name }}\n \n \n \x3c!--\n Borrowed from Relatives & Friends\n Own money\n Loan from another lender\n --\x3e\n \n \n \n \n\n \n \n \n \n \n {{"₹"}} {{emiAmtInWords}} Only\n \n \n \n
\n \n \n

Mortgage\n

\n \n \n \n \n {{ typeprop.property_name }}\n \n \n \n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n {{ status.name }} {{status.id}}\n \n \n \n \n \n \n \n \x3c!--\n Under-construction\n Complete\n Vacant Land\n --\x3e\n \n \n \n {{"₹"}} {{emvAmtInWords}} Only\n \n \x3c!-- \n \n {{"₹"}} {{valAsPerAgmtInWords}} Only\n --\x3e\n \n \n

\n \n
\n
\n \n Remarks\n \n \n
\n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),d("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a,c.a])],e)}()},362:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.cons=s,this.existCompanyList=[],this.mergeCompanyApplicant=[],this.limitCaseFlag=[],this.amtInwords=[],this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,this.FormId=this.navParams.get("FormId"),this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 0==e.applicant_type||1==e.applicant_type}),this.applicants.push({pd_co_applicant_id:"0",applicant_name:"Others"}),console.log(this.pdDetails),this.users=this.aws.getlocale(),this.bankDetails=this.fb.group({bankitems:this.fb.array([]),banking_form_remark:[null]}),this.salaryField="SE"!=this.pdDetails.customer_segment_abbr.substring(0,2),this.getdropdown(),this.retiveBankDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBankingPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("ACCOUNTTYPE").subscribe(function(t){1==t.dataStatus&&(e.accountType=t.records)}),this.qustCat.getcommondrop("BTLENDERLIST").subscribe(function(t){1==t.dataStatus&&(e.m_btLenderList=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){console.log("Entering company List"),1==t.dataStatus&&(e.existCompanyList=t.records.filter(function(e){return!0===e.is_active&&!0===e.is_company_applicant}),console.log("company List",t.records))});var t=[];this.applicants.length>0&&(t=this.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),this.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:t}),console.log(this.mergeCompanyApplicant))},e.prototype.selectedAccTypeChanges=function(e,t){this.limitCaseFlag[t]=2!=e&&1!=e},e.prototype.inWords=function(e,t,n){switch(n){case 1:this.amtInwords[t]=this.cons.convertNumberToWords(e.target.value)}},e.prototype.ConvertMonthintoYear=function(e,t){var n=t%12,o=t/12;e.controls.vintage_year.setValue(+e.controls.vintage_year.value+ +Math.floor(o)),e.controls.vintage_month.setValue(Math.floor(n))},e.prototype.compareObjects=function(e,t){return e.id==t.id&&e.group_id==t.group_id},e.prototype.checkOthers=function(e){return null!=e&&0==e.id},e.prototype.createBankItem=function(e){return this.fb.group({applicant_name:[""],bank_name:[""],account_type:[""],salary:(this.pdDetails.customer_segment_abbr.substring(0,2),[""]),limit:[""],other_bank:[""],other_applicant:[""],vintage_year:[""],vintage_month:[""]})},e.prototype.addBankDetails=function(){this.bankitems=this.bankDetails.get("bankitems"),this.bankitems.push(this.createBankItem(""))},e.prototype.addmoreBankDetils=function(){this.bankitems=this.bankDetails.get("bankitems"),this.bankitems.push(this.createBankItem(""))},e.prototype.removebank=function(e){1==this.bankitems.length?this.bankitems.reset():this.bankitems.removeAt(e)},e.prototype.savepdBank=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.banking_details=e.bankitems,n.banking_form_remark=e.banking_form_remark,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){console.log("data",e),1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.retiveBankDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(1==t.dataStatus){var n=Object.keys(t.records.banking_details).map(function(e){return t.records.banking_details[e]});e.bankDetails.controls.banking_form_remark.setValue(t.records.banking_form_remark),e.bankitems=e.bankDetails.get("bankitems"),0==n.length?(console.log("Data=0"),e.bankitems.push(e.createBankItem(""))):(console.log("Data>0"),n.forEach(function(t,n){e.selectedAccTypeChanges(+t.account_type,n),""!=t.limit&&(e.amtInwords[n]=e.cons.convertNumberToWords(+t.limit)),e.bankitems.push(e.createBankItem(""))}),e.bankDetails.controls.bankitems.setValue(n))}else console.log("Data False"),e.addBankDetails()})},e=m([Object(o.m)({selector:"page-pd-question-banking",template:'\n\n \n \n {{FormId.form_name}}\n \n\n\n \x3c!-- \n \n --\x3e\n
\n
\n
\n\n \n \n
Banking details {{i+1}}
\n \n \x3c!-- \n \n \n \n --\x3e\n \n
\n
\n
\n \n \n \n {{val.name}} \n \n \n \n
\n \n \n \n
\n \n \n {{ btLen.lender_name }}\n \n \n
\n \n \n \n
\n \n\n \n {{bankacc.name}}\n\n \n\n \n \n
\n
\n \n\n \n Yes\n No\n NA\n \n \n \n
\n
\x3c!--*ngIf="bankinfo.get(\'account_type\').value==3 || bankinfo.get(\'account_type\').value==4">--\x3e\n In case of OD / CC account, What is the Limit \n \n {{"₹"}} {{amtInwords[i]}} only\n \n
\n\n \x3c!--

Is this the main business account (Yes / No)

--\x3e\n \x3c!--
--\x3e\n \x3c!-- --\x3e\n \x3c!-- --\x3e\n \x3c!-- Yes --\x3e\n \x3c!-- No --\x3e\n \x3c!-- --\x3e\n \x3c!-- --\x3e\n \x3c!--
--\x3e\n
\n

Approximate vintage of the account (No of years)

\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
'}),d("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a,c.a])],e)}()},363:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.aws=a,this.toast=i,this.filteredStates=["Co-Applicant 1 to x","Accountant","Manager","Relative of the applicant","Friend of the Applicant","DSA","Other"],this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.getFamilyData(),this.familyForm=this.fb.group({person:[null],personOther:[null],members:[null],residence:[null],years:[null],ownership:[null],ownershipOther:[null],rent:[null],family_details_form_remark:[null],earningMembers:this.fb.array([]),nonEarningMembers:this.fb.array([])}),this.getRelation(),this.getoccupation()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionFamilyPage")},e.prototype.getRelation=function(){var e=this;this.qustCat.getcommondrop("RELATIONSHIPS").subscribe(function(t){1==t.dataStatus&&(e.relationData=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.getoccupation=function(){var e=this;this.qustCat.getcommondrop("OCCUPATIONMEMBERS").subscribe(function(t){1==t.dataStatus&&(e.occupationData=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createMembers=function(){return this.fb.group({relation:[null],segment:[null],income:[null],employerName:[null]})},e.prototype.addearningMembers=function(){this.items=this.familyForm.get("earningMembers"),this.items.push(this.createMembers())},e.prototype.deleteEarningMembers=function(e){this.items.removeAt(e)},e.prototype.createNonMembers=function(){return this.fb.group({relationship:[null],occupation:[null],retired:[null]})},e.prototype.addMembers=function(){this.membersitem=this.familyForm.get("nonEarningMembers"),this.membersitem.push(this.createNonMembers())},e.prototype.deleteMembers=function(e){this.membersitem.removeAt(e)},e.prototype.savepdfamily=function(e){var t=this;console.log(e);var n={};n.no_of_years=e.years,n.ownership="Others"==e.ownership?e.ownershipOther:e.ownership,n.residence=e.residence,"Rented"==e.ownership&&(n.what_rent=e.rent),n.person_met="Other"==e.person?e.personOther.value:e.person,n.family_members=e.members,n.earning_members=e.earningMembers,n.non_earning_members=e.nonEarningMembers,n.pdid=this.pdDetails.pd_id,n.formid="335",n.fk_createdby=this.users,n.family_details_form_remark=e.family_details_form_remark,console.log("params",n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getFamilyData=function(){var e=this,t=[],n=[];this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"335"}).subscribe(function(o){if(1==o.dataStatus){n=Object.keys(o.records.non_earning_members).map(function(e){return o.records.non_earning_members[e]}),console.log(n),e.familyForm.controls.family_details_form_remark.setValue(o.records.family_details_form_remark),t=Object.keys(o.records.earning_members).map(function(e){return o.records.earning_members[e]}),console.log(t);var a=o.records;e.familyForm.controls.person.setValue(a.person_met),e.familyForm.controls.personOther.setValue(a.personOther),e.familyForm.controls.members.setValue(a.family_members),e.familyForm.controls.residence.setValue(a.residence),e.familyForm.controls.years.setValue(a.no_of_years),e.familyForm.controls.ownership.setValue(a.ownership),e.familyForm.controls.ownershipOther.setValue(a.ownershipOther),e.familyForm.controls.rent.setValue(a.rent),e.items=e.familyForm.get("earningMembers"),e.membersitem=e.familyForm.get("nonEarningMembers"),0==t.length?e.items.push(e.createMembers()):t.forEach(function(t){e.items.push(e.createMembers())}),e.familyForm.controls.earningMembers.setValue(t),0==n.length?e.membersitem.push(e.createNonMembers()):n.forEach(function(t){e.membersitem.push(e.createNonMembers())}),e.familyForm.controls.nonEarningMembers.setValue(n)}})},e=c([Object(o.m)({selector:"page-pd-question-family",template:'\n\n \n \n Family Category\n \n \n \n \n \n\n\n\n
\n \n \n \n \n {{state}}\n \n \n \n {{person}}\n \n \n \n \n \n \n \n \n \n

Earning Members\n

\n \n

\n
\n \n \n \n \n {{relation.name}}\n \n \n \n \n \n Salaried\n SENP\n SEP\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n

Non Earning Members\n

\n \n

\n
\n \n \n \n \n {{relation.name}}\n \n \n \n \n \n {{occupation.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

Residence\n

\n \n \n \n \n \n \n \n \n \n \n Self Owned\n Family Owned\n Rented\n Others\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n

\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},364:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(30),c=n(9),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.constprovider=s,this.m_any_asset_loan_type=[{value:"yes",viewValue:"Yes"},{value:"no",viewValue:"No"},{value:"nan",viewValue:"NA"}],this.FormList=!1,this.loadDetails=!0,this.appxMarketAmtInwords=[],this.OtherAppxMarketAmtInwords=[],this.emiAmtInwords=[],this.OtherEmiAmtInwords=[],this.PremiumPaidInwords=[],this.OtherPremiumPaidInwords=[],this.SumAssuredInwords=[],this.OtherSumAssuredInwords=[],this.AmtInvestInwords=[],this.AssetValueInwords=[],this.OtherAssetValueInwords=[],this.B_emiAmtInwords=[],this.O_emiAmtInwords=[],this.existCompanyList=[],this.mergeCompanyApplicant=[],this.apiLoadFinish=!1,this.assestInfo="busass",this.FormId=this.navParams.get("FormId"),console.log(this.FormId),this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,this.users=this.aws.getlocale(),this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 0==e.applicant_type||1==e.applicant_type}),this.applicants.push({pd_co_applicant_id:"0",applicant_name:"Others"}),this.AssetsDetailsForm=this.fb.group({assets_details:this.fb.array([]),assets_form_remark:[""]}),this.getAssetDetails(),this.getdropList(),this.loadDetails=!0}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssestsPage")},e.prototype.getdropList=function(){var e=this;this.qustCat.getcommondrop("ASSETTYPE").subscribe(function(t){1==t.dataStatus&&(e.m_assets_type=t.records.filter(function(e){return 1==e.isactive&&4!=e.id}))}),this.qustCat.getcommondrop("PROPERTIES").subscribe(function(t){1==t.dataStatus&&(e.m_propertyType=t.records)}),this.qustCat.getcommondrop("INVESTMENTTYPE").subscribe(function(t){1==t.dataStatus&&(e.m_investmentType=t.records)}),this.qustCat.getcommondrop("INSURANCETYPE").subscribe(function(t){1==t.dataStatus&&(e.m_insuranceType=t.records)}),this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records)}),this.qustCat.getcommondrop("RELATIONSHIPS").subscribe(function(t){1==t.dataStatus&&(e.m_relation=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){console.log("Entering company List"),1==t.dataStatus&&(e.existCompanyList=t.records.filter(function(e){return!0===e.is_active&&!0===e.is_company_applicant}),console.log("company List",t.records));var n=[];e.existCompanyList.length>0&&(n=e.existCompanyList.map(function(e){return{id:e.company_order_id.toString(),name:e.company_name,group_id:1}}),e.mergeCompanyApplicant.push({groupName:"COMPANIES",groupValues:n}),console.log("Company applicant",e.mergeCompanyApplicant))});var t=[];this.applicants.length>0&&(t=this.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),this.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:t}),console.log("Applicants",this.mergeCompanyApplicant))},e.prototype.createAsset=function(){return this.fb.group({assets_mode:[null],details:this.fb.array([]),approximate_market_value:[null],name_of_the_owner:[""],other_owner:[""],purchase_year:[null,i.m.compose([i.m.minLength(4),i.m.maxLength(4)])],vintage_personal:[""],emi:[null],emi_paid:[null],elapsed_tenure:[null],balance_tenure:[null],original_loan_tenure:[null]})},e.prototype.addAsset=function(e){1==e&&(this.assetItem=this.AssetsDetailsForm.get("assets_details"),this.assetItem.push(this.createAsset()))},e.prototype.deleteAsset=function(e,t){1==t&&(this.assetItem=this.AssetsDetailsForm.get("assets_details"),1==this.assetItem.length?this.AssetsDetailsForm.controls.assets_details.reset():this.assetItem.removeAt(e))},e.prototype.compareObjects=function(e,t){return e.id==t.id&&e.group_id==t.group_id},e.prototype.loanCalc=function(e,t){if(1==t){null!=e.value.original_loan_tenure&&""!=e.value.original_loan_tenure&&null!=e.value.balance_tenure&&""!=e.value.balance_tenure&&e.controls.elapsed_tenure.setValue(e.value.original_loan_tenure-e.value.balance_tenure)}},e.prototype.selectedAssetsType=function(e,t,n){console.log(e),console.log(t),console.log(n);var o=t;if(1==n){this.AssetsDetailsForm.controls.assets_details.at(o).get("details").controls.splice(0)}switch(e.value){case"1":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.otherAssetsDescription());break;case"2":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.loadProperty());break;case"3":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.load_Four_Weeler());break;case"4":this.AssetsDetailsForm.controls.assets_details.at(o).get("details");break;case"5":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.loadConsumerDurableDescription());break;case"6":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.loadInsuranceDescription());break;case"7":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.loadInvestDescription());break;case"8":this.AssetsDetailsForm.controls.assets_details.at(o).get("details").push(this.otherAssetsDescription())}},e.prototype.loadProperty=function(){return this.fb.group({property_type:[""],other_property_type:[""]})},e.prototype.loadJwellDescription=function(){return this.fb.group({})},e.prototype.loadConsumerDurableDescription=function(){return this.fb.group({consumer_durable_description:[null]})},e.prototype.otherBusinessAssetsDescription=function(){return this.fb.group({any_other_assets:[""],any_other_asset_value:[""],any_other_asset_loan:[""]})},e.prototype.otherAssetsDescription=function(){return this.fb.group({any_other_assets:[""],any_other_asset_value:[""],any_other_asset_loan:[""]})},e.prototype.loadInsuranceDescription=function(){return this.fb.group({insurance_type:[null],premium_paid:[null],frequency_mode:[null],other_frequency_mode:[null],sum_assured:[null],members_coverd:[null]})},e.prototype.loadInvestDescription=function(){return this.fb.group({investments_type:[""],other_investments_type:[""],amount_of_invest:[""],bank_name:[""]})},e.prototype.load_Four_Weeler=function(){return this.fb.group({manufacturer_model_vehicle:[""]})},e.prototype.load_Two_Weeler=function(){return this.fb.group({manufacturer_model_two_weeler:[""]})},e.prototype.loadPropertyWithData=function(e){return this.fb.group({property_type:[e.property_type],other_property_type:[e.other_property_type]})},e.prototype.loadJwellDescriptionWithData=function(e){return this.fb.group({})},e.prototype.loadConsumerDurableDescriptionWithData=function(e){return this.fb.group({consumer_durable_description:[e.consumer_durable_description]})},e.prototype.otherAssetsDescriptionWithData=function(e){return this.fb.group({any_other_assets:[e.any_other_assets],any_other_asset_value:[e.any_other_asset_value],any_other_asset_loan:[e.any_other_asset_loan]})},e.prototype.otherBusinessAssetsDescriptionWithData=function(e){return this.fb.group({any_other_assets:[e.any_other_assets],any_other_asset_value:[e.any_other_asset_value],any_other_asset_loan:[e.any_other_asset_loan]})},e.prototype.loadInsuranceDescriptionWithData=function(e){return this.fb.group({premium_paid:[e.premium_paid],frequency_mode:[e.frequency_mode],other_frequency_mode:[e.other_frequency_mode],sum_assured:[e.sum_assured],members_coverd:[e.members_coverd]})},e.prototype.loadInvestDescriptionWithData=function(e){return this.fb.group({investments_type:[e.investments_type],other_investments_type:[e.other_investments_type],amount_of_invest:[e.amount_of_invest],bank_name:[e.bank_name]})},e.prototype.load_Four_WeelerWithData=function(e){return this.fb.group({manufacturer_model_vehicle:[e.manufacturer_model_vehicle]})},e.prototype.load_Two_WeelerWithData=function(e){return this.fb.group({manufacturer_model_vehicle:[e.manufacturer_model_vehicle]})},e.prototype.saveAssetDetails=function(e){var t=this;console.log(e),Object.keys(e).forEach(function(t){return null==e[t]&&delete e[t]}),e.assets_details.map(function(e){"no"==e.emi&&(e.emi_paid="",e.elapsed_tenure="",e.balance_tenure="",e.original_loan_tenure="")}),e.pdid=this.pdDetails.pd_id,e.formid=this.FormId.form_id,e.fk_createdby=this.users,console.log("final",e),this.qustCat.saveForm(e).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getAssetDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(1==t.dataStatus){var n=Object.keys(t.records.assets_details).map(function(e){return t.records.assets_details[e]});if(e.AssetsDetailsForm.controls.assets_form_remark.setValue(t.records.assets_form_remark),n.length>0)for(var o=0,a=n;o\n \n \n {{FormId.form_name}}\n \n\n\n \n
\n \x3c!-- *ngIf="apiLoadFinish && loadDetails"--\x3e\n
\n
\n
\n \n
Asset Details # {{i+1}}
\n \n
\n
\n \n \n {{ asset.name }}\n \n \n
\n \x3c!--Desction Dynamic details: START--\x3e\n
\n \x3c!--Property--\x3e\n
\n \n
\n
\n
\n \n \n \n \n \n {{"₹"}} {{OtherAssetValueInwords[s]}} Only\n \n \n \n {{data.viewValue}}\n \n \n \x3c!--\n \n --\x3e\n
\n
\n
\n \n
\n \x3c!--Four Wheeler--\x3e\n
\n
\n
\n
\n
\n \n \n {{ prop.name }}\n \n \n \n \n \n
\n
\n
\n
\n
\n \x3c!--Two Wheeler--\x3e\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \x3c!--jwell details --\x3e\n \x3c!--
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
--\x3e\n \x3c!--Consumer Durable--\x3e\n \x3c!--
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
--\x3e\n \x3c!--Insurance--\x3e\n
\n
\n
\n
\n
\n \n
\n \n \n {{"₹"}} {{PremiumPaidInwords[s]}} Only\n \n
\n
\n \n \n {{ freqn.name }}\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n {{"₹"}} {{SumAssuredInwords[s]}} Only\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \x3c!--Investments--\x3e\n
\n
\n
\n
\n
\n
\n \n \n {{ ins_type.name }}\n \n \n \n \n \n
\n
\n \n \n {{"₹"}} {{AmtInvestInwords[s]}} Only\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \x3c!--other assets--\x3e\n \x3c!--
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
--\x3e\n
\n \n \x3c!--Desction Dynamic details : END --\x3e\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 \x3c!--
\n \n \n \n \n \n ksjdf\n \n \n \n \n
--\x3e\n \x3c!--
\n \n \n \n
--\x3e\n \n
\n \n\n Vintage\n \n \x3c!-- Invalid format --\x3e\n\n \n \n
\n \n \n \n \n
\n
\n \n \x3c!-- \n \n Yes\n No\n \n \n --\x3e \n
\n
\n
\n \n

Is there a loan?

\n \n \n YES\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 \n \n Remarks\n \n \n \n \n\n\n\n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n\n \n
\n
'}),d("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,c.a,l.a])],e)}()},365:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(7),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustCat=o,this.aws=a,this.toast=i,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.otherIncomeForm=this.fb.group({other_income:[null],otherincome_remarks:[null],income_details:this.fb.array([])}),this.getOtherIncome(),this.getFrequency()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionOtherIncomePage")},e.prototype.createDetail=function(){return this.fb.group({source:[null],amount:[null],frequency:[null]})},e.prototype.addIncomeDetails=function(){this.incomeDetails=this.otherIncomeForm.get("income_details"),this.incomeDetails.push(this.createDetail())},e.prototype.deleteIncomeDetails=function(e){this.incomeDetails=this.otherIncomeForm.get("income_details"),this.incomeDetails.removeAt(e)},e.prototype.checkotherDetails=function(e){"Yes"==e&&this.addIncomeDetails()},e.prototype.getFrequency=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.frequencyData=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.submitOtherIncome=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid="337",n.fk_createdby=this.users,n.other_income=e.other_income,n.income_details=e.income_details,n.otherincome_remarks=e.otherincome_remarks,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){console.log("data",e),t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!")},function(e){})},e.prototype.getOtherIncome=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"337"}).subscribe(function(t){if(1==t.dataStatus){var n=Object.keys(t.records.income_details).map(function(e){return t.records.income_details[e]});e.otherIncomeDetails=t.records,console.log(e.otherIncomeDetails),e.otherIncomeForm.controls.other_income.setValue(e.otherIncomeDetails.other_income),e.otherIncomeForm.controls.otherincome_remarks.setValue(e.otherIncomeDetails.otherincome_remarks),e.incomeDetails=e.otherIncomeForm.get("income_details"),0==n.length?e.incomeDetails.push(e.createDetail()):n.forEach(function(t){e.incomeDetails.push(e.createDetail())}),e.otherIncomeForm.controls.income_details.setValue(n)}})},e=c([Object(o.m)({selector:"page-pd-question-other-income",template:'\n\n \n \n Other Income Category\n\n\n \n\n\n\n\n\n
\n \n \n Yes\n No\n \n \n \n \n \n \n
\n
\n

Loan Details{{i+1}}

\n \n \n \n Rental Income\n Interest Income\n Agricultural Income\n Dividend Income and Others\n \n \n \n \n \n \n \n {{frq.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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},366:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this._fb=i,this.qualifications=["Graduate","Under Graduate","Post Graduate","Professional"],this.earningStatus=["Earning Member","House Wife","Student","Retired","Pensioner","Other Non earning member"],this.relationShipList=[],this.mainApplicantQuestions=["Name","Age","Entity","Educational Qualification","Earning Status"],this.coApplicantQuestions=["Name","Age","Entity","Educational Qualification","Earning Status","Relationship"],this.mainApplicantDetails=[],this.coApplicantDetails=[],this.repeat=3,this.loadDataStatus=!1,this.questionDetails=this.navParams.get("questionDetails"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),console.log(this.pdDetails)}return e.prototype.ngOnInit=function(){this.loadPDDetails(),this.getRelationMaster(),this.mainApplicantDetails=this.pdDetails.applicat_details.filter(function(e){return 1==e.applicant_type}),this.coApplicantDetails=this.pdDetails.applicat_details.filter(function(e){return 0==e.applicant_type})},e.prototype.loadPDDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"341"}).subscribe(function(t){if(200==t.status)e.loadFormWithIDData(t.records);else{var n=[];if(e.mainApplicantDetails.length>0)for(var o=0;o\n\n \n \n Personal Info Category\n \n \n \n \n \n\n\n\n \n
\n\n \n \x3c!-- start main applicant details --\x3e\n \n
\n \n
\n \n \n Main Applicant\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{education}}\n \n \n \n \n \n \n \n {{earning}}\n \n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \x3c!-- end main applicant details --\x3e\n \n \x3c!-- start co applicant form details --\x3e\n
\n \n \n Co Applicant\n \n
\n
\n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n \n {{education}}\n \n \n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n {{earning}}\n \n \n \n \n \x3c!-- {{coDetails.controls.pd_question.value}} --\x3e\n \n \n {{rel.name}}\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 \x3c!-- end co applicant form details --\x3e\n
\n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},367:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(11),s=n(7),r=n(9),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){var s=this;this.navCtrl=e,this.navParams=t,this.qustCat=n,this.aws=o,this.toast=a,this.fb=i,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.stockForm=this.fb.group({stock_remarks:[""],raw_materials:this.fb.array([]),finished_goods:this.fb.array([])}),this.getStockDetails(),this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:"1"}).subscribe(function(e){var t=s.stockForm.controls.raw_materials.at(0);console.log(t),s.rawmaterial=1==e.dataStatus?e.records.main_raw_materials:""}),this.getdropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionStockInfoPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("UOM").subscribe(function(t){1==t.dataStatus&&(e.uomData=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createRawmaterial=function(){return this.fb.group({raw_name:[""],stock_observed:[""],raw_quantity:[""],raw_uom:[""],other_uom:[""],raw_value:[""],rawmaterial_value:[""],is_sufficiant_raw:[""]})},e.prototype.createGoods=function(){return this.fb.group({goods_name:[""],goods_quantity:[""],goods_value:[""],finished_goods_value:[""],is_sufficiant_goods:[""]})},e.prototype.addRawMaterials=function(){this.stockForm.controls.raw_materials.push(this.createRawmaterial())},e.prototype.deleteRawMaterials=function(e){var t=this.stockForm.controls.raw_materials;1==t.length?this.stockForm.controls.raw_materials.reset():t.removeAt(e)},e.prototype.addGoods=function(){this.stockForm.controls.finished_goods.push(this.createGoods())},e.prototype.deleteGoods=function(e){var t=this.stockForm.controls.finished_goods;1==t.length?this.stockForm.controls.finished_goods.reset():t.removeAt(e)},e.prototype.submitDetails=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.raw_materials=e.raw_materials,n.stock_remarks=e.stock_remarks,n.finished_goods=e.finished_goods,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!")})},e.prototype.getStockDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){console.log("value",t);var n=e.stockForm.controls.raw_materials,o=e.stockForm.controls.finished_goods;if(1==t.dataStatus){var a=t.records,i=Object.keys(a.raw_materials).map(function(e){return a.raw_materials[e]}),s=Object.keys(a.finished_goods).map(function(e){return a.finished_goods[e]});e.stockForm.controls.stock_remarks.setValue(a.stock_remarks),i.length>0?(i.forEach(function(t){n.push(e.createRawmaterial())}),e.stockForm.controls.raw_materials.setValue(i)):n.push(e.createRawmaterial()),s.length>0?(s.forEach(function(t){o.push(e.createGoods())}),e.stockForm.controls.finished_goods.setValue(s)):o.push(e.createGoods())}else e.addRawMaterials(),e.addGoods()})},e=c([Object(o.m)({selector:"page-pd-question-stock-info",template:'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n\n\n \n
\n \n \n \n \n

Raw Materials

\n
\n
\n
\n \n \n \n \n \n \n Yes\n No\n \n \n
\n \n \n \n \n \n {{uom.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

Finished Goods

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n \n\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},368:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var o=n(0),a=n(5),i=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=function(){function e(e,t){this.navCtrl=e,this.navParams=t}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionFinancialInfoPage")},e=i([Object(o.m)({selector:"page-pd-question-financial-info",template:"\x3c!--\n Generated template for the PdQuestionFinancialInfoPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n pdQuestionFinancialInfo\n \n\n\n\n\n\n\n\n"}),s("design:paramtypes",[a.r,a.s])],e)}()},369:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(9),r=n(11),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.toast=o,this.qustCat=a,this.fb=i,this.FormId=this.navParams.get("FormId"),this.pdDetails=this.navParams.get("pdDetails"),this.users=this.aws.getlocale(),this.rentalForms=this.fb.group({person_met:[null,l.m.compose([l.m.required])],property_own:[null,l.m.compose([l.m.required])],nature_property:[null,l.m.compose([l.m.required])],nature_others:[null],rental_home:this.fb.array([])}),this.getRentalDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionRentalInfoPage")},e.prototype.createrentalHome=function(){return this.fb.group({complete_add:[null,l.m.compose([l.m.required])],area_of_property:[null,l.m.compose([l.m.required])],structure_property:[null,l.m.compose([l.m.required])],total_room:[null,l.m.compose([l.m.required])],is_rent:[null,l.m.compose([l.m.required])],date_agreement:[null,l.m.compose([l.m.required])],date_validity:[null,l.m.compose([l.m.required])],rent_agreement:[null,l.m.compose([l.m.required])],actual_rent:[null,l.m.compose([l.m.required])],photo_areegment:[null,l.m.compose([l.m.required])],property_photographs:[null],bank:[null,l.m.compose([l.m.required])],cash:[null,l.m.compose([l.m.required])],rent_each_floor:[null,l.m.compose([l.m.required])],total_rent:[null,l.m.compose([l.m.required])],related_doc_owner:[null,l.m.compose([l.m.required])],details_tenants:this.fb.array([]),third_party_check:[null,l.m.compose([l.m.required])]})},e.prototype.createTenantsDetails=function(){return this.fb.group({name:[null,l.m.compose([l.m.required])],mobile_no:[null,l.m.compose([l.m.required])],tenants_seen:[null,l.m.compose([l.m.required])],tenants_con_owner:[null,l.m.compose([l.m.required])],rent_paid:[null,l.m.compose([l.m.required])],staying_since:[null,l.m.compose([l.m.required])]})},e.prototype.addrentalHome=function(){this.rentalForms.get("rental_home").push(this.createrentalHome()),this.addTenantsDetails(0)},e.prototype.addTenantsDetails=function(e){var t=this.rentalForms.controls.rental_home.at(e).get("details_tenants");console.log(t),t.push(this.createTenantsDetails())},e.prototype.deleteTenantsDetails=function(e,t){this.rentalForms.controls.rental_home.at(e).get("details_tenants").removeAt(t)},e.prototype.deleterentalHome=function(e){var t=this.rentalForms.controls.rental_home;1==t.length?this.rentalForms.controls.rental_home.reset():t.removeAt(e)},e.prototype.saveRentalDetails=function(e){var t=this,n={};console.log(this.rentalForms.value),n.pdid=this.pdDetails.pd_id,n.formid=this.FormId.form_id,n.fk_createdby=this.users,n.person_met=e.person_met,n.property_own=e.property_own,n.nature_property=e.nature_property,"others"==e.nature_property&&(n.nature_others=e.nature_others),n.rental_home=e.rental_home,Object.keys(n.rental_home).forEach(function(t){return null==n.rental_home[t]&&delete e[t]}),console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop())})},e.prototype.getRentalDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(console.log(t),1==t.dataStatus){var n,o=t.records,a=Object.keys(t.records.rental_home).map(function(e){return t.records.rental_home[e]}),i=e.rentalForms.controls.rental_home;a.forEach(function(t,o){console.log(o),console.log(i),a[o].details_tenants=Object.keys(t.details_tenants).map(function(e){return t.details_tenants[e]}),i.push(e.createrentalHome()),n=e.rentalForms.controls.rental_home.at(o).get("details_tenants"),a[o].details_tenants.forEach(function(t,o){n.push(e.createTenantsDetails())})}),e.rentalForms.controls.person_met.setValue(o.person_met),e.rentalForms.controls.property_own.setValue(o.property_own),e.rentalForms.controls.nature_property.setValue(o.nature_property),"others"==o.nature_property&&e.rentalForms.controls.nature_others.setValue(o.nature_others),e.rentalForms.controls.rental_home.setValue(a),console.log(e.rentalForms)}else e.addrentalHome()})},e.prototype.createTenantsDetailswithData=function(e,t){return this.fb.group({name:[t.name],mobile_no:[t.mobile_no],tenants_seen:[t.tenants_seen],tenants_con_owner:[t.tenants_con_owner],rent_paid:[t.rent_paid],staying_since:[t.staying_since]})},e.prototype.validateAllFormFields=function(e){var t=this;Object.keys(e.controls).forEach(function(n){var o=e.get(n);o instanceof l.d?o.markAsTouched({onlySelf:!0}):o instanceof l.e?t.validateAllFormFields(o):o instanceof l.b&&t.validateAllFormFields(o)})},e=c([Object(o.m)({selector:"page-pd-question-rental-info",template:'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n
\n \n \n \n \n \n \n Applicant\n Co-Applicant\n Parental\n\n \n \n \n \n Residential/commercial\n Others\n \n \n \n \n \n \n
\n
\n \n Rentel Home Details {{rent_i+1}}\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n\n \n \n \n

Is Rent agreement available

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

Photo of agreement taken ?

\n \n Yes\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

Details of the tenants {{i+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 \n
\n \n \n \n \n \n \n\n \n
\n
\n \n \n \x3c!-- \n \n --\x3e\n \n \n \n \x3c!-- \n \n --\x3e\n \n \n \n
\n
\n
\n \n\n\n\n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n\n \n
\n
'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},370:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(4),r=n(11),l=n(9),c=n(371),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.fb=o,this.qustCat=a,this.toast=i,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.assessedForm=this.fb.group({calc_type_id:[null],fk_pd_id:[this.pdDetails.pd_id],mode:[null,s.m.compose([s.m.required])],margin:[null],fk_createdby:[this.users],fk_updatedby:[null]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedDashPage")},e.prototype.ionViewCanEnter=function(){this.getassessedIncome()},e.prototype.getViewPage=function(e){this.navCtrl.push(c.a,{pdDetails:this.pdDetails,pageId:e})},e.prototype.saveAssessedForm=function(e){var t=this;if(console.log(this.assessedForm.value),this.assessedForm.valid){var n={records:this.assessedForm.value};console.log("data",n),this.qustCat.saveassessedForms("saveAssessedIncomeCalculateMode",n).subscribe(function(e){1==e.dataStatus&&t.getassessedIncome()})}},e.prototype.getassessedIncome=function(){var e=this;this.qustCat.retiverassessedForm("getAssessedIncome",{pd_id:this.pdDetails.pd_id}).subscribe(function(t){1==t.dataStatus?(e.assessedProcess=!0,e.grossprofit=t.records.gross_profit_calculation_type[0],0!=t.records.purchase_details.length&&(e.purchaseData=!0),0==t.records.sales_items_by_monthwise.length&&0==t.records.sales_declared_by_customer.length&&0==t.records.sales_calculated_by_itemwise.length||(e.salesData=!0),0!=t.records.business_expenses.length&&(e.businessData=!0),0!=t.records.house_hold_expenses.length&&(e.houseExpenseData=!0),0!=t.records.othre_business_income.length&&(e.businessIncome=!0),console.log(t.records.final_data.length),0!=t.records.final_data.length&&(e.finalAccess=!0,e.finalData=t.records.final_data[0],e.finalIncome=e.finalData.income,e.finalExpense=e.finalData.expense),console.log(e.grossprofit),void 0!==e.grossprofit&&(e.grossAccess=!0,e.assessedForm.controls.mode.setValue(e.grossprofit.mode),e.assessedForm.controls.margin.setValue(e.grossprofit.margin),e.assessedForm.controls.calc_type_id.setValue(e.grossprofit.calc_type_id))):e.assessedProcess=!1})},e=m([Object(o.m)({selector:"page-pd-question-assessed-dash",template:'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n \n \n \n \n \n \n Purchase Calculation\n \n \n \n
\n \n

Purchase Detail Available

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

Sales

\n \n Gross Margin\n Net Margin\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

PURCHASE

\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

HOUSE HOLD

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

OTHER BUSINESS INCOME

\n
\n
\n
\n \n

SUMMARY

\n
\n \n \n
Business Revenue
\n
\n \n
{{finalIncome.sales_revenue}}
\n
\n
\n
\n \n \n
Purchase
\n
\n \n
{{finalExpense.purchase}}
\n
\n
\n
\n \n \n
Gross Profit
\n
\n \n
{{finalData.gross_profit}}
\n
\n
\n
\n \n \n
Business Expense
\n
\n \n
{{finalExpense.business_expense}}
\n
\n
\n
\n \n \n
Business Income
\n
\n \n
{{finalData.other_business_income}}
\n
\n
\n
\n \n \n
Net Profit
\n
\n \n
{{finalExpense.net_profit}}
\n
\n
\n
\n \n
\n
\n
'}),d("design:paramtypes",[a.r,a.s,i.a,s.c,r.a,l.a])],e)}()},371:function(e,t,n){"use strict";n.d(t,"a",function(){return g});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=n(372),m=n(373),d=n(374),u=n(375),p=n(376),f=n(377),h=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},_=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},g=function(){function e(e,t,n,o,a,i){switch(this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.houseannual=[],this.expenseannual=[],this.sales_item_month_value=[],this.sales_wise_month_headers=[],this.sales_month_wise_data=[],this.grandpurchaseTotal=null,this.annual=[],this.pdDetails=this.navParams.get("pdDetails"),this.pageId=this.navParams.get("pageId"),this.pageId){case 1:this.FormName="Sales Page";break;case 2:this.FormName="Purchase Page";break;case 3:this.FormName="Business Expense Page";break;case 4:this.FormName="House Hold Page";break;default:this.FormName="Question Page"}this.users=this.aws.getlocale(),this.assessedForm=this.fb.group({sdc_id:[null],sales_declared_by_customer:[null],fk_pd_id:[this.pdDetails.pd_id],margin_per:[null],margin_value:[null],isactive:[1],fk_createdby:[this.users]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedInfoPage")},e.prototype.ionViewDidEnter=function(){},e.prototype.ionViewCanEnter=function(){this.getAssessedDetails()},e.prototype.getMarginCalc=function(){var e=this.assessedForm.controls.margin_per.value,t=this.assessedForm.controls.sales_declared_by_customer.value;if(null!=e&&null!=t){this.assessedForm.controls.margin_value.setValue(t*(e/100))}},e.prototype.saveData=function(e){var t=this,n={};n={records:e},console.log(n),this.qustCat.saveassessedForms("saveAssessedIncomeSalesDeclaredByCustomer",n).subscribe(function(e){1==e.dataStatus&&(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.getAssessedDetails())})},e.prototype.getAssessedDetails=function(){var e=this;this.sales_item_month_value=[],this.sales_month_wise_data=[],this.sales_item_value=[];this.qustCat.retiverassessedForm("getAssessedIncome",{pd_id:this.pdDetails.pd_id}).subscribe(function(t){if(1==t.dataStatus){var n=t.records.sales_declared_by_customer[0];e.sales_item_value=t.records.sales_calculated_by_itemwise,e.sales_item_month_value=t.records.sales_items_by_monthwise,e.purchse_details=t.records.purchase_details,e.grossprofitCalc=t.records.gross_profit_calculation_type[0],e.mode=e.grossprofitCalc.mode,console.log(e.grossprofitCalc);var o=e.purchse_details.reduce(function(e,t){return e},[]);console.log(o),e.businessExpenses_details=t.records.business_expenses,e.houseHold_details=t.records.house_hold_expenses,e.busissnessIncome=t.records.othre_business_income,e.sales_item_month_value.forEach(function(t,n){var o=Object.keys(t.items).map(function(e){return{header:e,value:t.items[e]}}),a=[];o.forEach(function(e,t){var n=e.value.reduce(function(e,t){return e+Number(t.sales_value)},0);a.push({items:e,itemsTotal:n})});var i=a.reduce(function(e,t){return e+Number(t.itemsTotal)},0),s=12/a.length,r=[];r.push({month_message:a.length+" Month Sales : "+i,month_value:i,year_message:" Yearly Sales Arrived : "+i*s,year_value:i*s}),e.sales_month_wise_data.push({salesItem:t.sales_item,expandElements:o,footerMessage:r,simId:t.sim_id})}),console.log(e.sales_month_wise_data),void 0!==n&&(e.assessedForm.controls.sdc_id.setValue(n.sdc_id),e.assessedForm.controls.sales_declared_by_customer.setValue(n.sales_declared_by_customer),e.assessedForm.controls.margin_value.setValue(n.margin_value),e.assessedForm.controls.margin_per.setValue(n.margin_per))}})},e.prototype.AddAssessedForm=function(){this.navCtrl.push(c.a,{pdDetails:this.pdDetails,sales:null,grossprofit:this.grossprofitCalc})},e.prototype.editDetails=function(e){var t=this.sales_item_value.filter(function(t){return t.sci_id==e});console.log(t),this.navCtrl.push(c.a,{pdDetails:this.pdDetails,sales:t,grossprofit:this.grossprofitCalc})},e.prototype.editAllDetails=function(e){this.navCtrl.push(c.a,{pdDetails:this.pdDetails,sales:e,grossprofit:this.grossprofitCalc})},e.prototype.AddAssessedDailyForm=function(){this.navCtrl.push(m.a,{pdDetails:this.pdDetails,salesDaily:null,grossprofit:this.grossprofitCalc})},e.prototype.editAssessedDailyForm=function(e){var t=this.sales_item_month_value.filter(function(t){return t.sim_id==e});console.log(t),this.navCtrl.push(m.a,{pdDetails:this.pdDetails,salesDaily:t,grossprofit:this.grossprofitCalc})},e.prototype.AddPurchaseForm=function(){this.navCtrl.push(d.a,{pdDetails:this.pdDetails,purchase:null})},e.prototype.editPurchaseDetails=function(e){var t=this.purchse_details.filter(function(t){return t.purchase_id==e});console.log(t),this.navCtrl.push(d.a,{pdDetails:this.pdDetails,purchase:t})},e.prototype.editPurchaseAllDetails=function(e){console.log("260",e),this.navCtrl.push(d.a,{pdDetails:this.pdDetails,purchase:e})},e.prototype.AddExpenseForm=function(){this.navCtrl.push(u.a,{pdDetails:this.pdDetails,expense:null})},e.prototype.editExpenseDetails=function(e){var t=this.businessExpenses_details.filter(function(t){return t.pd_expense_id==e});console.log(t),this.navCtrl.push(u.a,{pdDetails:this.pdDetails,expense:t})},e.prototype.editExpenseAllDetails=function(e){this.navCtrl.push(u.a,{pdDetails:this.pdDetails,expense:e})},e.prototype.AddHouseExpenseForm=function(){this.navCtrl.push(p.a,{pdDetails:this.pdDetails,expense:null})},e.prototype.editHouseExpenseDetails=function(e){var t=this.houseHold_details.filter(function(t){return t.household_expense_id==e});console.log(t),this.navCtrl.push(p.a,{pdDetails:this.pdDetails,expense:t})},e.prototype.editHouseExpenseAllDetails=function(e){this.navCtrl.push(p.a,{pdDetails:this.pdDetails,expense:e})},e.prototype.AddIncomeForm=function(){this.navCtrl.push(f.a,{pdDetails:this.pdDetails,income:null})},e.prototype.editIncomeDetails=function(e){var t=this.busissnessIncome.filter(function(t){return t.pd_business_income_id==e});console.log(t),this.navCtrl.push(f.a,{pdDetails:this.pdDetails,income:t})},e.prototype.editIncomeAllDetails=function(e){this.navCtrl.push(f.a,{pdDetails:this.pdDetails,income:e})},e=h([Object(o.m)({selector:"page-pd-question-assessed-info",template:'\n\n \n \n {{FormName}}\n\n\n \n\n\n\n\n\n\n
\n \n \n \n \n Sales Calculation\n \n \n \n
\n

Sales declared by the customer as the annual sales actually done.

\n \n \n \n
\n \n \n \n \n \n \n
\n \n\n\n\n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n\n \n
\n\n
\n
\n \n
\n \n \x3c!-- --\x3e\n \n \n \n \n Sales Details\n \n \n \n

Sales Details

\n \n \n \n \n

{{"✎"}}

\n
\n
\n \n\n\n \n \n \n\n\n \n
\n \n \n \n \n \n {{salesItem.sales_item}}\n \n \n {{"₹"}} {{salesItem.annual_sale_value}}\n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \n \n Daily Sales Details\n \n \n

Daily Sales Details

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

{{monthwise.salesItem | titlecase}}

\n \n \n {{eachItem.header}}\n
\n \n \n \n {{eachmonthItem.sales_date | date:\'dd-MM-yyyy\'}}\n \n \n {{"₹"}} {{eachmonthItem.sales_value}}\n \n \n \n
\n
\n \n \x3c!-- \n Oct\n 06-05-2018 $5000\n --\x3e\n \n {{monthwise.footerMessage[0].month_message}}
\n {{monthwise.footerMessage[0].year_message}}\n
\n \n \n \n
\n \n \x3c!-- --\x3e\n \n
\n
\n
\n \x3c!-- \n \n --\x3e\n \x3c!-- \n \n \n \n

{{monthSalesItem.salesItem}}

\n
\n
\n \n
{{monthwise.header}}
\n \n {{monthwise.value[0].sales_date | date:\'dd-mm-yyyy\'}}\n \n \n {{"₹"}} {{monthwise.value[0].sales_value}}\n \n \n
\n \n \n
\n \n
--\x3e\n\n
\n
\n \n
\n
\n \n

Purchase Details

\n \n

{{"✎"}}

\n \n \n \n \n \n
\n \n \n \n \n {{purchase.purchase_item}}\n \n \n {{"₹"}} {{purchase.annual_purchase_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

Business Expenses

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{expense.expense_item}}\n \n \n {{"₹"}} {{expense.annual_expenses_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

HouseHold Details

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{houseExepense.expense_item}}\n \n \n {{"₹"}} {{houseExepense.annual_expense_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

Business Income Details

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{busIncome.business_income_item !=\'Others(Please Specify)\'?busIncome.business_income_item:busIncome.other_frequncy_item}}\n \n \n {{"₹"}} {{busIncome.income_value}}\n \n \n
\n
\n \n
\n
\n
\n \n\n\n
'}),_("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},372:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(4),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.fb=o,this.qustCat=a,this.toast=i,this.salesData=[],this.annual=[],this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.grossprofitCalc=this.navParams.get("grossprofit"),this.users=this.aws.getlocale(),this.assessedForm=this.fb.group({salesCalItemwise:this.fb.array([])}),this.salesData=this.navParams.get("sales"),null!=this.salesData?this.getSalesItemData(this.salesData):this.addSalesCal(),this.getdropList()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedSalesPage")},e.prototype.getdropList=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("UOM").subscribe(function(t){1==t.dataStatus&&(e.UOM=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createSalesCal=function(){return this.fb.group({sci_id:[null],fk_pd_id:[this.pdDetails.pd_id],sales_item:[null,s.m.compose([s.m.required])],sales_qty:[null,s.m.compose([s.m.required])],fk_uom_id:[null,s.m.compose([s.m.required])],rate_per_unit:[null,s.m.compose([s.m.required])],fk_frequency_id:[null,s.m.compose([s.m.required])],annual_sale_value:[null],margin_per:[null],margin_per_uom:[null],margin_final_value:[null]})},e.prototype.addSalesCal=function(){if(this.assessedForm.valid){this.assessedForm.get("salesCalItemwise").push(this.createSalesCal())}else this.toast.pdTriggerappmessage("Enter the all fields")},e.prototype.removeSalesCal=function(e){this.annual.splice(e,1),this.grandTotal=this.annual.reduce(function(e,t){return e+t},0),console.log(this.grandTotal);var t=this.assessedForm.get("salesCalItemwise");1==t.length?(t.removeAt(e),this.addSalesCal()):t.removeAt(e)},e.prototype.salecalculat=function(e,t){var n,o=t.value.fk_frequency_id,a=t.value.sales_qty,i=t.value.rate_per_unit;null!=a&&null!=i&&(1==o||(2==o?(this.annual[e]=n=a*i*250,t.controls.annual_sale_value.setValue(n)):3==o?(this.annual[e]=n=a*i,t.controls.annual_sale_value.setValue(n)):4==o||5==o&&(this.annual[e]=n=a*i*12,t.controls.annual_sale_value.setValue(n))),this.grandTotal=this.annual.reduce(function(e,t){return e+t},0)),console.log(this.annual)},e.prototype.getSalesCalc=function(e){var t=e.value.margin_per,n=e.value.margin_per_uom,o=e.value.sales_qty,a="";null==t&&null==n||(null!=t?a=+t/100*+e.value.annual_sale_value:(console.log("else"),a=+o*+n),console.log(a),e.controls.margin_final_value.setValue(a))},e.prototype.saveData=function(e){var t=this,n={records:e.salesCalItemwise};console.log(n),this.qustCat.saveassessedForms("saveAssessedIncomeSalesCalculatedByItemwise",n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})},e.prototype.getSalesItemData=function(e){var t=this;console.log(e);var n=this.assessedForm.get("salesCalItemwise");e.forEach(function(e,o){t.annual[o]=e.annual_sale_value,n.push(t.createSaleswithData(e))}),this.grandTotal=this.annual.reduce(function(e,t){return e+t},0)},e.prototype.createSaleswithData=function(e){return this.fb.group({sci_id:[e.sci_id],fk_pd_id:[this.pdDetails.pd_id],sales_item:[e.sales_item,s.m.compose([s.m.required])],sales_qty:[e.sales_qty,s.m.compose([s.m.required])],fk_uom_id:[e.fk_uom_id,s.m.compose([s.m.required])],rate_per_unit:[e.rate_per_unit,s.m.compose([s.m.required])],fk_frequency_id:[e.fk_frequency_id,s.m.compose([s.m.required])],annual_sale_value:[e.annual_sale_value],margin_per:[e.margin_per],margin_per_uom:[e.margin_per_uom],margin_final_value:[e.margin_final_value]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-sales",template:'\n\n \n \n Item Salas Details\n\n\n \n\n\n\n\n\n
\n
\n
\n \n

Itemwise

\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{frq.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

Grand Total : {{grandTotal}}

\n \n
\n
\n
\n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.c,r.a,l.a])],e)}()},373:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(4),r=n(11),l=n(9),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.constant=s,this.temparr=[],this.tempdate=[],this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.salesDaily=this.navParams.get("salesDaily"),this.grossprofitCalc=this.navParams.get("grossprofit"),this.users=this.aws.getlocale(),this.currentDate=s.getcurrentDate().replace("T00:00",""),console.log(this.currentDate),this.salesDailyForm=this.fb.group({sales_product:this.fb.array([])}),null!=this.salesDaily?this.getDailySalesData(this.salesDaily):this.adddailySalaesProduct()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedDailySalesPage")},e.prototype.createdailysalesProduct=function(){return this.fb.group({sim_id:[null],sales_item:[null,s.m.compose([s.m.required])],child:this.fb.array([]),fk_pd_id:[this.pdDetails.pd_id],margin_per:[null],margin_value:[null],fk_createdby:[this.users],isactive:["1"]})},e.prototype.createdailyChildSaleProduct=function(){return this.fb.group({simc_id:[null],fk_sim_id:[null],sales_date:[null,s.m.compose([s.m.required])],sales_value:[null,s.m.compose([s.m.required])],isactive:["1"]})},e.prototype.getSalesCalc=function(e,t,n){console.log(n);var o=new Date(e.value.sales_date).getMonth()+1,a=t.value.margin_per;if(null!=a&&null!=e.value.sales_value){var i=!1,s=0;if(0!=this.tempdate.length){for(var r=0;r\n\n \n \n Assessed Daily Sales Details\n\n\n \n\n\n\n\n
\n
\n \n
\n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n \n

{{item.get(\'sales_item\').value | titlecase}}

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n \n \n \x3c!-- \n \n --\x3e\n \n \n \n \x3c!-- \n \n --\x3e\n \n \n \n
\n
\n
\n \n\n\n\n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),d("design:paramtypes",[a.r,a.s,i.a,r.a,l.a,s.c,c.a])],e)}()},374:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(11),r=n(9),l=n(7),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.fb=t,this.navParams=n,this.qustCat=o,this.toast=a,this.aws=i,this.annual=[],this.pdDetails=this.navParams.get("pdDetails"),this.purchaseDetails=this.navParams.get("purchase"),this.users=this.aws.getlocale(),this.rawMaterialForm=this.fb.group({purchase:this.fb.array([])}),null!=this.purchaseDetails?this.getpurchaseDetails(this.purchaseDetails):this.addPurchaseDetails(),this.getdropList()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedPurchasePage")},e.prototype.createPurchaseDetails=function(){return this.fb.group({purchase_id:[null],fk_pd_id:[this.pdDetails.pd_id],purchase_item:[null,i.m.compose([i.m.required])],purchase_qty:[null,i.m.compose([i.m.required])],fk_uom_id:[null,i.m.compose([i.m.required])],rate_per_unit:[null,i.m.compose([i.m.required])],fk_frequency_id:[null,i.m.compose([i.m.required])],annual_purchase_value:[null,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e.prototype.getdropList=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("UOM").subscribe(function(t){1==t.dataStatus&&(e.UOM=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("BUSINESSEXPENSES").subscribe(function(t){1==t.dataStatus&&(e.businessExpenses=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.addPurchaseDetails=function(){this.rawMaterialForm.controls.purchase.push(this.createPurchaseDetails())},e.prototype.deletePurchaseDetails=function(e){this.annual.splice(e,1),this.grandpurchaseTotal=this.annual.reduce(function(e,t){return+e+ +t},0);this.rawMaterialForm.controls.purchase.removeAt(e)},e.prototype.salecalculat=function(e,t){console.log(this.grandpurchaseTotal),console.log(t,e);var n=t.value.fk_frequency_id,o=t.value.purchase_qty,a=t.value.rate_per_unit;console.log(n,o,a,e);var i;null!=o&&null!=a?(1==n||(2==n?(this.annual[e]=i=o*a*250,t.controls.annual_purchase_value.setValue(i)):3==n?(this.annual[e]=i=o*a,t.controls.annual_purchase_value.setValue(i)):4==n||5==n&&(this.annual[e]=i=o*a*12,t.controls.annual_purchase_value.setValue(i))),this.grandpurchaseTotal=this.annual.reduce(function(e,t){return+e+ +t},0)):this.toast.pdTriggerappmessage("Enter the Purchase Quantity and UOM")},e.prototype.savepurchaseData=function(e){var t=this;if(this.rawMaterialForm.valid){var n={records:e.purchase};console.log("data",n),this.qustCat.saveassessedForms("saveAssessedIncomePurchaseDetails",n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter All Field")},e.prototype.getpurchaseDetails=function(e){var t=this;console.log("function in",e);var n=this.rawMaterialForm.controls.purchase;console.log(n),0==e.length?(console.log("if"),this.addPurchaseDetails()):(console.log("else"),e.forEach(function(e,o){n.push(t.createPurchasewithData(e)),t.annual[o]=e.annual_purchase_value}),this.grandpurchaseTotal=this.annual.reduce(function(e,t){return+e+ +t},0))},e.prototype.createPurchasewithData=function(e){return this.fb.group({purchase_id:[e.purchase_id],fk_pd_id:[this.pdDetails.pd_id],purchase_item:[e.purchase_item,i.m.compose([i.m.required])],purchase_qty:[e.purchase_qty,i.m.compose([i.m.required])],fk_uom_id:[e.fk_uom_id,i.m.compose([i.m.required])],rate_per_unit:[e.rate_per_unit,i.m.compose([i.m.required])],fk_frequency_id:[e.fk_frequency_id,i.m.compose([i.m.required])],annual_purchase_value:[e.annual_purchase_value,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-purchase",template:'\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 {{uom.name}}\n \n \n
\n
\n \n \n \n
\n
\n \n\n \n {{frq.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

Grand Total:

\n
\n \n

{{grandpurchaseTotal}}

\n
\n
\n
\n \n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,i.c,a.s,s.a,r.a,l.a])],e)}()},375:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.grandExpenseTotal=[],this.expenseannual=[],this.pdDetails=this.navParams.get("pdDetails"),this.expenseDetails=this.navParams.get("expense"),this.users=this.aws.getlocale(),this.BuissnessForm=this.fb.group({busExpense:this.fb.array([])}),null!=this.expenseDetails?this.getBuisnessExpenses(this.expenseDetails):this.addBusinessDetails(),this.getdropdown()}return e.prototype.grandpurchaseTotal=function(e){throw new Error("Method not implemented.")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("BUSINESSEXPENSES").subscribe(function(t){1==t.dataStatus&&(e.businessExpenses=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedBusinessPage")},e.prototype.createBusinessDetails=function(){return this.fb.group({pd_expense_id:[null],fk_pd_id:[this.pdDetails.pd_id],expense_item_id:[null,i.m.compose([i.m.required])],expense_value:[null,i.m.compose([i.m.required])],fk_frequency_id:[null,i.m.compose([i.m.required])],annual_expenses_value:[null,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e.prototype.addBusinessDetails=function(){this.BuissnessForm.controls.busExpense.push(this.createBusinessDetails())},e.prototype.deleteBuisnessDetails=function(e){this.expenseannual.splice(e,1),this.grandExpenseTotal=this.expenseannual.reduce(function(e,t){return+e+ +t},0);this.BuissnessForm.controls.busExpense.removeAt(e)},e.prototype.busExpensecalculat=function(e,t){console.log(t,e);var n,o=t.value.fk_frequency_id,a=t.value.expense_value;null!=a?(1==o||(2==o?(this.expenseannual[e]=n=250*a,t.controls.annual_expenses_value.setValue(n)):3==o?(this.expenseannual[e]=n=a,t.controls.annual_expenses_value.setValue(n)):4==o||5==o&&(this.expenseannual[e]=n=12*a,t.controls.annual_expenses_value.setValue(n))),this.grandExpenseTotal=this.expenseannual.reduce(function(e,t){return+e+ +t},0)):this.toast.pdTriggerappmessage("Enter the Amount and Frequency")},e.prototype.saveBusinessData=function(e){var t=this;if(this.BuissnessForm.valid){var n={records:e.busExpense};console.log("data",n),this.qustCat.saveassessedForms("saveAssessedIncomeBusinessExpenses",n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter The All Field")},e.prototype.getBuisnessExpenses=function(e){var t=this;if(0==e.length)this.addBusinessDetails();else{var n=this.BuissnessForm.controls.busExpense;e.forEach(function(e,o){t.expenseannual[o]=e.annual_expenses_value,n.push(t.createBusinessExpensewithData(e))}),this.grandExpenseTotal=this.expenseannual.reduce(function(e,t){return+e+ +t},0)}},e.prototype.createBusinessExpensewithData=function(e){return this.fb.group({pd_expense_id:[e.pd_expense_id],fk_pd_id:[this.pdDetails.pd_id],expense_item_id:[e.expense_item_id,i.m.compose([i.m.required])],expense_value:[e.expense_value,i.m.compose([i.m.required])],fk_frequency_id:[e.fk_frequency_id,i.m.compose([i.m.required])],annual_expenses_value:[e.annual_expenses_value,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-business",template:'\n\n \n \n Business Expense\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n {{expense.expense_item}}\n \n \n \n \n \n \n \n {{frq.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

Total Business Expenses:

\n
\n \n

{{grandExpenseTotal}}

\n
\n
\n
\n \n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},376:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(9),l=n(11),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.toast=a,this.qustCat=i,this.houseannual=[],this.grandHouseExpenseTotal=[],this.pdDetails=this.navParams.get("pdDetails"),this.houseExpenseDetails=this.navParams.get("FormId"),this.expenseDetails=this.navParams.get("expense"),this.users=this.aws.getlocale(),this.houseHoldForm=this.fb.group({houseExpense:this.fb.array([])}),null!=this.expenseDetails?this.getHouseholdExpense(this.expenseDetails):this.addHouseExpenses(),this.getdropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedHouseholdPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.createHouseExpense=function(){return this.fb.group({household_expense_id:[null],fk_pd_id:[this.pdDetails.pd_id],expense_item:[null,i.m.compose([i.m.required])],expense_value:[null,i.m.compose([i.m.required])],fk_frequency_id:[null,i.m.compose([i.m.required])],annual_expense_value:[null,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e.prototype.addHouseExpenses=function(){this.houseHoldForm.controls.houseExpense.push(this.createHouseExpense())},e.prototype.deleteHouseExpense=function(e){this.houseannual.splice(e,1),this.grandHouseExpenseTotal=this.houseannual.reduce(function(e,t){return+e+ +t},0);this.houseHoldForm.controls.houseExpense.removeAt(e)},e.prototype.houseExpensecalculat=function(e,t){var n,o=t.value.fk_frequency_id,a=t.value.expense_value;null!=a?(1==o||(2==o?(this.houseannual[e]=n=250*a,t.controls.annual_expense_value.setValue(n)):3==o?(this.houseannual[e]=n=a,t.controls.annual_expense_value.setValue(n)):4==o||5==o&&(this.houseannual[e]=n=12*a,t.controls.annual_expense_value.setValue(n))),this.grandHouseExpenseTotal=this.houseannual.reduce(function(e,t){return+e+ +t},0),console.log(this.grandHouseExpenseTotal)):this.toast.pdTriggerappmessage("Enter the Amount and Frequency")},e.prototype.saveHouseExpenseData=function(e){var t=this;if(this.houseHoldForm.valid){this.qustCat.saveassessedForms("saveAssessedIncomeHouseholdExpenses",{records:e.houseExpense}).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter The All Field")},e.prototype.getHouseholdExpense=function(e){var t=this;if(0==e.length)this.addHouseExpenses();else{var n=this.houseHoldForm.controls.houseExpense;e.forEach(function(e,o){t.houseannual[o]=e.annual_expense_value,n.push(t.createHouseholdwithData(e))}),this.grandHouseExpenseTotal=this.houseannual.reduce(function(e,t){return+e+ +t},0)}},e.prototype.createHouseholdwithData=function(e){return this.fb.group({household_expense_id:[e.household_expense_id],fk_pd_id:[this.pdDetails.pd_id],expense_item:[e.expense_item,i.m.compose([i.m.required])],expense_value:[e.expense_value,i.m.compose([i.m.required])],fk_frequency_id:[e.fk_frequency_id,i.m.compose([i.m.required])],annual_expense_value:[e.annual_expense_value,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-household",template:'\n\n \n \n House Hold Expense\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n {{frq.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

Total Household Expenses :

\n
\n \n

{{grandHouseExpenseTotal}}

\n
\n
\n
\n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},377:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.aws=o,this.qustCat=a,this.toast=i,this.m_freqOfPurchase=[],this.grandIncomeTotal=[],this.incomeannual=[],this.pdDetails=this.navParams.get("pdDetails"),this.expenseDetails=this.navParams.get("income"),console.log(this.expenseDetails),this.users=this.aws.getlocale(),this.BuissnessForm=this.fb.group({busIncome:this.fb.array([])}),null!=this.expenseDetails?this.getBuisnessExpenses(this.expenseDetails):this.addBusinessDetails(),this.getdropdown()}return e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("BUSINESSINCOME").subscribe(function(t){1==t.dataStatus&&(e.businessIncome=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.m_freqOfPurchase=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionAssessedBusinessIncomePage")},e.prototype.createBusinessDetails=function(){return this.fb.group({pd_business_income_id:[null],fk_pd_id:[this.pdDetails.pd_id],business_income_id:[null,i.m.compose([i.m.required])],income_value:[null,i.m.compose([i.m.required])],fk_frequency_id:[null,i.m.compose([i.m.required])],annual_income_value:[null,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users],other_income_item:[null],other_frequncy_item:[null]})},e.prototype.addBusinessDetails=function(){this.BuissnessForm.controls.busIncome.push(this.createBusinessDetails())},e.prototype.deleteBuisnessDetails=function(e){this.incomeannual.splice(e,1),this.grandIncomeTotal=this.incomeannual.reduce(function(e,t){return+e+ +t},0);this.BuissnessForm.controls.busIncome.removeAt(e)},e.prototype.busIncomecalculate=function(e,t){console.log(t,e);var n,o=t.value.fk_frequency_id,a=t.value.income_value;if(null!=a&&null!=a){var i=this.m_freqOfPurchase.filter(function(e){return e.frequency_id==o})[0];1==o?(console.log(i.mutiple_factor),this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):2==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):3==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):4==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):5==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):6==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):7==o?(this.incomeannual[e]=n=a*i.mutiple_factor,t.controls.annual_income_value.setValue(n)):8==o&&(this.incomeannual[e]=n=a,t.controls.annual_income_value.setValue(n)),this.grandIncomeTotal=this.incomeannual.reduce(function(e,t){return+e+ +t},0)}else this.toast.pdTriggerappmessage("Enter the Amount and Frequency")},e.prototype.saveBusinessData=function(e){var t=this;if(this.BuissnessForm.valid){var n={records:e.busIncome};console.log("data",n),this.qustCat.saveassessedForms("saveOtherBusinessIncome",n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter The All Field")},e.prototype.getBuisnessExpenses=function(e){var t=this;if(0==e.length)this.addBusinessDetails();else{var n=this.BuissnessForm.controls.busIncome;e.forEach(function(e,o){t.incomeannual[o]=e.annual_income_value,n.push(t.createBusinessExpensewithData(e))}),this.grandIncomeTotal=this.incomeannual.reduce(function(e,t){return+e+ +t},0)}},e.prototype.createBusinessExpensewithData=function(e){return this.fb.group({pd_business_income_id:[e.pd_business_income_id],fk_pd_id:[this.pdDetails.pd_id],business_income_id:[e.business_income_id,i.m.compose([i.m.required])],income_value:[e.income_value,i.m.compose([i.m.required])],fk_frequency_id:[e.fk_frequency_id,i.m.compose([i.m.required])],annual_income_value:[e.annual_income_value,i.m.compose([i.m.required])],isactive:["1"],fk_createdby:[this.users],other_income_item:[e.other_income_item],other_frequncy_item:[e.other_frequncy_item]})},e=c([Object(o.m)({selector:"page-pd-question-assessed-business-income",template:'\n\n \n \n Business Income\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n {{income.business_income_item}}\n \n \n\n \n \n \n \n \n \n \n \n \n {{frq.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

Total Business Income:

\n
\n \n

{{grandIncomeTotal}}

\n
\n
\n
\n \n
\n
\n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,s.a,r.a,l.a])],e)}()},378:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.representativeForm=this.fb.group({pdid:[this.pdDetails.pd_id],formid:[this.FormId.form_id],fk_createdby:[this.users],lender_representative_accompany:["",l.m.compose([l.m.required])],representative_remarks:["",l.m.compose([l.m.required])],lender_representative_details:this.fb.array([])}),this.getLenderReDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionLenderRepresentativePage")},e.prototype.createlenReDetails=function(){return this.fb.group({lender_representative_who_accompanies:["",l.m.compose([l.m.required])],lender_representative_carry_loan_files:["",l.m.compose([l.m.required])]})},e.prototype.selectedLoanChanges=function(e){if("Yes"==e.value){this.representativeForm.controls.lender_representative_details.push(this.createlenReDetails())}else if("No"==e.value){this.representativeForm.controls.lender_representative_details.removeAt(0)}},e.prototype.sumbitData=function(e){var t=this;if(this.representativeForm.valid){this.qustCat.saveForm(this.representativeForm.value).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})}else this.toast.pdTriggerappmessage("Enter All Field")},e.prototype.getLenderReDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){if(1==t.dataStatus){var n=t.records;if("Yes"==n.lender_representative_accompany){e.representativeForm.controls.lender_representative_accompany.setValue(n.lender_representative_accompany),e.representativeForm.controls.representative_remarks.setValue(n.representative_remarks);var o=Object.keys(t.records.lender_representative_details).map(function(e){return t.records.lender_representative_details[e]});console.log(o);var a=e.representativeForm.controls.lender_representative_details;o.forEach(function(t){a.push(e.createlenReDetails())}),e.representativeForm.controls.lender_representative_details.setValue(o)}else e.representativeForm.controls.lender_representative_accompany.setValue(n.lender_representative_accompany),e.representativeForm.controls.representative_remarks.setValue(n.representative_remarks)}})},e=c([Object(o.m)({selector:"page-pd-question-lender-representative",template:'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n\n\n\n
\n \n \n \n Yes\n No\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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n\n
\n'}),m("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c])],e)}()},379:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=n(380),m=n(8),d=n(381),u=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=function(){function e(e,t,n,o,a,i,s){var r=this;this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.modal=s,this.pipe=new m.d("en-US"),this.fetch_related_details=[],this.pd_applicants_details=[],this.OldData=[],this.OldData_indi=[],this.cart=[],this.maxDate=new Date,console.log(this.maxDate),this.pd_applicants_details=[],this.pd_applicants_details.pop(),this.pdDetails=this.navParams.get("pdDetails"),console.log("Full pd",this.pdDetails),this.FormId=this.navParams.get("FormId"),console.log(this.pdDetails),this.users=this.aws.getlocale(),this.getdropdown(),this.getGeneralForm(),this.generalForm=this.fb.group({pdid:this.pdDetails.pd_id,formid:this.FormId.form_id,applicant_list:this.fb.array([]),applicant_relation:this.fb.array([]),list_value:this.fb.array([]),company_value:this.fb.array([]),individuals:this.fb.array([]),companies:this.fb.array([]),persons_with_relationships:this.fb.array([]),company_with_relationships:this.fb.array([]),general_remark:""}),this.pd_applicants_details=this.pdDetails.applicat_details,this.buttonClick=!1,this.h_companies=!1,this.datav=[{name:"fairoj",id:1},{name:"ff",id:2}],this.generalForm.controls.list_value.valueChanges.subscribe(function(e){var t=r.generalForm.controls.list_value;r.individualsList=t.value.filter(function(e){return 1==e.is_applicant}),r.individualsListBothCase=t.value.filter(function(e){return 1==e.is_applicant||1==e.is_person_met}),r.fulldata=t.value,console.log("individualsListBothCase",r.individualsListBothCase)}),this.generalForm.controls.company_value.valueChanges.subscribe(function(e){r.companyList=r.generalForm.controls.company_value.value.filter(function(e){return e.company_name})}),this.i=0}return e.prototype.initlistv=function(e,t){console.log("full data length",this.lengthv.individuals.length),console.log("gne data",e);var n=this.generalForm.controls.list_value;if("ins"==t)for(var o=0,a=e;o0&&e.forEach(function(e){o.push(n.createApplicant(e))}),t.length>0&&t.forEach(function(e){console.log(e),a.push(n.createApplicantRelation(e)),n.fetch_related_details.push(e.applicant_name)})},e.prototype.createApplicant=function(e){return this.fb.group({pd_co_applicant_id:[e.pd_co_applicant_id],applicant_name:[e.applicant_name],company_name:[e.company_name],exist_status:[1==e.exist_status&&e.pd_co_applicant_id>0]})},e.prototype.coapplicantChange=function(e,t,n){var o=this,a=this.generalForm.controls.applicant_relation,i=this.generalForm.controls.applicant_list;if(n.exist_status.value)if(0==n.pd_co_applicant_id.value){var s=this.modal.create(c.a);s.onDidDismiss(function(e){1!=e?e.otherName.forEach(function(e){a.push(o.createApplicantRelation({pd_co_applicant_id:e.pd_co_applicant_id,applicant_name:e.applicant_name,applicant_relation_to:"",relation:"",company_name:"",company_relation:""})),o.fetch_related_details.push(e.applicant_name)}):i.at(t).get("exist_status").setValue(!1)}),s.present()}else{a.push(this.createApplicantRelation({pd_co_applicant_id:n.pd_co_applicant_id.value,applicant_name:n.applicant_name.value,applicant_relation_to:"",relation:"",company_name:n.company_name.value,company_relation:""})),this.fetch_related_details.push(n.applicant_name.value)}else{var r=this.generalForm.controls.applicant_relation,l=r.value.map(function(e){return e.pd_co_applicant_id}).indexOf(n.pd_co_applicant_id.value);if(console.log(l,n.pd_co_applicant_id.value),0!=n.pd_co_applicant_id.value){r.removeAt(l);var m=this.fetch_related_details.indexOf(n.applicant_name.value);this.fetch_related_details.splice(m,1)}else i.at(t).get("exist_status").setValue(!1)}},e.prototype.createApplicantRelation=function(e){return console.log("function in 156"),this.fb.group({pd_co_applicant_id:[e.pd_co_applicant_id],applicant_name:[e.applicant_name],company_name:[e.company_name,e.company_name?l.m.required:l.m.nullValidator],company_relationship:[e.company_relationship],applicant_relation_to:[e.applicant_relation_to,l.m.required],relationship:[e.relationship]})},e.prototype.removereferance=function(e){this.generalForm.controls.applicant_relation.removeAt(e)},e.prototype.ConvertMonthintoYearforBusiness=function(e,t){var n=this.generalForm.get("companies"),o=e%12,a=e/12;(n=n.controls[t]).controls.business_years.setValue(+n.controls.business_years.value+ +Math.floor(a)),n.controls.business_month.setValue(Math.floor(o))},e.prototype.getDateObjects=function(e,t){console.log("Date Change Action",e);var n=this.generalForm.get("companies");n.controls.business_years="",n.controls.business_month="",n=n.controls[t];var o=this.pdDetails.pd_date_of_initiation.split("/").reverse().join("/"),a=this.pipe.transform(e,"yyyy/MM/dd"),i=Date.parse(o)-Date.parse(a),s=Math.floor(i/1e3);s/=2592e3,s=Math.abs(Math.round(s)),n.controls.business_years.setValue(0),n.controls.business_month.setValue(0),s&&(n.controls.business_years.setValue(Math.floor(s/12)),n.controls.business_month.setValue(Math.floor(s%12)))},e.prototype.submitData=function(e){var t=this;console.log("Answer",e);var n={},o=[],a=[];Object.keys(e.list_value).map(function(t){return e.list_value[t]}).forEach(function(e){o.push(e)}),this.OldData_indi.length>0&&this.OldData_indi.forEach(function(e){o.push(e)});Object.keys(e.company_value).map(function(t){return e.company_value[t]}).forEach(function(e){a.push(e)}),this.OldData.length>0&&this.OldData.forEach(function(e){a.push(e)}),n.individuals=o,n.companies=a,n.pdid=e.pdid,n.formid=e.formid,n.fk_createdby=this.users,n.persons_with_relationships=e.persons_with_relationships,n.company_with_relationships=e.company_with_relationships,n.general_remark=e.general_remark,console.log("save Records",n),console.log("saveR",n),console.log("Save",a),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus?(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop()):t.toast.pdTriggerappmessage("Error")})},e.prototype.getGeneralForm=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){e.data_all=t.records;var n;if(e.generalForm.get("companies").controls=[],1==t.dataStatus){console.log("Getting DAta",t),e.lengthv=e.data_all,e.generalForm.controls.general_remark.setValue(e.data_all.general_remark),console.log("1"),e.initlistv(e.data_all.individuals,"get"),console.log("2");var o=[];(n=Object.keys(t.records.companies).map(function(e){return t.records.companies[e]})).length>0&&n.forEach(function(t,n){0!=t.is_active?o.push(t):e.OldData.push(t)}),console.log(n),console.log("Old Data",e.OldData),e.initCompanyValue(o,"get"),console.log("3"),""!=e.data_all.persons_with_relationships&&(console.log("Entering personwithRelation"),e.initPersonRelationship(e.data_all.persons_with_relationships),console.log("4")),""!=e.data_all.company_with_relationships&&(e.initCompanyRelationShip(e.data_all.company_with_relationships),console.log("5"))}else console.log("Error")})},e.prototype.createCompanies=function(e){return this.fb.group({company_order_id:[e.company_order_id],company_name:[e.company_name],company_messrs_name:["M/s"],is_company_applicant:[e.is_company_applicant],business_entity_type:[e.business_entity_type,l.m.required],business_years:[e.business_years,l.m.required],business_month:[e.business_month],business_date_object:[e.business_date_object],is_active:[e.is_active],is_new:[e.is_new]})},e=u([Object(o.m)({selector:"page-pd-question-general-info",template:'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n \n \n
\n \n
Name of individuals
\n \n \n \n

{{item.get(\'applicant_name\').value | titlecase}}

\n

Age : {{item.get(\'age\').value}}  \n {{item.get(\'qualification_name\').value}}

\n \x3c!--

{{item.get(\'qualification\').value}}

--\x3e\n
\n \n \n \n \n

Person

\n \n
\n \n

Applicant

\n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n Add individuals\n \n \x3c!--Individual Value add Field--\x3e \n
\n
\n \n \n {{t1.name}}\n \n \n \n \n \n \n

Name is Required

\n \n \n \n

Age is Required

\n \n \n {{qu.qualification_name}} \n \n

Qualification is Required

\n
\n Is Person Met

\n Is Applicant \n \n \n \n \n \n
\n
\n \x3c!-- --\x3e\n
\n
\n
\n \n \x3c!-- \n \n \n Name of Person Met\n
\n \n \n {{applicant.controls.applicant_name.value}}\n \n
\n \n
--\x3e\n \n\x3c!--\n \n \n
1
\n \n \n

Hai skdjfkjdsfkjdsf kjdsf

\n
dsf
\n
dsf
\n
\n \n \n \n \n \n \n \n \n Person Met\n \n \n \n \n
\n
\n
\n
\n--\x3e\n\n \x3c!--Individual Value Display Field--\x3e \n \n \n \n
\n \x3c!--Company Value Display Field--\x3e \n \n
Company/Firm
\n
\n \n
\n \n \x3c!--{{i+1}}--\x3e\n \n

{{item.get(\'company_name\').value | titlecase}}

\n

{{item.get(\'business_entity_type_name\').value}}  

\n

 {{item.get(\'business_years\').value}} Years {{item.get(\'business_month\').value}} Months

\n
\n \n \n \x3c!-- --\x3e\n
\n
\n
\n
\n\n\x3c!--Company Value add Field--\x3e \n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n Add Company/Firm\n \n
\n
\n \n Company / Firm\n \n \n Is Applicant
\n

company name is Required

\n

company name is Required

\n
\n \n \n \n {{business.business_entity_type_name}}\n \n \n \n

Required

\n \n \n \n

Number of Years For Which The Business Has Been Running

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

\n \x3c!-- companies end --\x3e\n\n \x3c!-- Person Relationship Starts Here --\x3e\n \n \n Relationship Between Individuals\n \n \n
\n \n \n
Applicant {{i+1}}
\n \n \n {{name.applicant_name}}\n \n \n \n \n {{member.name}}\n \n \n \n \n Select\n {{rel.applicant_name | titlecase}}\n Not Applicable\n \n \n
\n
\n \n
\n\n \n
\n \n Relationship of Individuals to Company / Firm\n \n
\n
Applicant {{i+1}}
\n \n \n {{name.applicant_name}}\n \n \n \n \n \n {{comrelShip.name }}\n \n \n \n \n \n {{comp.company_name}}\n \n \n \n
\n

\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n\n \n \x3c!--Old Data \n \n
\n
\n {{relation.controls.applicant_name.value}}\n \n \n \n \n\n \n \n Select\n \n {{comrelShip.name | titlecase}}\n \n \n \n\n \n\n \n Select \n \n [disabled]="relation.controls.applicant_name.value == rel" \n {{rel | titlecase}}\n \n \n\n \n \n\n \n \n Select\n \n {{relShip.name | titlecase}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
--\x3e\n
\n',providers:[d.a]}),p("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c,a.p])],e)}()},380:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(0),a=n(5),i=n(4),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t,n,o){this.navCtrl=e,this.navParams=t,this.fb=n,this.viewCtrl=o,this.applicantInfo={pd_co_applicant_id:"0",applicant_name:"",company_name:""},this.otherForm=this.fb.group({otherName:this.fb.array([])}),this.addmore()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionGeneralOtherApplicantPage")},e.prototype.createName=function(e){return this.fb.group({pd_co_applicant_id:[e.pd_co_applicant_id],applicant_name:[e.applicant_name,i.m.required]})},e.prototype.addmore=function(){if(this.otherForm.valid){this.otherForm.controls.otherName.push(this.createName(this.applicantInfo))}},e.prototype.deleteappdata=function(e){var t=this.otherForm.controls.otherName;1==t.length?t.reset():t.removeAt(e)},e.prototype.closeModal=function(){this.viewCtrl.dismiss(1)},e.prototype.submitData=function(e){this.otherForm.valid&&this.viewCtrl.dismiss(this.otherForm.value)},e=s([Object(o.m)({selector:"page-pd-question-general-other-applicant",template:'\n\n \n \n \n \n Other Applicant Details Added\n\n\n \n\n\n\n\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),r("design:paramtypes",[a.r,a.s,i.c,a.y])],e)}()},381:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var o=n(0),a=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},i=function(){function e(){}return e.prototype.transform=function(e,t){var n=t.existRelationList.filter(function(e){return e.relation_to==t.currentApplicantID});if(n.length>0){return e.filter(function(e){return!n.some(function(n){return e.pd_co_applicant_id==t.currentApplicantID||e.pd_co_applicant_id==n.pd_co_applicant_id})})}return e.filter(function(e){return e.pd_co_applicant_id!=t.currentApplicantID})},e=a([Object(o.T)({name:"pdPipe"})],e)}()},382:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(11),r=n(9),l=n(4),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.qustCat=o,this.toast=a,this.fb=i,this.constant=s,this.check_type=[{id:0,type_name:"Neighbourhood"},{id:1,type_name:"Reference Check"}],this.finalRemarksList=[{id:1,name:"Positive"},{id:2,name:"Negative"},{id:3,name:"Insufficient information provided"}],this.amtInWords=[],this.isDisplay=[],this.isDisplay2=[],this.pdDetails=this.navParams.get("pdDetails"),console.log("Pd",this.pdDetails),this.FormId=this.navParams.get("FormId"),this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 2!=e.applicant_type}),this.applicants.push({pd_co_applicant_id:0,applicant_name:"Others"}),this.neighbourhoodForm=this.fb.group({pdid:this.pdDetails.pd_id,formid:this.FormId.form_id,check_type:0,neighbourhood_list:this.fb.array([]),neighbourhood_status:[""],referencecheck_list:this.fb.array([]),neighbour_reference_remark:""}),this.users=this.aws.getlocale(),this.getneighbourhood(),this.getdropdown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionNeighbourHoodPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("RELATIONWITHBUSINESS").subscribe(function(t){1==t.dataStatus&&(e.relationBusiness=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getcommondrop("FREQUENCY").subscribe(function(t){1==t.dataStatus&&(e.frequency=t.records.filter(function(e){return 1==e.isactive}))})},e.prototype.inWords=function(e,t){this.amtInWords[t]=this.constant.convertNumberToWords(e.target.value)},e.prototype.keyPress=function(e){var t=String.fromCharCode(e.charCode);8==e.keyCode||/[0-9]/.test(t)||e.preventDefault()},e.prototype.ConvertMonthintoYear=function(e,t,n){if(2==n){var o=t%12,a=t/12;e.controls.year_relation_applicant.setValue(+e.controls.year_relation_applicant.value+ +Math.floor(a)),e.controls.months_relation_applicant.setValue(Math.floor(o))}else if(1==n){o=t%12,a=t/12;e.controls.how_long_do_know_in_year.setValue(+e.controls.how_long_do_know_in_year.value+ +Math.floor(a)),e.controls.how_long_do_know_in_month.setValue(Math.floor(o))}},e.prototype.toggleVisibility=function(e,t,n){console.log(e,t);1==n?this.isDisplay[t]=e:2==n&&(this.isDisplay2[t]=e)},e.prototype.checkOthers=function(e){return console.log("check other value",e),null!=e&&0==e},e.prototype.createreferance=function(){return this.fb.group({reference_name:[null],mobile:["",l.m.compose([l.m.minLength(10),l.m.maxLength(10)])],statecode:[null],landline:[null],location:[null],relationship_with:[null],others:[null],year_relation_applicant:[null],months_relation_applicant:[null],business_volume_amount:[null],business_volume_unit:[null],others_unit:[null],reference_final_remarks:[null],specify_final_remark:[null]})},e.prototype.addreferance=function(){this.neighbourhoodForm.controls.referencecheck_list.push(this.createreferance())},e.prototype.removereferance=function(e){var t=this.neighbourhoodForm.controls.referencecheck_list;1==t.length?t.reset():t.removeAt(e)},e.prototype.createNeighbourhood=function(){return this.fb.group({neighbourhood_name:[null],do_know:[""],how_long_do_know_in_year:[""],how_long_do_know_in_month:[""],organisation_owner:[""],is_applicant_owner:[""],other_organisation_owner:[""],did_not_know_the_business_operation:[""],did_not_know_the_owner:[""]})},e.prototype.addneighbourhood=function(){this.neighbourhoodForm.controls.neighbourhood_list.push(this.createNeighbourhood())},e.prototype.removeneighbourhood=function(e){var t=this.neighbourhoodForm.controls.neighbourhood_list;1==t.length?t.reset():t.removeAt(e)},e.prototype.submitData=function(e){var t=this;console.log(e);var n={},o=[],a=[];0==e.check_type?(e.neighbourhood_list.forEach(function(e,t){a.push({neighbourhood_name:e.neighbourhood_name,do_know:e.do_know,how_long_do_know_in_year:e.how_long_do_know_in_year,how_long_do_know_in_month:e.how_long_do_know_in_month,is_applicant_owner:e.is_applicant_owner,organisation_owner:e.organisation_owner,other_organisation_owner:e.other_organisation_owner,did_not_know_the_business_operation:e.did_not_know_the_business_operation,did_not_know_the_owner:e.did_not_know_the_owner})}),n.neighbourhood_list=a):(e.referencecheck_list.forEach(function(e,t){o.push({reference_name:e.reference_name,mobile:e.mobile,landline:e.statecode+"-"+e.landline,location:e.location,relationship_with:e.relationship_with,others:e.others,year_relation_applicant:e.year_relation_applicant,months_relation_applicant:e.months_relation_applicant,business_volume_amount:e.business_volume_amount,business_volume_unit:e.business_volume_unit,others_unit:e.others_unit,reference_final_remarks:e.reference_final_remarks,specify_final_remark:e.specify_final_remark})}),n.referencecheck_list=o),n.pdid=e.pdid,n.formid=e.formid,n.check_type=e.check_type,n.fk_createdby=this.users,n.neighbourhood_status=e.neighbourhood_status,n.neighbour_reference_remark=e.neighbour_reference_remark,console.log(n),this.qustCat.saveForm(n).subscribe(function(e){1==e.dataStatus&&(t.navCtrl.pop(),t.toast.pdTriggerappmessage("Record Saved Successfully.!"))})},e.prototype.getneighbourhood=function(){var e=this,t=this.neighbourhoodForm.controls.referencecheck_list,n=this.neighbourhoodForm.controls.neighbourhood_list;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(o){if(1==o.dataStatus){var a=o.records;if(console.log("neighbour Status",a),0==a.check_type){e.neighbourhoodForm.controls.check_type.setValue(a.check_type),e.neighbourhoodForm.controls.neighbour_reference_remark.setValue(a.neighbour_reference_remark),e.neighbourhoodForm.controls.neighbourhood_status.setValue(a.neighbourhood_status);var i=Object.keys(o.records.neighbourhood_list).map(function(e){return o.records.neighbourhood_list[e]});console.log("data"),i.forEach(function(t,o){e.toggleVisibility(t.did_not_know_the_business_operation,o,1),e.toggleVisibility(t.did_not_know_the_owner,o,2),n.push(e.createNeighbourhood())}),e.neighbourhoodForm.controls.neighbourhood_list.setValue(i)}else e.addneighbourhood();if(1==a.check_type){var s=Object.keys(o.records.referencecheck_list).map(function(e){return o.records.referencecheck_list[e]});console.log(s),e.neighbourhoodForm.controls.check_type.setValue(a.check_type),e.neighbourhoodForm.controls.neighbour_reference_remark.setValue(a.neighbour_reference_remark),s.forEach(function(n,o){var a=n.landline.search("-");s[o].statecode=n.landline.substr(0,a),console.log(n),s[o].landline=n.landline.substr(+a+1,8),t.push(e.createreferance()),e.amtInWords[o]=e.constant.convertNumberToWords(n.business_volume_amount)}),console.log(s),e.neighbourhoodForm.controls.referencecheck_list.setValue(s)}else e.addreferance()}else e.addneighbourhood(),e.addreferance()})},e=m([Object(o.m)({selector:"page-pd-question-neighbour-hood",template:'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n
\n \n Please Select the type\n \n {{types.type_name}}\n \n \n\n \n
\n
\n \n Neighbour Details #{{n+1}}\n \n \n \n \n \n \n Yes\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 {{list.applicant_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 Positive\n Negative\n \n \n
\n
\n\n \n\n
\n
\n \n Reference Details #{{r+1}}\n \n \n \n \n \n \n Enter Valid Mobile Number. \n \n \n \n

Enter valid Mobile Number

\n

Landline Number

\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n Select\n \n {{relationship.relation_with_business_name | titlecase}}\n \n \n \n \n \n \n

Period of Relationship

\n \n \n \n \n \n \n \n \n {{amtInWords[r]}}\n \n \n \n Select\n \n {{volume.name | titlecase}}\n \n \n \n \n \n \n \n \n Select\n {{rem.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 \x3c!-- --\x3e\n \n
\n
'}),d("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c,c.a])],e)}()},383:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(9),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a,i){this.navCtrl=e,this.navParams=t,this.fb=n,this.qustcat=o,this.aws=a,this.toast=i,this.m_remarkTypeCustomerBehaviour=[],this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,this.FormId=this.navParams.get("FormId"),this.users=a.getlocale(),console.log("form Id",this.FormId),this._finalRemarkForm=this.fb.group({fk_createdby:[this.users],pdid:[this.pdid],formid:[this.FormId.form_id],final_custormer_remark_type:[null],final_other_customer_behaviour:[null],is_service_provided:[null],final_form_remarks:[null]}),this.getDropDown(),this.getFinalRemark()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionFinalRemarkPage")},e.prototype.getDropDown=function(){var e=this;this.qustcat.getcommondrop("CUSTOMERBEHAVIOUR").subscribe(function(t){console.log("drop",t),e.m_remarkTypeCustomerBehaviour=t.records.filter(function(e){return 1==e.isactive})})},e.prototype.getFinalRemark=function(){var e=this;this.qustcat.retiverForm({pd_id:this.pdid,pd_form_id:this.FormId.form_id}).subscribe(function(t){1==t.dataStatus&&(console.log("Data get",t.records),e._finalRemarkForm.controls.final_custormer_remark_type.setValue(t.records.final_custormer_remark_type),e._finalRemarkForm.controls.final_other_customer_behaviour.setValue(t.records.final_other_customer_behaviour),e._finalRemarkForm.controls.is_service_provided.setValue(t.records.is_service_provided),e._finalRemarkForm.controls.final_form_remarks.setValue(t.records.final_form_remarks))})},e.prototype.saveFinalRemark=function(){var e=this;if(!this._finalRemarkForm.invalid){var t=this._finalRemarkForm.value;Object.keys(t).forEach(function(e){return null==t[e]&&delete t[e]}),console.log(JSON.stringify(t)),this.qustcat.saveForm(t).subscribe(function(t){1==t.dataStatus?(e.toast.pdTriggerappmessage("Record Saved Successfully"),e.navCtrl.pop()):e.toast.pdTriggerappmessage("Sorry!! Something Went Wrong")})}},e=c([Object(o.m)({selector:"page-pd-question-final-remark",template:'\x3c!--\n Generated template for the PdQuestionFinalRemarkPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \n {{FormId.form_name}}\n \n\n\n\n\n\n
\n \n \n \n \n {{pm.description}}\n \n \n \n \n \n \n \n \n \n Location\n
\n \n \n \n Well Suited.\n Fairly Suited\n Not Suited\n \n \n \n
\n \n \n Remarks\n \n \n \n \n \n \n
\n
\n'}),m("design:paramtypes",[a.r,a.s,i.c,r.a,s.a,l.a])],e)}()},384:function(e,t,n){"use strict";n.d(t,"a",function(){return p});var o=n(0),a=n(5),i=n(11),s=n(199),r=n(200),l=n(385),c=n(386),m=n(387),d=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=function(){function e(e,t,n){this.navCtrl=e,this.navParams=t,this.qustCat=n,this.pdDetails=[],this.existCompanyList=[],this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.getCompanyListForBusiness()}return e.prototype.getCompanyListForBusiness=function(){var e=this;this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(function(t){t.dataStatus?(e.existCompanyList=t.records.filter(function(e){return e.is_active&&!0===e.is_company_applicant}),e.waitLoading=!0):e.waitLoading=!1})},e.prototype.OnSelectBusinessGroupForms=function(e,t){this.pdDetails.company_id=t.company_order_id,this.pdDetails.company_name=t.company_name,this.pdDetails.business_entity_type=t.business_entity_type,this.pdDetails.business_entity_type_other=t.business_entity_type_other,this.pdDetails.business_years=t.business_years,this.pdDetails.business_month=t.business_month,1==e.form_id&&(this.navCtrl.push(s.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),2==e.form_id&&(this.navCtrl.push(r.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),13==e.form_id&&(this.navCtrl.push(l.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),14==e.form_id&&(this.navCtrl.push(s.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),15==e.form_id&&(this.navCtrl.push(s.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),21==e.form_id&&(this.navCtrl.push(m.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id)),22==e.form_id&&(this.navCtrl.push(c.a,{FormId:e.form_id,pdDetails:this.pdDetails}),console.log("form_id",e.form_id))},e=d([Object(o.m)({selector:"page-pd-question-business-group",template:'\x3c!--\n Generated template for the PdQuestionBusinessGroupPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \x3c!-- pdQuestionBusinessGroup --\x3e\n {{FormId.form_name}}\n \n\n\n\n\n\n \n \n \n \n {{companyList.company_name}}\n \n \n \n \n {{quesIndex+1}}\n \n
\n

{{ formButton.form_name }}

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

Business Related Information is Not Available.Please Check General Information

\n \n
\n
\n'}),u("design:paramtypes",[a.r,a.s,i.a])],e)}()},385:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(9),r=n(11),l=n(4),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.toast=o,this.qustCat=a,this.fb=i,this.cons=s,this.stateList=[],this.businessEntityTypeList={business_entity_type_id:String,business_entity_type_name:String,sourcsection_labeleName:String},this.relationData=[],this.industryData=[],this.activityData=[],this.companyRelationShipList=[],this.countryDataList=[],this.filterCityList=[],this.errorMessage=[],this.titleData=[],this.personsList=[],this.ExportFlag=!1,this.ManufacturingCounterArray=[],this.RetailCounterArray=[],this.WholeSaleCounterArray=[],this.ServiceCounterArray=[],this.getStateCityDet(),this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,console.log("pdDetails",this.pdDetails),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.applicants=this.pdDetails.applicat_details,this.generalExistEntityType=this.pdDetails.business_entity_type,this.generalExistEntityType_other=this.pdDetails.business_entity_type_other,this.generalExistBusinessYear=this.pdDetails.business_years,this.step=0,this.businessForm=this.fb.group({fk_createdby:[this.users],pdid:[this.pdid],formid:[this.FormId],company_id:this.pdDetails.company_id,partners:this.fb.array([]),persons_with_relationships:this.fb.array([]),select_business_activity_type:this.fb.array([]),manufacturing_activity_details:this.fb.array([]),retail_trading_activity_details:this.fb.array([]),wholesale_trading_activity_details:this.fb.array([]),service_provider_activity_details:this.fb.array([]),others_activity_details:this.fb.array([]),export_sale_of_total_sales:[""],seasonality:[""],employees_total:["",l.m.compose([l.m.required])],employees_permanent:["",l.m.compose([l.m.required])],employees_temporary:["",l.m.compose([l.m.required])],employees_appx_salary:[""],was_the_company_name_board_sighted:["",l.m.compose([l.m.required])],officer_total:["",l.m.compose([l.m.required])],shop_eat_act_cert:[""],gst_Regn_cert:[""],pf_regn:[""],esic_regn:[""],other_documents:[""],documents:this.fb.array([]),business_remarks:[""]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBusinessInfoPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("RELATIONSHIPS").subscribe(function(t){t.records.forEach(function(t){1==t.isactive&&e.relationData.push(t)})}),this.qustCat.getcommondrop("INDUSTRYCLASSIFICATION").subscribe(function(t){t.records.forEach(function(t){1==t.isactive&&e.industryData.push(t)})}),this.qustCat.getcommondrop("TYPEOFACTIVITY").subscribe(function(t){t.records.forEach(function(t){1==t.isactive&&e.activityData.push(t)})}),this.qustCat.getcommondrop("BUSINESSENTITYTYPE").subscribe(function(t){var n=t.records.filter(function(t){return t.business_entity_type_id==e.generalExistEntityType});e.businessEntityTypeList.business_entity_type_id=1==n[0].business_entity_type_id,e.businessEntityTypeList.business_entity_type_name=1!=n[0].business_entity_type_id?n[0].business_entity_type_name:e.generalExistEntityType_other,e.businessEntityTypeList.section_label=1!=n[0].business_entity_type_id?n[0].section_label:e.generalExistEntityType_other}),this.qustCat.getcommondrop("COMPANYRELATIONSHIPS").subscribe(function(t){e.companyRelationShipList=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getcommondrop("COUNTRY").subscribe(function(t){e.countryDataList=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getcommondrop("TITLES").subscribe(function(t){e.titleData=t.records.filter(function(e){return 1==e.isactive})}),this.qustCat.getAllPersonsName(this.pdid).subscribe(function(t){t.dataStatus&&(console.log("Person List",t),e.personsList=t.record.filter(function(e){return 1==e.applicant_type}),console.log("Person List",e.personsList))})},e.prototype.getStateCityDet=function(){var e=this;this.qustCat.getStateCityDetails().subscribe(function(t){e.stateList=t.records,e.getdropdown(),e.getDetails()})},e.prototype.getDetails=function(){var e=this,t={};t.pd_id=this.pdid,t.pd_form_id=13,t.company_id=this.pdDetails.company_id,this.qustCat.retiverForm(t).subscribe(function(t){var n=t.records,o=e.businessForm.controls.partners,a=e.businessForm.controls.persons_with_relationships,i=e.businessForm.controls.select_business_activity_type,s=e.businessForm.controls.manufacturing_activity_details,r=e.businessForm.controls.retail_trading_activity_details,c=e.businessForm.controls.wholesale_trading_activity_details,m=e.businessForm.controls.service_provider_activity_details,d=e.businessForm.controls.others_activity_details,u=e.businessForm.controls.documents;if(200==t.status){var p=void 0,f=Object.keys(t.records.partners).map(function(e){return t.records.partners[e]});0==f.length?o.push(e.createPartners()):f.forEach(function(t,n){o.push(e.createPartners()),"Others"==t.partner_name&&o.controls[n].addControl("partner_other_name",new l.d("",l.m.required)),parseInt(t.total_business_experiance)>parseInt(t.current_business_experiance_year)?o.controls[n].addControl("total_business_previous_experience",new l.d("",l.m.required)):o.controls[n].removeControl("total_business_previous_experience")});var h=Object.keys(t.records.persons_with_relationships).map(function(e){return t.records.persons_with_relationships[e]});0==h.length?a.push(e.createRelationShip()):h.forEach(function(t,n){a.push(e.createRelationShip())}),"yes"==t.records.other_documents?(p=Object.keys(t.records.documents).map(function(e){return t.records.documents[e]})).forEach(function(t){u.push(e.createDocument())}):(p=[{document:""}],u.push(e.createDocument())),n.pdid=e.pdid,n.formid=13,n.company_id=e.pdDetails.company_id,n.fk_createdby=e.users,n.partners=f,n.persons_with_relationships=h,n.documents=p,n.employees_appx_salary&&(e.appxSalaryAmtInwords=e.cons.convertNumberToWords(n.employees_appx_salary)),console.log("pa",e.businessForm.controls.partners.controls);var _=e.activityData.map(function(e){return{name:e.name,type_of_activity_id:e.type_of_activity_id}}),g=[];t.records.select_business_activity_type&&(g=Object.keys(t.records.select_business_activity_type).map(function(e){return t.records.select_business_activity_type[e].type_of_activity_id}));var v=_.map(function(e){return e.type_of_activity_id}).map(function(e,t){return g.indexOf(e)<0?(_[t].exist_status=0,_[t]):(_[t].exist_status=1,_[t])}).filter(function(e){return void 0!=e});if(v.length>0&&(v.forEach(function(t,n){i.push(e.createBusinessActivity(t))}),n.select_business_activity_type=v),t.records.manufacturing_activity_details){var y=Object.keys(t.records.manufacturing_activity_details).map(function(e){return t.records.manufacturing_activity_details[e]});y.length>0?(y.length>0?e.businessForm.addControl("export_import_cert",new l.d("",l.m.required)):e.businessForm.removeControl("export_import_cert"),y.length>0?e.businessForm.addControl("factory_cert",new l.d("",l.m.required)):e.businessForm.removeControl("factory_cert"),y.forEach(function(t,n){s.push(e.manufactureDetails()),"Within India"==t.area_of_sale?(s.controls[n].addControl("india_where_sale_done",e.fb.array([])),s.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),t.india_where_sale_done.forEach(function(t,o){s.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),s.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.max_sale_state_name.forEach(function(t,o){s.controls[n].get("max_sale_state_name").push(e.maxSaleState())})):"Export"==t.area_of_sale?(s.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){s.controls[n].get("countries_where_export_done").push(e.createCountrySale())})):"Both"==t.area_of_sale&&(s.controls[n].addControl("india_where_sale_done",e.fb.array([])),s.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),s.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.india_where_sale_done.forEach(function(t,o){s.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),t.max_sale_state_name.forEach(function(t,o){s.controls[n].get("max_sale_state_name").push(e.maxSaleState())}),s.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){s.controls[n].get("countries_where_export_done").push(e.createCountrySale())}))}),n.manufacturing_activity_details=y):n.manufacturing_activity_details=[]}else n.manufacturing_activity_details=[];if(t.records.retail_trading_activity_details){var b=Object.keys(t.records.retail_trading_activity_details).map(function(e){return t.records.retail_trading_activity_details[e]});b.length>0?(b.length>0?e.businessForm.addControl("export_import_cert",new l.d("",l.m.required)):e.businessForm.removeControl("export_import_cert"),b.length>0?e.businessForm.addControl("applicant_use_mobile_wallets",new l.d("")):e.businessForm.removeControl("applicant_use_mobile_wallets"),b.length>0?e.businessForm.addControl("applicant_use_pos_machines",new l.d("")):e.businessForm.removeControl("applicant_use_pos_machines"),b.forEach(function(t,n){r.push(e.manufactureDetails()),"Within India"==t.area_of_sale?(r.controls[n].addControl("india_where_sale_done",e.fb.array([])),r.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),t.india_where_sale_done.forEach(function(t,o){r.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),r.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.max_sale_state_name.forEach(function(t,o){r.controls[n].get("max_sale_state_name").push(e.maxSaleState())})):"Export"==t.area_of_sale?(r.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){r.controls[n].get("countries_where_export_done").push(e.createCountrySale())})):"Both"==t.area_of_sale&&(r.controls[n].addControl("india_where_sale_done",e.fb.array([])),r.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),r.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.india_where_sale_done.forEach(function(t,o){r.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),t.max_sale_state_name.forEach(function(t,o){r.controls[n].get("max_sale_state_name").push(e.maxSaleState())}),r.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){r.controls[n].get("countries_where_export_done").push(e.createCountrySale())}))}),n.retail_trading_activity_details=b):n.retail_trading_activity_details=[]}else n.retail_trading_activity_details=[];if(console.log("retail finish"),t.records.wholesale_trading_activity_details){var w=Object.keys(t.records.wholesale_trading_activity_details).map(function(e){return t.records.wholesale_trading_activity_details[e]});w.length>0?(w.length>0?e.businessForm.addControl("export_import_cert",new l.d("",l.m.required)):e.businessForm.removeControl("export_import_cert"),w.length>0?e.businessForm.addControl("applicant_use_mobile_wallets",new l.d("")):e.businessForm.removeControl("applicant_use_mobile_wallets"),w.length>0?e.businessForm.addControl("applicant_use_pos_machines",new l.d("")):e.businessForm.removeControl("applicant_use_pos_machines"),w.forEach(function(t,n){c.push(e.manufactureDetails()),"Within India"==t.area_of_sale?(c.controls[n].addControl("india_where_sale_done",e.fb.array([])),c.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),t.india_where_sale_done.forEach(function(t,o){c.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),c.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.max_sale_state_name.forEach(function(t,o){c.controls[n].get("max_sale_state_name").push(e.maxSaleState())})):"Export"==t.area_of_sale?(c.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){c.controls[n].get("countries_where_export_done").push(e.createCountrySale())})):"Both"==t.area_of_sale&&(c.controls[n].addControl("india_where_sale_done",e.fb.array([])),c.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),c.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.india_where_sale_done.forEach(function(t,o){c.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),t.max_sale_state_name.forEach(function(t,o){c.controls[n].get("max_sale_state_name").push(e.maxSaleState())}),c.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){c.controls[n].get("countries_where_export_done").push(e.createCountrySale())}))}),n.wholesale_trading_activity_details=w):n.wholesale_trading_activity_details=[]}else n.wholesale_trading_activity_details=[];if(console.log("whole Sale finish"),t.records.service_provider_activity_details){var x=Object.keys(t.records.service_provider_activity_details).map(function(e){return t.records.service_provider_activity_details[e]});x.length>0?(x.length>0?e.businessForm.addControl("practice_cert",new l.d("",l.m.required)):e.businessForm.removeControl("practice_cert"),x.length>0?e.businessForm.addControl("applicant_use_mobile_wallets",new l.d("")):e.businessForm.removeControl("applicant_use_mobile_wallets"),x.length>0?e.businessForm.addControl("applicant_use_pos_machines",new l.d("")):e.businessForm.removeControl("applicant_use_pos_machines"),x.forEach(function(t,n){m.push(e.manufactureDetails()),"Within India"==t.area_of_sale?(m.controls[n].addControl("india_where_sale_done",e.fb.array([])),m.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),t.india_where_sale_done.forEach(function(t,o){m.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),m.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.max_sale_state_name.forEach(function(t,o){m.controls[n].get("max_sale_state_name").push(e.maxSaleState())})):"Export"==t.area_of_sale?(m.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){m.controls[n].get("countries_where_export_done").push(e.createCountrySale())})):"Both"==t.area_of_sale&&(m.controls[n].addControl("india_where_sale_done",e.fb.array([])),m.controls[n].addControl("pan_india_options",new l.d("",l.m.required)),m.controls[n].addControl("max_sale_state_name",e.fb.array([])),t.india_where_sale_done.forEach(function(t,o){m.controls[n].get("india_where_sale_done").push(e.indiaSalesDone())}),t.max_sale_state_name.forEach(function(t,o){m.controls[n].get("max_sale_state_name").push(e.maxSaleState())}),m.controls[n].addControl("countries_where_export_done",e.fb.array([])),t.countries_where_export_done.forEach(function(t,o){m.controls[n].get("countries_where_export_done").push(e.createCountrySale())}))}),n.service_provider_activity_details=x):(n.service_provider_activity_details=[],console.log("no data"))}else n.service_provider_activity_details=[];if(console.log("Service finish"),t.records.others_activity_details){var C=Object.keys(t.records.others_activity_details).map(function(e){return t.records.others_activity_details[e]});C.length>0?(C.forEach(function(t,n){d.push(e.createOthersActivity())}),n.others_activity_details=C):n.others_activity_details=[]}else n.others_activity_details=[];console.log("Others finish"),t.dataStatus&&"YES"==t.records.seasonality.toUpperCase()&&(e.businessForm.addControl("peak_period_of_business",new l.d("",l.m.required)),e.businessForm.addControl("month_of_business_run",new l.d("",l.m.required))),console.log("Seasonality"),console.log("inserting.."),console.log("businessVal",n),e.businessForm.setValue(n),console.log("Finish")}else{o.push(e.createPartners());var D=e.activityData.map(function(e){return{name:e.name,type_of_activity_id:e.type_of_activity_id,exist_status:0}});D.length>0&&D.forEach(function(t){i.push(e.createBusinessActivity(t))})}}),this.businessForm.controls.seasonality.valueChanges.subscribe(function(t){"YES"==t.toUpperCase()?e.businessForm.addControl("peak_period_of_business",new l.d("",l.m.required)):e.businessForm.removeControl("peak_period_of_business"),"YES"==t.toUpperCase()?e.businessForm.addControl("month_of_business_run",new l.d("",l.m.required)):e.businessForm.removeControl("month_of_business_run")})},e.prototype.filterCity=function(e,t){if(t){var n=this.stateList.filter(function(e){return e.state_id==t});return n.length>0?n[0].cities:[]}},e.prototype.filterMaxSaleState=function(e,t){if(this.filterCityList=t,t){var n=e.map(function(e){return e.state_id}),o=[];return(o=t.filter(function(e){return e.state_name}).map(function(e){return e.state_name}).map(function(t){var o=n.indexOf(t);return e[o]})).length>0?o:[]}},e.prototype.filterMaxSaleCities=function(e,t,n){var o=n.filter(function(e){return""!=e.city_name}).map(function(e){return e.city_name});if(o=[].concat.apply([],o),t){var a=e.map(function(e){return e.state_id}),i=t.map(function(t){var n=a.indexOf(t);return n=e[n].cities}),s=[].concat.apply([],i);if(s.length>0){return s.filter(function(e){return o.some(function(t){return e.city_id==t})})}return[]}return[]},e.prototype.checkTotalEmployee=function(e){this.businessForm.controls.employees_total.setValue((+e.value.employees_permanent||0)+(+e.value.employees_temporary||0))},e.prototype.checkWithExistBusinessYear=function(e,t){this.errorMessage[t]=e>this.generalExistBusinessYear?"Higher than Business Vintage":""},e.prototype.changeBusinessActivity=function(e){if(1==e.value.exist_status&&2==e.value.type_of_activity_id){this.ManufacturingChecked=e.value.exist_status;(t=this.businessForm.controls.manufacturing_activity_details).controls=[],t.setValue([]),console.log("true")}else if(0==e.value.exist_status&&2==e.value.type_of_activity_id){this.ManufacturingChecked=e.value.exist_status;var t;(t=this.businessForm.controls.manufacturing_activity_details).push(this.manufactureDetails())}if(1==e.value.exist_status&&3==e.value.type_of_activity_id){this.RetailedChecked=e.value.exist_status;(n=this.businessForm.controls.retail_trading_activity_details).controls=[],n.setValue([])}else if(0==e.value.exist_status&&3==e.value.type_of_activity_id){this.RetailedChecked=e.value.exist_status;var n;(n=this.businessForm.controls.retail_trading_activity_details).push(this.manufactureDetails())}if(1==e.value.exist_status&&4==e.value.type_of_activity_id){this.WholeSalesChecked=e.value.exist_status;(o=this.businessForm.controls.wholesale_trading_activity_details).controls=[],o.setValue([])}else if(0==e.value.exist_status&&4==e.value.type_of_activity_id){this.WholeSalesChecked=e.value.exist_status;var o;(o=this.businessForm.controls.wholesale_trading_activity_details).push(this.manufactureDetails())}if(1==e.value.exist_status&&5==e.value.type_of_activity_id){this.ServiceChecked=e.value.exist_status;(a=this.businessForm.controls.service_provider_activity_details).controls=[],a.setValue([])}else if(0==e.value.exist_status&&5==e.value.type_of_activity_id){this.ServiceChecked=e.value.exist_status;var a;(a=this.businessForm.controls.service_provider_activity_details).push(this.manufactureDetails())}if(1==e.value.exist_status&&1==e.value.type_of_activity_id){(i=this.businessForm.controls.others_activity_details).controls=[],i.setValue([])}else if(0==e.value.exist_status&&1==e.value.type_of_activity_id){var i;(i=this.businessForm.controls.others_activity_details).push(this.createOthersActivity())}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 l.d(this.businessForm.value.export_import_cert,l.m.required)):this.businessForm.removeControl("export_import_cert"),this.businessForm.value.manufacturing_activity_details.length>0?this.businessForm.addControl("factory_cert",new l.d(this.businessForm.value.factory_cert,l.m.required)):this.businessForm.removeControl("factory_cert"),this.businessForm.value.service_provider_activity_details.length>0?this.businessForm.addControl("practice_cert",new l.d(this.businessForm.value.practice_cert,l.m.required)):this.businessForm.removeControl("practice_cert"),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 l.d(this.businessForm.value.applicant_use_mobile_wallets)):this.businessForm.removeControl("applicant_use_mobile_wallets"),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 l.d(this.businessForm.value.applicant_use_pos_machines)):this.businessForm.removeControl("applicant_use_pos_machines"),this.ManufacturingChecked&&this.RetailedChecked&&this.WholeSalesChecked&&this.ServiceChecked&&(this.ExportFlag=!1)},e.prototype.changeManufacturingAreaSale=function(e,t){var n=this.businessForm.get("manufacturing_activity_details");"Within India"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"Export"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()]))):"Both"==e.value.area_of_sale&&(n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()])))},e.prototype.changeRetailAreaSale=function(e,t){var n=this.businessForm.get("retail_trading_activity_details");"Within India"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"Export"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()]))):"Both"==e.value.area_of_sale&&(n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()])))},e.prototype.changeWholesaleAreaSale=function(e,t){var n=this.businessForm.get("wholesale_trading_activity_details");"Within India"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"Export"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()]))):"Both"==e.value.area_of_sale&&(n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()])))},e.prototype.changeServiceArea=function(e,t){var n=this.businessForm.get("service_provider_activity_details");"Within India"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"Export"==e.value.area_of_sale?(n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()]))):"Both"==e.value.area_of_sale&&(n.controls[t].removeControl("india_where_sale_done"),n.controls[t].removeControl("countries_where_export_done"),n.controls[t].removeControl("pan_india_options"),n.controls[t].removeControl("max_sale_state_name"),n.controls[t].addControl("india_where_sale_done",this.fb.array([])),n.controls[t].addControl("pan_india_options",new l.d("",l.m.required)),n.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])),n.controls[t].addControl("countries_where_export_done",this.fb.array([this.createCountrySale()])))},e.prototype.changePanIndiaOptions=function(e,t,n){if(1==e){(o=this.businessForm.get("manufacturing_activity_details")).controls[t].removeControl("india_where_sale_done"),o.controls[t].removeControl("max_sale_state_name"),"Yes"==n?(console.log("clicked yes"),o.controls[t].addControl("india_where_sale_done",this.fb.array([])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"No"==n&&(o.controls[t].addControl("india_where_sale_done",this.fb.array([this.indiaSalesDone()])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])))}else if(2==e){(o=this.businessForm.get("retail_trading_activity_details")).controls[t].removeControl("india_where_sale_done"),o.controls[t].removeControl("max_sale_state_name"),"Yes"==n?(o.controls[t].addControl("india_where_sale_done",this.fb.array([])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"No"==n&&(o.controls[t].addControl("india_where_sale_done",this.fb.array([this.indiaSalesDone()])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])))}else if(3==e){(o=this.businessForm.get("wholesale_trading_activity_details")).controls[t].removeControl("india_where_sale_done"),o.controls[t].removeControl("max_sale_state_name"),"Yes"==n?(o.controls[t].addControl("india_where_sale_done",this.fb.array([])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"No"==n&&(o.controls[t].addControl("india_where_sale_done",this.fb.array([this.indiaSalesDone()])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])))}else if(4==e){var o;(o=this.businessForm.get("service_provider_activity_details")).controls[t].removeControl("india_where_sale_done"),o.controls[t].removeControl("max_sale_state_name"),"Yes"==n?(o.controls[t].addControl("india_where_sale_done",this.fb.array([])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()]))):"No"==n&&(o.controls[t].addControl("india_where_sale_done",this.fb.array([this.indiaSalesDone()])),o.controls[t].addControl("max_sale_state_name",this.fb.array([this.maxSaleState()])))}},e.prototype.changePartnerGroup=function(e,t){var n=this.businessForm.get("partners");"Others"==e?n.controls[t].addControl("partner_other_name",new l.d("",l.m.required)):n.controls[t].removeControl("partner_other_name")},e.prototype.createDesignation=function(){return this.fb.group({sec_name:["",l.m.compose([l.m.required])],sec_designation:["",l.m.compose([l.m.required])]})},e.prototype.keyPress=function(e){var t=String.fromCharCode(e.charCode);8==e.keyCode||/[0-9]/.test(t)||e.preventDefault()},e.prototype.getWorkExperience=function(e,t){var n=""==e.current_business_experiance_year?0:parseInt(e.current_business_experiance_year),o=""==e.total_business_experiance?0:parseInt(e.total_business_experiance),a=this.businessForm.get("partners");o>n?a.controls[t].addControl("total_business_previous_experience",new l.d("",l.m.required)):a.controls[t].removeControl("total_business_previous_experience")},e.prototype.ConvertMonthintoYear=function(e,t){var n=t%12,o=t/12;e.controls.current_business_experiance_year.setValue(+e.controls.current_business_experiance_year.value+ +Math.floor(o)),e.controls.current_business_experiance_month.setValue(Math.floor(n))},e.prototype.createPartners=function(){return this.fb.group({partner_name:["",l.m.compose([l.m.required])],shareholding:[""],started_business:[""],current_business_experiance_year:[""],current_business_experiance_month:[""],total_business_experiance:[""],total_business_previous_experience:[""]})},e.prototype.createRelationShip=function(){return this.fb.group({family_member_salutation:[""],family_member_name:[""],other_family_relationship_id:[""],relation_to_id:[""],relationship_with_company_id:[""],started_business:[""]})},e.prototype.createBusinessActivity=function(e){return this.fb.group({type_of_activity_id:[e.type_of_activity_id,l.m.compose([l.m.required])],name:[e.name,l.m.compose([l.m.required])],exist_status:[1==e.exist_status]})},e.prototype.createServiceActivity=function(){return this.fb.group({main_products:["",l.m.compose([l.m.required])],area_of_sale:["",l.m.compose([l.m.required])],description:[""]})},e.prototype.createOthersActivity=function(){return this.fb.group({others_details:["",l.m.compose([l.m.required])]})},e.prototype.manufactureDetails=function(){return this.fb.group({main_products:[""],area_of_sale:[""],description:[""]})},e.prototype.indiaSalesDone=function(){return this.fb.group({state_name:[""],city_name:[""]})},e.prototype.maxSaleState=function(){return this.fb.group({state_name:[""],city_name:[""]})},e.prototype.createDocument=function(){return this.fb.group({document:[""]})},e.prototype.addDesignation=function(){this.businessForm.controls.designation.push(this.createDesignation())},e.prototype.deleteDesignation=function(e){var t=this.businessForm.controls.designation;1==t.length?this.businessForm.controls.designation.reset():t.removeAt(e)},e.prototype.addPartnerDetails=function(e){var t=this.businessForm.controls.partners;e.stopPropagation();this.step=t.length,t.push(this.createPartners())},e.prototype.addPersonRelationship=function(e){e.stopPropagation();var t=this.businessForm.controls.persons_with_relationships;this.step=t.length,t.push(this.createRelationShip())},e.prototype.deletePersonRelationship=function(e){this.businessForm.controls.persons_with_relationships.removeAt(e)},e.prototype.deletePartnerDetails=function(e){var t=this.businessForm.controls.partners;1==t.length?this.businessForm.controls.partners.reset():t.removeAt(e)},e.prototype.addMoreManufacturing=function(){this.businessForm.controls.manufacturing_activity_details.push(this.manufactureDetails())},e.prototype.addMoreRetail=function(){this.businessForm.controls.retail_trading_activity_details.push(this.manufactureDetails())},e.prototype.addMoreWholesale=function(){this.businessForm.controls.wholesale_trading_activity_details.push(this.manufactureDetails())},e.prototype.createCountrySale=function(){return this.fb.group({country_name:["",l.m.compose([l.m.required])],approx_sale:["",l.m.compose([l.m.required])]})},e.prototype.addMoreState=function(e,t){if(1==t){this.businessForm.get("manufacturing_activity_details").controls[e].get("india_where_sale_done").push(this.indiaSalesDone())}else if(2==t){this.businessForm.get("manufacturing_activity_details").controls[e].get("countries_where_export_done").push(this.createCountrySale())}},e.prototype.removeState=function(e,t,n){if(1==n){this.businessForm.get("manufacturing_activity_details").controls[e].get("india_where_sale_done").removeAt(t)}else if(2==n){this.businessForm.get("manufacturing_activity_details").controls[e].get("countries_where_export_done").removeAt(t)}},e.prototype.addRetailMoreState=function(e,t){if(1==t){this.businessForm.get("retail_trading_activity_details").controls[e].get("india_where_sale_done").push(this.indiaSalesDone())}else if(2==t){this.businessForm.get("retail_trading_activity_details").controls[e].get("countries_where_export_done").push(this.createCountrySale())}},e.prototype.removeRetailState=function(e,t,n){if(1==n){this.businessForm.get("retail_trading_activity_details").controls[e].get("india_where_sale_done").removeAt(t)}else if(2==n){this.businessForm.get("retail_trading_activity_details").controls[e].get("countries_where_export_done").removeAt(t)}},e.prototype.addWholesaleMoreState=function(e,t){if(1==t){this.businessForm.get("wholesale_trading_activity_details").controls[e].get("india_where_sale_done").push(this.indiaSalesDone())}else if(2==t){this.businessForm.get("wholesale_trading_activity_details").controls[e].get("countries_where_export_done").push(this.createCountrySale())}},e.prototype.removeWholesaleState=function(e,t,n){if(1==n){this.businessForm.get("wholesale_trading_activity_details").controls[e].get("india_where_sale_done").removeAt(t)}else if(2==n){this.businessForm.get("wholesale_trading_activity_details").controls[e].get("countries_where_export_done").removeAt(t)}},e.prototype.addServiceMoreState=function(e,t){if(1==t){this.businessForm.get("service_provider_activity_details").controls[e].get("india_where_sale_done").push(this.indiaSalesDone())}else if(2==t){this.businessForm.get("service_provider_activity_details").controls[e].get("countries_where_export_done").push(this.createCountrySale())}},e.prototype.addMoreServiceprovider=function(){this.businessForm.controls.service_provider_activity_details.push(this.manufactureDetails())},e.prototype.addMoreOthersActivity=function(){this.businessForm.controls.others_activity_details.push(this.createOthersActivity())},e.prototype.removeServiceState=function(e,t,n){if(1==n){var o=this.businessForm.get("service_provider_activity_details");(o=o.controls[e].get("india_where_sale_done")).removeAt(t)}else if(2==n){var a=this.businessForm.get("service_provider_activity_details");(a=a.controls[e].get("countries_where_export_done")).removeAt(t)}},e.prototype.addDocuments=function(){this.businessForm.controls.documents.push(this.createDocument())},e.prototype.deleteDocuments=function(e){var t=this.businessForm.controls.documents;1==t.length?this.businessForm.controls.documents.reset():t.removeAt(e)},e.prototype.relationChanged=function(e){var t=this;this.relativeNames=[],e.value.forEach(function(e){t.relativeNames.push({member:e})})},e.prototype.initBusinessForm=function(){this.businessForm=this.fb.group({pdid:this.pdDetails.pd_id,formid:this.FormId.form_id,fk_createdby:this.users,profession_name:["",l.m.compose([l.m.required])],business_years:["",l.m.compose([l.m.required])],industry:["",l.m.compose([l.m.required])],type_of_activity:["",l.m.compose([l.m.required])],seasonality:["",l.m.compose([l.m.required])],designation:this.fb.array([]),partners:this.fb.array([]),employees_total:["",l.m.compose([l.m.required])],employees_permanent:["",l.m.compose([l.m.required])],employees_temporary:["",l.m.compose([l.m.required])],officer_total:["",l.m.compose([l.m.required])],officer_permanent:["",l.m.compose([l.m.required])],officer_temporary:["",l.m.compose([l.m.required])],invested_amount:["",l.m.compose([l.m.required])],working_capital:["",l.m.compose([l.m.required])],is_service_provided:["",l.m.compose([l.m.required])],ownership_setup:["",l.m.compose([l.m.required])],ownership_others:[""],rent_paid:[""],shop_eat_act_cert:["",l.m.compose([l.m.required])],gst_Regn_cert:["",l.m.compose([l.m.required])],export_import_cert:["",l.m.compose([l.m.required])],factory_cert:["",l.m.compose([l.m.required])],practice_cert:["",l.m.compose([l.m.required])],pf_regn:["",l.m.compose([l.m.required])],esic_regn:["",l.m.compose([l.m.required])],other_documents:["",l.m.compose([l.m.required])],documents:this.fb.array([]),business_remarks:["",l.m.compose([l.m.required])],who_started:["",l.m.compose([l.m.required])],main_person:["",l.m.compose([l.m.required])],other_main_person:[""],family_members_involved:["",l.m.compose([l.m.required])],before_business:["",l.m.compose([l.m.required])],any_delays:["",l.m.compose([l.m.required])]})},e.prototype.submitDetails=function(){var e=this;console.log("First",this.businessForm.value);console.log(this.FormId);var t;"no"==(t=this.businessForm.value).other_documents&&delete t.documents,""==t.rent_paid&&delete t.rent_paid,""==t.ownership_others&&delete t.ownership_others;var n=0;t.manufacturing_activity_details.length>0&&t.manufacturing_activity_details.forEach(function(e,t){if("Within India"!=e.area_of_sale){var o=Object.keys(e.countries_where_export_done).map(function(t){return e.countries_where_export_done[t]}).reduce(function(e,t){return e+ +t.approx_sale},0);(o>100||o<100)&&n++}}),t.wholesale_trading_activity_details.length>0&&t.wholesale_trading_activity_details.forEach(function(e,t){if("Within India"!=e.area_of_sale){var o=Object.keys(e.countries_where_export_done).map(function(t){return e.countries_where_export_done[t]}).reduce(function(e,t){return e+ +t.approx_sale},0);(o>100||o<100)&&n++}}),t.retail_trading_activity_details.length>0&&t.retail_trading_activity_details.forEach(function(e,t){if("Within India"!=e.area_of_sale){var o=Object.keys(e.countries_where_export_done).map(function(t){return e.countries_where_export_done[t]}).reduce(function(e,t){return e+ +t.approx_sale},0);(o>100||o<100)&&n++}}),t.service_provider_activity_details.length>0&&t.service_provider_activity_details.forEach(function(e,t){if("Within India"!=e.area_of_sale){var o=Object.keys(e.countries_where_export_done).map(function(t){return e.countries_where_export_done[t]}).reduce(function(e,t){return e+ +t.approx_sale},0);(o>100||o<100)&&n++}}),n>0?this.toast.pdTriggerappmessage("warning!! Approximate sales doesn't add upto 100%"):this.qustCat.saveForm(t).subscribe(function(t){1==t.dataStatus&&(e.toast.pdTriggerappmessage("Record Saved Successfully.!"),e.navCtrl.pop())})},e.prototype.getBuisnessDetails=function(){var e=this;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId.form_id}).subscribe(function(t){var n=t.records,o=e.businessForm.controls.designation,a=e.businessForm.controls.partners,i=e.businessForm.controls.documents;if(200==t.status){var s=void 0,r=Object.keys(t.records.designation).map(function(e){return t.records.designation[e]}),l=Object.keys(t.records.partners).map(function(e){return t.records.partners[e]}),c=[],m=[];Object.keys(t.records.family_members_involved).map(function(e){return t.records.family_members_involved[e]}).forEach(function(e){c.push(e.member),m.push(e)}),e.relativeNames=m,0==r.length?o.push(e.createDesignation()):r.forEach(function(t){o.push(e.createDesignation())}),0==l.length?a.push(e.createPartners()):l.forEach(function(t){a.push(e.createPartners())}),"yes"==t.records.other_documents?(s=Object.keys(t.records.documents).map(function(e){return t.records.documents[e]})).forEach(function(t){i.push(e.createDocument())}):(s=[{document:""}],i.push(e.createDocument())),"others"!=t.records.ownership_setup&&(n.ownership_others=""),"rented"!=t.records.ownership_setup&&(n.rent_paid=""),n.family_members_involved=c,n.pdid=e.pdDetails.pd_id,n.formid=e.FormId.form_id,n.fk_createdby=e.users,n.designation=r,n.partners=l,n.documents=s,e.businessForm.setValue(n)}else o.push(e.createDesignation()),a.push(e.createPartners()),i.push(e.createDocument())})},e.prototype.setStep=function(e){this.step=e},e.prototype.inWords=function(e,t){switch(t){case 1:this.appxSalaryAmtInwords=this.cons.convertNumberToWords(e.target.value)}},e.prototype.CheckExport=function(e,t,n){console.log("CheckExport"),console.log(e,t,n),console.log(this.ManufacturingChecked,this.RetailedChecked,this.WholeSalesChecked,this.ServiceChecked),this.ManufacturingChecked?this.ManufacturingChecked&&"MActivity"==t&&(this.ManufacturingCounterArray[n]=0):"MActivity"==t&&"Within India"!=e?this.ManufacturingCounterArray[n]=1:"MActivity"==t&&"Within India"!=e&&(this.ManufacturingCounterArray[n]=0),this.RetailedChecked?"RActivity"==t&&this.RetailedChecked&&(this.RetailCounterArray[n]=0):"RActivity"==t&&"Within India"!=e?this.RetailCounterArray[n]=1:"RActivity"==t&&"Within India"!=e&&(this.RetailCounterArray[n]=0),this.WholeSalesChecked?"WActivity"==t&&this.WholeSalesChecked&&(this.WholeSaleCounterArray[n]=0):"WActivity"==t&&"Within India"!=e?this.WholeSaleCounterArray[n]=1:"WActivity"==t&&"Within India"!=e&&(this.WholeSaleCounterArray[n]=0),this.ServiceChecked?"SPActivity"==t&&(this.ServiceCounterArray[n]=0):"SPActivity"==t&&"Within India"!=e?this.ServiceCounterArray[n]=1:"SPActivity"==t&&"Within India"!=e&&(this.ServiceCounterArray[n]=0);var o=this.ManufacturingCounterArray.reduce(function(e,t){return e+ +t},0);console.log(o,this.ManufacturingCounterArray);var a=this.RetailCounterArray.reduce(function(e,t){return e+ +t},0),i=this.WholeSaleCounterArray.reduce(function(e,t){return e+ +t},0),s=this.ServiceCounterArray.reduce(function(e,t){return e+ +t},0),r=o+a+i+s;this.ExportFlag=r>0,console.log("overallCounter , SumOfManufacturingCounter , SumOfRetailCounter , SumOfWholeSaleCounter , SumOfServiceCounter ",r,o,a,i,s),console.log("Current Flag Status : ",this.ExportFlag)},e=m([Object(o.m)({selector:"page-pd-question-business-info",template:'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n
\n
\n

Partner Details

\n \n \n \n
Partner #{{i+1}}
\n
\n \n \n \n {{app.applicant_name}}\n Others\n \n \n \n \n \n \n \n \n \n \n Select\n Yes\n No\n \n \n

No of Years in Current Business

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

Person RelationShip


\n
\n \n \n \n \x3c!-- {{person.get(\'family_member_name\').value | titlecase}} --\x3e\n
Person #{{i+1}}
\n
\n\n \n \n {{title.name}}\n \n \n \n \n \n \n \n {{member.name | titlecase}}\n \n \n \n \n {{member.applicant_name | titlecase}}\n \n \n \n \n {{comrelship.name | titlecase}}\n \n \n \n \n Select\n Yes\n No\n \n \n \n \n \n
\n
\n
\n \n
\n \n Type of Business Activity\n \n
\n \n {{entityType.controls.name.value | titlecase}}\n \n
\n
\n
\n \n \n \n
\n

Manufacturing Details {{i+1}}

\n \n \n \n \n \n Within India"\n Export\n Both\n \n \n \n \n Yes\n No\n \n \n \n
\n
\n
\n \n \n {{SL.state_name}}\n \n \n \n \n {{CL.city_name}} \n \n \n
\n
\n
\n
\n
\n
\n
\n \n States Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n
\n
\n \n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n \n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n
\n \n
\n
\n \n
Within India
\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\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 States Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\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 Description of {{manufacturing.value.main_products}}\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 Within India\n Export\n Both\n \n \n \n \n Yes\n No\n \n \n\n \n
\n
\n \n \n \n {{SL.state_name}}\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 States Where Max Sales Done for {{retail.value.main_products}}\n\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n
\n
\n \n \n Countries Where Export Is Being Done for {{retail.value.main_products}}\n\n \x3c!-- --\x3e\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n
\n \n
\n
\n\n \n

Within India

\n\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\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 {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{retail.value.main_products}}\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 Description of {{retail.value.main_products}}\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 Within India\n Export\n Both\n \n \n \x3c!-- this is under whole sale --\x3e\n \n \n Yes\n No\n \n \n \n
\n
\n\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\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 {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n

Within India

\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\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 States Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\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 Description of {{wholesale.value.main_products}}\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 Within India\n Export\n Both\n \n \n \x3c!-- this is under service --\x3e\n \n \n Yes\n No\n \n \n \n \n \n
\n
\n\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n\n \n
\n
\n \n \n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\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

Within India

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

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\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 Description of {{serviceprovider.value.main_products}}\n \n \n \n
\n
\n
\n \n
\n\n\n \n \n \n
\n \n

Other Details {{o+1}}

\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 Digital Payments\n \n \n \n \n Yes\n No\n \n \n \n \n Yes\n No\n \n \n \n \n \n\n \n \n Seasonality\n \n \n
\n \n

Is The Business Seasonal

\n \n \n Yes\n No Major Changes In Sales\n \n \n \n \n \n January\n February\n March\n April\n May\n June\n July\n August\n September\n October\n November\n December\n \n \n \n
\n
\n \n \n \n \n \x3c!-- \n \n --\x3e\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 {{"₹"}} {{appxSalaryAmtInwords}} Only\n \n \n \n \n \n \n No of Employees Sighted By PD Officer During His Visit \n \n \n \n \n \n \x3c!-- \n \n --\x3e\n \x3c!-- \n \n --\x3e\n \n \n Yes\n No\n \x3c!-- Not Applicable --\x3e\n \n \n \n \n\n \n \n Documents Sighted \n \n \n \n \n

Shop and Est Act Cert

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

GST Regn Cert

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

Export / Import cert

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

Factory Cert

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

Cert of Practice

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

PF Regn

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

ESIC Regn

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

Do You Want to Add Other Documents?

\n \n \n Yes\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 Remarks\n \n \n \n \n \n \n \n
\n
\n'}),d("design:paramtypes",[a.r,a.s,i.a,s.a,r.a,l.c,c.a])],e)}()},386:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(4),r=n(11),l=n(30),c=n(9),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){var r=this;this.navCtrl=e,this.navParams=t,this.aws=n,this.fb=o,this.qustcat=a,this.cons=i,this.toast=s,this.currentYear=(new Date).getFullYear(),this.m_any_asset_loan_type=[{value:"yes",viewValue:"Yes"},{value:"no",viewValue:"No"},{value:"nan",viewValue:"NA"}],this.AssetValueInwords=[],this.appxMarketAmtInwords=[],this.RentAmtInwords=[],this.mergeCompanyApplicant=[],this.existCompanyList=[],this.placeholderName="Was any business activity seen at the Address Type during PD visit?",this.m_address_type=[],this.apiLoadFinish=!1,this.pdDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale(),this.company_id=this.pdDetails.company_id,this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 2!=e.applicant_type}),this.applicants.push({pd_co_applicant_id:"0",applicant_name:"Others"}),this.generalExistBusinessYear=this.pdDetails.business_years,this.generalExistBusinessMonth=this.pdDetails.business_month,this.pageTitle=this.pdDetails.company_name+" - "+this.pageTitle,this.main_applicant=this.pdDetails.applicant_name,this.lender_applicant_id=this.pdDetails.lender_applicant_id,this.subproduct_abbr=this.pdDetails.subproduct_abbr,this.customer_segment_abbr=this.pdDetails.customer_segment_abbr,this.getDetails(),this.getDropDown(),console.log("Form Id",this.FormId),console.log(this.pdDetails);var l={};l.pd_id=this.pdDetails.pd_id,l.pd_form_id="5",this.qustcat.retiverForm(l).subscribe(function(e){if(200==e.status){r.addressLabel="";var t=r.m_address_type.filter(function(t){return t.address_type_id==e.records.address_type})[0],n=e.records.address,o=1!=e.records.address_type?t.address_type:e.records.address_type_others;r.placeholderName="Was any business activity seen at the "+o+" during PD visit?",r.addressLabel=" : "+n+" / "+o}})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBusinessAssetsPage")},e.prototype.getDropDown=function(){var e=this;this.qustcat.getcommondrop("ASSETTYPE").subscribe(function(t){e.m_assets_type=t.records.filter(function(e){return 1==e.isactive&&1==e.flag}),console.log(e.m_assets_type)}),this.qustcat.getcommondrop("PROPERTIES").subscribe(function(t){e.m_propertyType=t.records.filter(function(e){return 1==e.isactive})}),this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(function(t){t.dataStatus&&(e.existCompanyList=t.records.filter(function(t){return 1==t.is_active&&1==t.is_company_applicant&&t.company_order_id==e.company_id}),console.log("existCompanyList",e.existCompanyList));var n=[];e.existCompanyList.length>0&&(n=e.existCompanyList.map(function(e){return{id:e.company_order_id.toString(),name:e.company_name,group_id:1}}),e.mergeCompanyApplicant.push({groupName:"COMPANIES",groupValues:n}));var o=[];e.applicants.length>0&&(o=e.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),e.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:o}))}),this.qustcat.getcommondrop("ADDRESSTYPE").subscribe(function(t){e.m_address_type=t.records.filter(function(e){return 1==e.isactive})})},e.prototype.getDetails=function(){var e=this,t={};t.pd_id=this.pdDetails.pd_id,t.company_id=this.company_id,t.pd_form_id=22,this.qustcat.retiverForm(t).subscribe(function(t){e.formLoadData(1==t.dataStatus?t.records:null),e.apiLoadFinish=!0,console.log("success")})},e.prototype.formLoadData=function(e){if(null==e)this._businessAssetsQuesFrom=this.fb.group({pdid:[this.pdDetails.pd_id],formid:["22"],company_id:[this.company_id],fk_createdby:[this.users],business_years:[""],business_month:[""],business_address_availability:[""],business_is_pd_visited:[""],business_pd_visited_remark:[""],business_assets_details:this.fb.array([this.initBusinessDetails()]),business_assets_form_remark:[""]});else{console.log("Data Here");var t=e;this._businessAssetsQuesFrom=this.fb.group({pdid:[this.pdDetails.pd_id],formid:["22"],company_id:[this.company_id],fk_createdby:[this.users],business_years:[t.business_years],business_month:[t.business_month],business_address_availability:[t.business_address_availability],business_is_pd_visited:[t.business_is_pd_visited],business_pd_visited_remark:[t.business_pd_visited_remark],business_assets_details:this.fb.array([]),business_assets_form_remark:[t.business_assets_form_remark||""]}),this.addBusinessAssetsDetailsWithData(t.business_assets_details)}this.loadDetails=!0},e.prototype.initBusinessDetails=function(){return this.fb.group({business_assets_mode:[""],business_details:this.fb.array([]),business_approximate_market_value:[""],business_ownership_type:[""],business_monthly_rented_amt:[""],business_name_of_the_owner:[],business_name_of_the_other_owner:[],business_vintage:[""],business_purchase_year:["",s.m.compose([s.m.pattern("[1-9]{1}[0-9]{3}")])],business_emi:[""]})},e.prototype.loadProperty=function(){return this.fb.group({property_type:[""],other_property_type:[""]})},e.prototype.load_Four_Weeler=function(){return this.fb.group({manufacturer_model_vehicle:[""]})},e.prototype.loadEquipmentManufacturingDescription=function(){return this.fb.group({equipment_manufacturing_description:[""]})},e.prototype.otherBusinessAssetsDescription=function(){return this.fb.group({any_other_assets:[""],any_other_asset_value:[""],any_other_asset_loan:[""]})},e.prototype.addAssetDetails=function(e){this._businessAssetsQuesFrom.controls.business_assets_details.push(this.initBusinessDetails())},e.prototype.removeAssetsDetails=function(e){this._businessAssetsQuesFrom.controls.business_assets_details.removeAt(e)},e.prototype.selectedAssetsType=function(e,t){var n=t;switch(this._businessAssetsQuesFrom.controls.business_assets_details.at(n).get("business_details").controls.splice(0),e.value){case"2":this._businessAssetsQuesFrom.controls.business_assets_details.at(t).get("business_details").push(this.loadProperty());break;case"3":this._businessAssetsQuesFrom.controls.business_assets_details.at(n).get("business_details").push(this.load_Four_Weeler());break;case"4":this._businessAssetsQuesFrom.controls.business_assets_details.at(n).get("business_details").push(this.loadEquipmentManufacturingDescription());break;case"1":this._businessAssetsQuesFrom.controls.business_assets_details.at(n).get("business_details").push(this.otherBusinessAssetsDescription())}},e.prototype.loadPropertyWithData=function(e){return this.fb.group({property_type:[e.property_type],other_property_type:[e.other_property_type]})},e.prototype.load_Four_WeelerWithData=function(e){return this.fb.group({manufacturer_model_vehicle:[e.manufacturer_model_vehicle]})},e.prototype.loadEquipmentManufacturingDescriptionWithData=function(e){return this.fb.group({equipment_manufacturing_description:[e.equipment_manufacturing_description]})},e.prototype.otherBusinessAssetsDescriptionWithData=function(e){return this.fb.group({any_other_assets:[e.any_other_assets],any_other_asset_value:[e.any_other_asset_value],any_other_asset_loan:[e.any_other_asset_loan]})},e.prototype.addBusinessAssetsDetailsWithData=function(e){var t=this,n=Object.keys(e).map(function(t){return e[t]});if(console.log("Result",n),n.length>0){n.forEach(function(e,n){t.appxMarketAmtInwords[n]=t.cons.convertNumberToWords(+e.business_approximate_market_value),t.RentAmtInwords[n]=t.cons.convertNumberToWords(+e.business_monthly_rented_amt)});for(var o=0,a=n;othis.generalExistBusinessYear?(this.yearErrorMessage="Higher than Business Vintage",this._businessAssetsQuesFrom.controls.business_years.setValue(""),this._businessAssetsQuesFrom.controls.business_month.setValue("")):a==this.generalExistBusinessYear&&+n>this.generalExistBusinessMonth?(this.monthErrorMessage="Higher than Business Vintage",this._businessAssetsQuesFrom.controls.business_years.setValue(""),this._businessAssetsQuesFrom.controls.business_month.setValue("")):(this.monthErrorMessage="",this.yearErrorMessage="",this._businessAssetsQuesFrom.controls.business_years.setValue(+t+ +Math.floor(o)),this._businessAssetsQuesFrom.controls.business_month.setValue(Math.floor(n)))},e.prototype.checkWithExistBusinessYear=function(e){+e>this.generalExistBusinessYear?(this.yearErrorMessage="Higher than Business Vintage",this._businessAssetsQuesFrom.controls.business_years.setValue("")):this.yearErrorMessage=""},e.prototype.inWords=function(e,t,n){switch(n){case 1:this.AssetValueInwords[t]=this.cons.convertNumberToWords(e.target.value);break;case 2:this.appxMarketAmtInwords[t]=this.cons.convertNumberToWords(e.target.value);break;case 3:this.RentAmtInwords[t]=this.cons.convertNumberToWords(e.target.value)}},e=m([Object(o.m)({selector:"page-pd-question-business-assets",template:'\x3c!--\n Generated template for the PdQuestionBusinessAssetsPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \n Business Asset Details\n \n\n\n\n\n\n
\n \n \n
Address Details {{addressLabel | titlecase}}
\n
\n \n \n \n Yes\n No\n \n \n
\n

How long has business been operated from this premise?

\n \n \n {{yearErrorMessage}}\n \n \n \n \n {{monthErrorMessage}}\n \n \n\n \n \n Yes\n No\n \n Field Required\n \n \n \n \n \n Remarks Required\n \n
\n
\n
\n \n
\n
\n
\n \n Business Premises And Other Assets {{i+1}}\n \n \n \n \n {{asset.name | titlecase}}--{{asset.id}}\n \n \n \n\n
\n\n
\n
\n
\n \n \n {{prop.name | titlecase}}\n \n \n \n \n \n
\n
\n
\n \x3c!--Vehicle--\x3e\n
\n
\n
\n \n \n \n
\n
\n
\n \x3c!--Equipment Manufacture--\x3e\n
\n
\n
\n \n \n \n
\n
\n
\n \x3c!--Other Assets--\x3e\n
\n
\n
\n \n \n \n \n \n {{"₹"}} {{AssetValueInwords[s]}} Only\n \n \n \n {{data.viewValue | titlecase}}\n \n \n
\n
\n
\n\n
\n\n \n \n \x3c!-- (selectionChange)="selectedPropertyOwnedType($event.value,s,i)" --\x3e\n Owned\n Rented\n \n \n\n \n \n {{"₹"}} {{RentAmtInwords[i]}} Only\n Monthly Rent Amount Required\n \n\n
\n \x3c!-- --\x3e\n \n \n {{"₹"}} {{appxMarketAmtInwords[i]}} Only\n Approximate Market Value Required\n \n \n \x3c!----\x3e\n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n\n \x3c!--
--\x3e\n
\n \n Approx Vintage\n \n \n \n Purchase Year\n \n \n
\n
\n \n \x3c!--
--\x3e\n
\n \n

Is There a Loan Existing Against This Asset?

\n \n Yes\n No\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'}),d("design:paramtypes",[a.r,a.s,i.a,s.c,r.a,l.a,c.a])],e)}()},387:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(4),s=n(7),r=n(11),l=n(30),c=n(9),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.fb=o,this.qustCat=a,this.cons=i,this.toast=s,this.existCompanyList=[],this.mergeCompanyApplicant=[],this.amtInwords=[],this.emiAmtInwords=[],this.limitCaseFlag=[],this.pdDetails=this.navParams.get("pdDetails"),console.log("pd",this.pdDetails),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),this.pdid=this.pdDetails.pd_id,this.FormId=this.navParams.get("FormId"),this.company_id=this.pdDetails.company_id,console.log("Form Id",this.FormId),this.applicants=this.pdDetails.applicat_details,this.applicants=this.applicants.filter(function(e){return 2!=e.applicant_type}),this.applicants.push({pd_co_applicant_id:"0",applicant_name:"Others"}),this.users=this.aws.getlocale(),this.step=0,this.bankingForm=this.fb.group({itemRows:this.fb.array([]),banking_form_remark:[""]}),this.salaryField="SE"!=this.pdDetails.customer_segment_abbr.substring(0,2),this.getdropdown(),this.retiveBankDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBusinessBankingPage")},e.prototype.getdropdown=function(){var e=this;this.qustCat.getcommondrop("ACCOUNTTYPE").subscribe(function(t){1==t.dataStatus&&(e.accountType=t.records)}),this.qustCat.getcommondrop("BTLENDERLIST").subscribe(function(t){1==t.dataStatus&&(e.m_btLenderList=t.records.filter(function(e){return 1==e.isactive}))}),this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){console.log("Entering company List"),1==t.dataStatus&&(e.existCompanyList=t.records.filter(function(e){return!0===e.is_active&&!0===e.is_company_applicant}),console.log("company List",t.records));var n=[];e.existCompanyList.length>0&&(n=e.existCompanyList.map(function(e){return{id:e.company_order_id.toString(),name:e.company_name,group_id:1}}),e.mergeCompanyApplicant.push({groupName:"COMPANIES",groupValues:n}),console.log("Company applicant",e.mergeCompanyApplicant))});var t=[];this.applicants.length>0&&(t=this.applicants.map(function(e){return{id:e.pd_co_applicant_id,name:e.applicant_name,group_id:2}}),this.mergeCompanyApplicant.push({groupName:"APPLICANTS",groupValues:t}),console.log(this.mergeCompanyApplicant))},e.prototype.compareObjects=function(e,t){return e.id==t.id&&e.group_id==t.group_id},e.prototype.checkOthers=function(e){return null!=e&&0==e.id},e.prototype.selectedAccTypeChanges=function(e,t){this.limitCaseFlag[t]=2!=e&&1!=e},e.prototype.ConvertMonthintoYear=function(e,t){var n=t%12,o=t/12;e.controls.vintage_year.setValue(+e.controls.vintage_year.value+ +Math.floor(o)),e.controls.vintage_month.setValue(Math.floor(n))},e.prototype.inWords=function(e,t,n){switch(n){case 1:this.amtInwords[t]=this.cons.convertNumberToWords(e.target.value);break;case 2:this.emiAmtInwords[t]=this.cons.convertNumberToWords(e.target.value)}},e.prototype.setRequiredValidation=function(e,t,n){console.log(t),console.log(e),console.log(n),1==n&&(0==e?t.controls.other_applicant.setValidators([i.m.required]):t.controls.other_applicant.clearValidators(),t.controls.other_applicant.updateValueAndValidity()),2==n&&(1==e?t.controls.other_bank.setValidators([i.m.required]):t.controls.other_bank.clearValidators(),t.controls.other_bank.updateValueAndValidity())},e.prototype.createBankItem=function(e){return this.fb.group({applicant_name:[""],bank_name:[""],account_type:[""],salary:(this.pdDetails.customer_segment_abbr.substring(0,2),[""]),limit:[""],other_bank:[""],other_applicant:[""],is_main:[""],vintage_year:[""],vintage_month:[""]})},e.prototype.addBankDetails=function(e,t){t.stopPropagation();var n=this.bankingForm.controls.itemRows;this.step=n.length,n.push(this.createBankItem(""))},e.prototype.addmoreBankDetils=function(){this.itemRows=this.bankingForm.get("itemRows"),this.itemRows.push(this.createBankItem(""))},e.prototype.removebank=function(e){var t=this.bankingForm.controls.itemRows;1==t.length?t.reset():t.removeAt(e)},e.prototype.setStep=function(e){this.step=e},e.prototype.retiveBankDetails=function(){var e=this,t=this.bankingForm.controls.itemRows;this.qustCat.retiverForm({pd_id:this.pdDetails.pd_id,pd_form_id:this.FormId,company_id:this.company_id}).subscribe(function(n){if(1==n.dataStatus){var o=Object.keys(n.records.banking_details).map(function(e){return n.records.banking_details[e]});console.log("retrieve data",n.records),e.bankingForm.controls.banking_form_remark.setValue(n.records.banking_form_remark),0==o.length?(console.log("DAta Status 0"),t.push(e.createBankItem(""))):(console.log("DAta Status >1"),o.forEach(function(n,o){e.selectedAccTypeChanges(n.account_type,o),""!=n.limit&&(console.log("Datas",n),e.amtInwords[o]=e.cons.convertNumberToWords(+n.limit)),e.selectedAccTypeChanges(n.account_type,o),t.push(e.createBankItem(""))}),e.bankingForm.controls.itemRows.setValue(o))}else console.log("DAta Status False"),t.push(e.createBankItem(""))})},e.prototype.savepdBank=function(e){var t=this,n={};n.pdid=this.pdDetails.pd_id,n.formid=this.FormId,n.fk_createdby=this.users,n.company_id=this.company_id,n.banking_details=e.itemRows,n.banking_form_remark=e.banking_form_remark,console.log("data",n),this.qustCat.saveForm(n).subscribe(function(e){console.log("data",e),1==e.dataStatus?(t.toast.pdTriggerappmessage("Record Saved Successfully.!"),t.navCtrl.pop()):t.toast.pdTriggerappmessage("Sorry!! Something Went Wrong")})},e=m([Object(o.m)({selector:"page-pd-question-business-banking",template:'\x3c!--\n Generated template for the PdQuestionBusinessBankingPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n Banking Details\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 {{val.name}} \n \n \n \n \n \n \n \n \n \n \n {{ btLen.lender_name }}\n \n \n \n \n \n \n
\n \n \n \n {{bankacc.name}}\n \n \n \n \n \n
\n \n \n Yes\n No\n \n \n
\n \n \n \n Yes\n No\n NA\n \n \n \n
\n \x3c!--
--\x3e\n
\n Limit In case of OD / CC account, What is the Limit \n \n \n {{"₹"}} {{amtInwords[i]}} Only\n \n
\n \x3c!--
--\x3e\n
\n \x3c!--

Is this the main business account (Yes / No)

--\x3e\n \n \n Yes\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 \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n
\n
\n'}),d("design:paramtypes",[a.r,a.s,s.a,i.c,r.a,l.a,c.a])],e)}()},389:function(e,t,n){"use strict";n.d(t,"a",function(){return m});var o=n(0),a=n(5),i=n(198),s=n(11),r=n(9),l=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e,t,n,o,a){this.navCtrl=e,this.navParams=t,this.camera=n,this.qustCat=o,this.toast=a,this.cameraArr=[],this.count=0,this.saveAccess=!1,this.FormId="",this.applicatentDetails=this.navParams.get("pdDetails"),this.FormId=this.navParams.get("FormId")}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdGeneralImagesPage")},e.prototype.takePicture=function(){var e=this;this.camera.getpicture().then(function(t){e.count=e.count+1,e.cameraArr.push({image:t,name:""})})},e.prototype.removeimage=function(e){this.count=this.count-1,this.cameraArr.splice(e,1)},e.prototype.docnames=function(e,t,n){this.cameraArr[t]={image:n,Name:e}},e.prototype.savePDImages=function(){var e=this;this.saveAccess=!0;var t={pd_id:this.applicatentDetails.pd_id,formid:""};t.images=this.cameraArr,this.qustCat.savePDImages(t).subscribe(function(t){1==t.dataStatus&&(e.saveAccess=!1,e.navCtrl.pop(),e.toast.pdTriggerappmessage("Record Saved Successfully.!"))})},e=l([Object(o.m)({selector:"page-pd-general-images",template:'\n \n \n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n \n \n\n\n\n \n \n \n\n \n General Images\n \n \n \n \n \n \n \n\n \n
\n \n \x3c!-- File Name Required --\x3e\n
\n
\n {{img.Name}}\n
\n
\n
\n \n \x3c!-- \n Save --\x3e\n \x3c!-- --\x3e\n \n
\n \n \n \n \n \n \n \n \n
\n'}),c("design:paramtypes",[a.r,a.s,i.a,s.a,r.a])],e)}()},390:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var o=n(0),a=n(5),i=n(7),s=n(73),r=n(9),l=n(30),c=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=function(){function e(e,t,n,o,a){this.navCtrl=e,this.navParams=t,this.aws=n,this.toast=o,this.commonconstant=a,this.commonImage=this.commonconstant.commonimage,this.Username=this.navParams.get("Username"),this.Password=this.navParams.get("Password")}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PasswordPage")},e.prototype.setNewPassword=function(e){var t=this;if(""!=e&&null!=e&&void 0!==e){var n={Username:this.Username,Password:this.Password,newpassword:e};console.log(n),this.aws.dologin(n).subscribe(function(e){console.log(e),t.navCtrl.setRoot(s.a)},function(e){t.toast.pdTriggerappmessage(e.message)})}else this.toast.pdTriggerappmessage("Enter the new Password")},e=c([Object(o.m)({selector:"page-password",template:'\x3c!--\n Generated template for the PasswordPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n password\n \n\n\n\n\n\n\n \n \n \n \n Circle Image\n \n \n \n \n \n

New Password

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n\n\n'}),m("design:paramtypes",[a.r,a.s,i.a,r.a,l.a])],e)}()},391:function(e,t,n){"use strict";n.d(t,"a",function(){return h});var o=n(0),a=n(5),i=n(4),s=n(73),r=n(69),l=n(9),c=n(392),m=n(7),d=n(393),u=n(30),p=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},h=function(){function e(e,t,n,o,a,i,s,r,l,c){this.navCtrl=e,this.navParams=t,this.Menu=n,this.fb=o,this.shared=a,this.toast=i,this.faio=s,this.aws=r,this.loadingCtrl=l,this.commonconstant=c,this.mpinaccess=!1,this.commonImage=this.commonconstant.commonimage,this.shared.refresh(),this.getuserDetails()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad AuthPage")},e.prototype.ionViewDidEnter=function(){this.Menu.enable(!1)},e.prototype.ionViewWillLeave=function(){this.Menu.enable(!0)},e.prototype.getuserDetails=function(){var e=this;this.loadingCtrl.pdloader("loading...");var t=this.aws.getlocale();this.aws.getuserprofile(t).subscribe(function(t){e.userDetails=t,1==e.userDetails.dataStatus?(e.loadingCtrl.loading.dismiss(),e.userDetails=e.userDetails.records,"PD Executive"==e.userDetails[0].role_name||"PD Officer"==e.userDetails[0].role_name?e.mpinaccess=null==e.userDetails[0].mpin:(e.toast.pdTriggerappmessage("This App only for PD Officers"),localStorage.clear())):e.toast.pdTriggerappmessage("")})},e.prototype.setnewpin=function(e){var t=this;this.aws.userpinupdate(e).subscribe(function(e){t.newpindetails=e,1==t.newpindetails.dataStatus&&t.navCtrl.setRoot(s.a)})},e.prototype.checkpin=function(e){console.log(e),""!=e&&null!=e?this.userDetails[0].mpin==e?this.navCtrl.setRoot(s.a):this.toast.pdTriggerappmessage("Enter The Correct PIN"):this.toast.pdTriggerappmessage("Enter The PIN")},e.prototype.checkfingerprint=function(){var e=this;this.faio.show({clientId:"Fingerprint-Demo",clientSecret:"password",localizedFallbackTitle:"Use Pin",localizedReason:"Please authenticate",disableBackup:!0}).then(function(t){e.navCtrl.setRoot(s.a)}).catch(function(t){e.toast.pdTriggerappmessage("err: "+t)})},e=p([Object(o.m)({selector:"page-auth",template:'\n\n\n\n\n \n \n \n \n \n \n Circle Image\n \n \n \n \n \n

PIN

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n\n \n \n \n \n \n Circle Image\n \n \n \n \n \n

PIN

\n
\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n
\n'}),f("design:paramtypes",[a.r,a.s,a.o,i.c,r.a,l.a,c.a,m.a,d.a,u.a])],e)}()},393:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(5),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.loadingCtrl=t,console.log("Hello LoadingProvider Provider")}return e.prototype.pdloader=function(e){this.loading=this.loadingCtrl.create({content:e}),this.loading.present()},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.n])],e)}()},396:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(397),a=n(526);Object(o.a)().bootstrapModule(a.a)},526:function(e,t,n){"use strict";n.d(t,"a",function(){return we});var o=n(45),a=n(0),i=n(5),s=n(565),r=n(186),l=n(328),c=n(670),m=n(345),d=n(7),u=n(47),p=n(672),f=n(673),h=n(69),_=n(30),g=n(391),v=n(329),y=n(73),b=n(123),w=n(356),x=n(674),C=n(390),D=n(675),I=n(354),F=n(9),S=n(85),k=n(392),A=n(355),N=n(197),q=n(11),P=n(4),L=n(676),R=n(198),T=n(393),O=n(357),E=n(358),M=n(364),j=n(362),V=n(360),W=n(359),B=n(363),Y=n(361),G=n(368),Q=n(365),U=n(199),z=n(388),H=n(366),$=n(367),J=n(200),X=n(385),K=n(369),Z=n(371),ee=n(373),te=n(372),ne=n(376),oe=n(374),ae=n(370),ie=n(683),se=n(375),re=n(378),le=n(379),ce=n(380),me=n(382),de=n(383),ue=n(684),pe=n(384),fe=n(386),he=n(387),_e=n(381),ge=n(377),ve=n(389),ye=n(685),be=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},we=function(){function e(){}return e=be([Object(a.J)({declarations:[s.a,g.a,v.a,y.a,b.a,w.a,x.a,C.a,D.a,I.a,N.a,E.a,M.a,j.a,V.a,W.a,B.a,X.a,Y.a,G.a,Q.a,U.a,H.a,$.a,J.a,K.a,Z.a,ee.a,te.a,X.a,ne.a,oe.a,ae.a,ie.a,se.a,re.a,le.a,ce.a,me.a,de.a,ue.a,pe.a,fe.a,he.a,ge.a,ve.a,ye.a],imports:[o.a,P.l,P.g,i.m.forRoot(s.a,{},{links:[]}),c.a,m.a,m.b,m.c,m.d,m.e,m.f,m.g,m.i,m.n,m.j,m.k,m.l,m.m,m.n,m.o,m.p,m.q,m.r,m.s,m.t,m.u,m.v,m.w,m.y,m.x,m.z,m.A,m.C,m.D,m.E,m.F,m.B,u.c,L.a],bootstrap:[i.k],entryComponents:[s.a,g.a,v.a,y.a,b.a,w.a,x.a,C.a,D.a,I.a,N.a,E.a,M.a,j.a,V.a,W.a,B.a,X.a,Y.a,G.a,Q.a,U.a,H.a,$.a,J.a,K.a,Z.a,ee.a,te.a,X.a,ne.a,oe.a,ae.a,ie.a,se.a,re.a,le.a,ce.a,me.a,de.a,ue.a,pe.a,fe.a,he.a,ge.a,ve.a,ye.a],providers:[r.a,d.a,p.a,f.a,F.a,_.a,h.a,l.a,S.a,k.a,{provide:u.a,useClass:f.a,multi:!0},{provide:a.v,useClass:i.l},A.a,d.a,q.a,R.a,O.a,_e.a,T.a,z.a]})],e)}()},565:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(0),a=n(5),i=n(186),s=n(328),r=n(329),l=n(73),c=n(7),m=n(69),d=n(391),u=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=function(){function e(e,t,n,o,a,i){var s=this;this.platform=e,this.statusBar=t,this.splashScreen=n,this.aws=o,this.shared=a,this.AWS=i,this.userAccess=!1,this.rootPage=r.a,this.initializeApp(),this.pages=[{title:"Home",icon:"home",method:function(){return s.menulist(1)}},{title:"Logout",icon:"md-exit",method:function(){return s.menulist(2)}}]}return e.prototype.initializeApp=function(){var e=this;this.platform.ready().then(function(){e.statusBar.styleDefault(),e.platform.is("android")&&(e.statusBar.overlaysWebView(!1),e.statusBar.backgroundColorByHexString("#db4437")),e.splashScreen.hide(),e.shared.getAccessToken().then(function(){e.getuserDetails(),e.rootPage=d.a}).catch(function(){setTimeout(function(){e.rootPage=r.a},1e3)})})},e.prototype.getuserDetails=function(){var e=this,t=this.aws.getlocale();this.aws.getuserprofile(t).subscribe(function(t){e.userDetails=t,1==e.userDetails.dataStatus&&(e.userAccess=!0,e.userDetails=e.userDetails.records[0])})},e.prototype.menulist=function(e){var t=this;switch(e){case 1:this.nav.setRoot(l.a);break;case 2:this.AWS.logout().subscribe(function(){t.nav.setRoot(r.a)})}},e.prototype.logout=function(){this.nav.setRoot(r.a)},u([Object(o._9)(a.q),p("design:type",a.q)],e.prototype,"nav",void 0),e=u([Object(o.m)({template:'\n \n \n \n
\n \n \n \n
\n
\n \x3c!-- Disable swipe-to-go-back because it\'s poor UX to combine STGB with side menus --\x3e\n '}),p("design:paramtypes",[a.u,i.a,s.a,c.a,m.a,c.a])],e)}()},667:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(668),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.sql=t,console.log("Hello DatabaseProvider Provider"),this.createnewdb()}return e.prototype.createnewdb=function(){var e=this;this.sql.create({name:"sinnedge",location:"defalut"}).then(function(t){t.executeSql("CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)").then(function(t){e.getuserDetails()}).catch(function(e){return console.log(e)})})},e.prototype.getuserDetails=function(){this.sql.create({name:"sineedge",location:"default"}).then(function(e){e.executeSql("select * from expense ORDER BY rowid DESC").then(function(e){console.log(e)})})},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.a])],e)}()},672:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var o=n(0),a=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=function(){function e(){}return e.prototype.getlogin=function(){},e=a([Object(o.B)(),i("design:paramtypes",[])],e)}()},673:function(e,t,n){"use strict";n.d(t,"a",function(){return m});var o=n(0),a=n(47),i=n(25),s=n(22),r=n(69),l=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e){this.shared=e}return e.prototype.intercept=function(e,t){var n;this.shared.refresh(),n=(n=this.shared.getToken()||null).getIdToken().getJwtToken();var o=e.clone({headers:new a.e({Authorization:"sparqvenba2018",Token:n,From:"1"})});return t.handle(o).pipe(Object(s.catchError)(this.handleError("role",[])))},e.prototype.handleError=function(e,t){return void 0===e&&(e="operation"),function(e){if(e instanceof a.d)return console.error("Error: "+e.status),401==e.status&&localStorage.clear(),Object(i.of)(t)}},e=l([Object(o.B)(),c("design:paramtypes",[r.a])],e)}()},674:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var o=n(0),a=n(5),i=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=function(){function e(e,t,n){this.navCtrl=e,this.navParams=t,this.SwipedTabsIndicator=null,this.tabTitleWidthArray=[],this.tabElementWidth_px=50,this.screenWidth_px=0,this.isRight=!0,this.isLeft=!0,this.tabs=[],this.tabs=["1","2","3","4","5","6","7","9","10","11"],console.log("Width: "+n.width()),this.screenWidth_px=n.width()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad GoogleplaytabPage")},e.prototype.ionViewDidEnter=function(){this.SwipedTabsIndicator=document.getElementById("indicator");for(var e in this.tabs)this.tabTitleWidthArray.push(document.getElementById("tabTitle"+e).offsetWidth);this.selectTab(0)},e.prototype.scrollIndicatiorTab=function(){this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0)},e.prototype.selectTab=function(e){this.SwipedTabsIndicator.style.width=this.tabTitleWidthArray[e]+"px",this.SwipedTabsIndicator.style.webkitTransform="translate3d("+this.calculateDistanceToSpnd(e)+"px,0,0)",this.SwipedTabsSlider.slideTo(e)},e.prototype.calculateDistanceToSpnd=function(e){for(var t=0,n=0;nt&&(this.isLeft=!1,this.isRight=!0),this.SwipedTabsSlider.isEnd()&&(this.isRight=!1),this.SwipedTabsSlider.isBeginning()&&(this.isLeft=!1),this.isRight&&(this.SwipedTabsIndicator.style.webkitTransform="translate3d("+(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())+(e.progress-t)*(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])+"px,0,0)"),this.isLeft&&(this.SwipedTabsIndicator.style.webkitTransform="translate3d("+(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())+(e.progress-t)*(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])+"px,0,0)"),this.isRight||this.isLeft||(this.SwipedTabsIndicator.style.width=this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+"px")},i([Object(o._9)("SwipedTabsSlider"),s("design:type",a.v)],e.prototype,"SwipedTabsSlider",void 0),i([Object(o._9)("MultiItemsScrollingTabs"),s("design:type",a.e)],e.prototype,"ItemsTitles",void 0),e=i([Object(o.m)({selector:"page-googleplaytab",template:'\x3c!--\n Generated template for the GoogleplayTabsPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n \n PD Listing\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{tab}}\n \n \n \x3c!-- here is our dynamic line "indicator"--\x3e\n
\n
\n
\n\n
\n\n\n\n\n \n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

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

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

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

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n\n\n
\n
\n'}),s("design:paramtypes",[a.r,a.s,a.u])],e)}()},675:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var o=n(0),a=n(5),i=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=function(){function e(e,t){this.navCtrl=e,this.navParams=t,this.pdFullDetails=[],this.pdFullDetails=this.navParams.get("pdDetails"),console.log(this.pdFullDetails)}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdAllocationPage")},e=i([Object(o.m)({selector:"page-pd-allocation",template:'\n \n \n PD Listing\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n \n \n \n
\n \n \n \n
\n \n

{{pdFullDetails.lender_full_name}}

\n
\n \n \n {{pdFullDetails.city_name}} / -{{pdFullDetails.pincode}}\n \n
\n
\n
\n \n

Product

\n

{{pdFullDetails.product_name}} / {{pdFullDetails.subproduct_name}}.

\n

{{pdFullDetails.pd_type_name}}

\n

{{pdFullDetails.pd_allocated_to}}

\n
{{pdFullDetails.pd_date_of_initiation}}
\n
\n

\n \n \n

{{pdFullDetails.pd_status_name}}

\n
\n \n

{{pdFullDetails.loan_amount}}

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

Applicants

\n
\n
\n
\n
\n \n \n \n   {{Mainapplicatent.applicant_name}} (Main)\n \n \n  {{Mainapplicatent.mobile_no}} \n \n \n \n \n   {{Mainapplicatent.applicant_name}}\n \n \n  {{Mainapplicatent.mobile_no}} \n \n \n \n
\n \x3c!--
\n \n \n\n \n \n \n\n \n \n
\n \n \n \n \n

Bala

\n
\n \n
\n To be Scheduling\n
\n
\n \n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n 28 Sep 2018 10:00 AM\n
\n
\n
\n
--\x3e\n\n
\n\n \n\n
'}),s("design:paramtypes",[a.r,a.s])],e)}()},683:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var o=n(0),a=n(5),i=n(7),s=n(85),r=n(11),l=n(4),c=n(73),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.viewCtrl=n,this.aws=o,this.pdservice=a,this.qustCat=i,this.fb=s,this.bounce_reason_others=null,this.pdDetails=this.navParams.get("appdetails"),this.status=this.navParams.get("status"),this.users=this.aws.getlocale(),this.getDropdown()}return e.prototype.getDropdown=function(){var e=this;this.qustCat.getcommondrop("BOUNCEMASTER").subscribe(function(t){1==t.dataStatus&&(e.bounseMaster=t.records.filter(function(e){return 1==e.isactive}),console.log(e.bounseMaster))})},e.prototype.updatePDStatus=function(){var e=this;if(null!=this.bounce_reason){this.pdservice.updatepdStatus({pd_id:this.pdDetails.pd_id,pd_status:this.status,fk_updatedby:this.users,bounce_reason:this.bounce_reason,bounce_reason_others:this.bounce_reason_others}).subscribe(function(t){1==t.dataStatus&&e.navCtrl.setRoot(c.a)})}},e=m([Object(o.m)({selector:"page-bounced-reject",template:'\n \n \n Bounced Reject Reason\n \n\n\n\n\n \n \n \n \n {{bouns.bounce_reason_name}}\n \n\n \n \x3c!-- {{bounce_reason}} --\x3e\n \n \n \n \n \n \n \n \x3c!-- \n Save --\x3e\n \n \x3c!-- --\x3e\n \n \n \n \n\n'}),d("design:paramtypes",[a.r,a.s,a.y,i.a,s.a,r.a,l.c])],e)}()},684:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var o=n(0),a=n(5),i=n(11),s=n(7),r=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=function(){function e(e,t,n,o){this.navCtrl=e,this.navParams=t,this.qustcat=n,this.aws=o,this.existCompanyList=[],this.pdDetails=this.navParams.get("pdDetails"),this.pdid=this.pdDetails.pd_id,this.FormId=this.navParams.get("FormId"),this.users=this.aws.getlocale,this.getDropDown()}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionBusinessPage")},e.prototype.getDropDown=function(){var e=this;this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(function(t){e.existCompanyList=t.records.filter(function(e){return 1==e.is_active&&1==e.is_company_applicant}),console.log(e.existCompanyList)})},e=r([Object(o.m)({selector:"page-pd-question-business",template:'\x3c!--\n Generated template for the PdQuestionBusinessPage page.\n\n See http://ionicframework.com/docs/components/#navigation for more info on\n Ionic pages and navigation.\n--\x3e\n\n\n \n {{FormId.form_name}}\n \n\n\n\n\n\n\n\n'}),l("design:paramtypes",[a.r,a.s,i.a,s.a])],e)}()},685:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(0),a=n(5),i=n(4),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t,n){this.navCtrl=e,this.navParams=t,this.fb=n,this.salaryDetails=this.fb.group({gross:[null],netTakeHome:[null],bounsIncentive:[null],salaryDate:[null],anydelays:[null]})}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdQuestionSalaryInfoPage")},e=s([Object(o.m)({selector:"page-pd-question-salary-info",template:'\n\n \n \n Salary Category\n \n \n \n \n \n\n\n\n\x3c!--Salary info--\x3e\n

Salary info

\n
\n \n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n'}),r("design:paramtypes",[a.r,a.s,i.c])],e)}()},69:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var o=n(0),a=n(330),i=n(25),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=(new a.c({UserPoolId:"ap-south-1_y7dt3iEaX",ClientId:"291qt4smn5pql6o8cc2hi201lj"}),new a.c({UserPoolId:"ap-south-1_hFiGyr1Gw",ClientId:"38v9rpp1495v60e1gd14mj6rjr"}),new a.c({UserPoolId:"ap-south-1_qQ85yQZJO",ClientId:"2o5c3cs9k3als16nqhp3irh8rs"})),c=function(){function e(){this.loggedIn=!1,this.isloggin=!1}return e.prototype.getCurrentUser=function(){return l.getCurrentUser()},Object.defineProperty(e.prototype,"isLoggedIn",{get:function(){return this.loggedIn=null!=l.getCurrentUser(),this.loggedIn},enumerable:!0,configurable:!0}),e.prototype.refresh=function(){var e;null!=this.getCurrentUser()?this.getCurrentUser().getSession(function(t,n){return t?console.log("CognitoUtil: Can't set the credentials:"+t):n.isValid()?(e=n.isValid(),Object(i.of)(e),console.log("CognitoUtil: refreshed successfully")):(e=n.isValid(),console.log("CognitoUtil: refreshed but session is still not valid")),e}):this.loggedIn=!1},e.prototype.getAccessToken=function(){var e=this;return this.refresh(),new Promise(function(t,n){null!=e.getCurrentUser()?e.getCurrentUser().getSession(function(e,o){e?(console.log("CognitoUtil: Can't set the credentials:"+e),"",n(e)):o.isValid()&&(o,t())}):n()})},e.prototype.getToken=function(){var e="";return null!=this.getCurrentUser()?this.getCurrentUser().getSession(function(t,n){t?!1:n.isValid()?(e=n,!0):!1}):!1,e},e=s([Object(o.B)(),r("design:paramtypes",[])],e)}()},7:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(47),a=n(0),i=n(330),s=n(48),r=(n.n(s),n(609)),l=(n.n(r),n(69)),c=n(30),m=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=(new i.c({UserPoolId:"ap-south-1_hFiGyr1Gw",ClientId:"38v9rpp1495v60e1gd14mj6rjr"}),new i.c({UserPoolId:"ap-south-1_qQ85yQZJO",ClientId:"2o5c3cs9k3als16nqhp3irh8rs"})),p=(new Date).toJSON().slice(0,19).replace("T"," "),f=function(){function e(e,t,n){this.http=e,this.shared=t,this.con=n,this.apiurl=n.apiurl()}return e.prototype.dologin=function(e){var t=new i.a(e),n=e.newpassword,o=[],a=new i.b({Username:e.Username,Pool:u});return s.Observable.create(function(e){a.authenticateUser(t,{newPasswordRequired:function(t,i){a.completeNewPasswordChallenge(n,o,{onSuccess:function(t){e.next(t),e.complete()},onFailure:function(t){e.error(t)}})},onSuccess:function(t){e.next(t),e.complete(),this.shared.isloggin=!0},onFailure:function(t){e.error(t)}})})},e.prototype.userforgotpass=function(e){var t=new i.b({Username:e.Username,Pool:u});return s.Observable.create(function(e){t.forgotPassword({onSuccess:function(t){e.next(t)},onFailure:function(e){alert(e.message||JSON.stringify(e))},inputVerificationCode:function(e){var n=prompt("Please input verification code ",""),o=prompt("Enter new password ","");t.confirmPassword(n,o,{onSuccess:function(){},onFailure:function(e){}})}})})},e.prototype.logout=function(){var e=this;return s.Observable.create(function(t){e.shared.getCurrentUser().signOut(),t.next(),t.complete()})},e.prototype.getlocale=function(){return(this.shared.getToken()||null).idToken.payload.locale},e.prototype.getuserprofile=function(e){return this.http.post(this.apiurl+"getUsersDetails",{userid:e})},e.prototype.userpinupdate=function(e){var t=this.getlocale(),n={mpin:e,updatedon:p,fk_updatedby:t,userid:t},o=new FormData;return o.append("records",JSON.stringify(n)),this.http.post(this.apiurl+"updateExistUser",o)},e=m([Object(a.B)(),d("design:paramtypes",[o.b,l.a,c.a])],e)}()},73:function(e,t,n){"use strict";n.d(t,"a",function(){return h});var o=n(0),a=n(5),i=n(354),s=n(7),r=n(85),l=n(69),c=n(197),m=n(123),d=n(667),u=n(669),p=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},h=function(){function e(e,t,n,o,a,i,s){this.navCtrl=e,this.navParams=t,this.aws=n,this.pdofficer=o,this.shared=a,this.db=i,this.androidPermissions=s,this.bgColorPast=[],this.bgColor=[],this.pdinprogress=[],this.pdlistdetails=[],this.pdlist="inpro",this.pdlistaccess=null}return e.prototype.ionViewDidLoad=function(){console.log("ionViewDidLoad PdListPage"),this.db.getuserDetails(),this.setpermission()},e.prototype.ionViewCanEnter=function(){this.getpdTriggerdetails()},e.prototype.filter=function(e){e?(this.viewchange=!1,this.pdinprogress=this.pdinprogress,this.pdschduleDetails=this.pdschduleDetails):this.viewchange=!0},e.prototype.pdlistsearch=function(e){console.log(e),this.pdinprogress=this.searchinprogress,this.pdschduleDetails=this.searchpast;var t=e.target.value;if("inpro"==this.pdlist){if(""==t.trim())return;this.pdinprogress=this.searchinprogress.filter(function(e){return void 0!==e.applicat_details&&e.applicat_details[0].applicant_name.toLowerCase().indexOf(t.toLowerCase())>-1||e.pd_status.toLowerCase().indexOf(t.toLowerCase())>-1||null!=e.city_name&&e.city_name.toLowerCase().indexOf(t.toLowerCase())>-1||e.lender_applicant_id.toLowerCase().indexOf(t.toLowerCase())>-1})}else{if(""==t.trim())return console.log(t.trim()),void console.log(this.pdlistdetails);this.pdschduleDetails=this.searchpast.filter(function(e){return e.applicat_details[0].applicant_name.toLowerCase().indexOf(t.toLowerCase())>-1||e.pd_status.toLowerCase().indexOf(t.toLowerCase())>-1||e.city_name.toLowerCase().indexOf(t.toLowerCase())>-1||e.lender_applicant_id.toLowerCase().indexOf(t.toLowerCase())>-1})}},e.prototype.newpage=function(){this.navCtrl.push(i.a)},e.prototype.getpdTriggerdetails=function(){var e=this,t=this.aws.getlocale();this.pdofficer.getpddetails(t).subscribe(function(t){e.pdlistdetails=t,1==e.pdlistdetails.dataStatus?(console.log(e.pdlistdetails),e.pdlistaccess=!0,e.pdschduleDetails=e.pdlistdetails.records.filter(function(e){return"ACCEPTED"==e.pd_status||"SCHEDULED"==e.pd_status||"INITIATED"==e.pd_status||"STARTED"==e.pd_status||"INPROGRESS"==e.pd_status}),e.searchpast=e.pdschduleDetails,e.pdinprogress=e.pdlistdetails.records.filter(function(e){return"ALLOCATED"==e.pd_status}),e.searchinprogress=e.pdinprogress,console.log(e.pdinprogress),e.random_bg_color(),e.random_ng_past()):(e.pdlistaccess=!1,e.pdlistdetails="No Records Found")})},e.prototype.random_bg_color=function(){for(var e=0,t=this.pdinprogress;e\n \n \n PD Cases\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n \n \n \n \x3c!-- \n \n \n --\x3e\n\n\n
\n \n \n \n \n Allocated\n \n \n Scheduled\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n \x3c!--

28 Sep 2018 10:00 AM

--\x3e\n
\n \n
\n
{{progess.pd_date_of_initiation}}
\n
{{progess.city_name}}
\n
\n
\n
\n \n \n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n
\n \n
{{progess.pd_status}}
\n
\n
\n
\n\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n \n \n \n \n \n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n \x3c!--

28 Sep 2018 10:00 AM

--\x3e\n
\n
\n \n \n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n
\n \n
{{progess.city_name}}
\n
\n
\n \n \n
{{progess.pd_status}}
\n
\n \n
\n
{{progess.pd_date_of_initiation}}
\n
{{progess.scheduled_on}}
\n
\n
\n
\n \n
\n\n
\n
\n
\n
\n
\n \n
\n
\n
\n \x3c!-- --\x3e\n \n \x3c!--

test

--\x3e\n
\n \n \n
'}),f("design:paramtypes",[a.r,a.s,s.a,r.a,l.a,d.a,u.a])],e)}()},85:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(30),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.constants=t,this.apiurl=t.apiurl(),console.log("Hello PdtriggerProvider Provider")}return e.prototype.getpddetails=function(e){return this.http.get(this.apiurl+"listLessPDDetails/get?pdofficerid="+e)},e.prototype.getFullPDdetails=function(e){return this.http.post(this.apiurl+"getFullPDDetails",e)},e.prototype.updatepdStatus=function(e){return this.http.post(this.apiurl+"updatePDMaster",{records:e})},e.prototype.saveCurrentLocation=function(e){return this.http.post(this.apiurl+"savePDOfficerCurrentLocation",e)},e.prototype.checkotp=function(e){return this.http.post(this.apiurl+"checkOTP",{records:e})},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.a])],e)}()},9:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var o=n(47),a=n(0),i=n(5),s=this&&this.__decorate||function(e,t,n,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(s=(i<3?a(s):i>3?a(t,n,s):a(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=function(){function e(e,t){this.http=e,this.toast=t,console.log("Hello ToastProvider Provider")}return e.prototype.pdTriggerappmessage=function(e){this.toast.create({message:e,duration:3e3,position:"bottom",dismissOnPageChange:!0}).present()},e=s([Object(a.B)(),r("design:paramtypes",[o.b,i.w])],e)}()}},[396]); \ No newline at end of file diff --git a/platforms/android/app/src/main/assets/www/build/polyfills.js b/platforms/android/app/src/main/assets/www/build/polyfills.js new file mode 100644 index 00000000..b01b2009 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/build/polyfills.js @@ -0,0 +1,4 @@ +!function(t){"use strict";function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}function n(t){return isFinite(t=+t)&&0!=t?t<0?-n(-t):Math.log(t+Math.sqrt(t*t+1)):t}function r(t,e){var n,o,i=arguments.length<3?t:arguments[2];return v(t)===i?t[e]:(n=dn.f(t,e))?M(n,"value")?n.value:void 0!==n.get?n.get.call(i):void 0:p(o=bt(t))?r(o,e,i):void 0}function o(t,e,n){var r,i,a=arguments.length<4?t:arguments[3],u=dn.f(v(t),e);if(!u){if(p(i=bt(t)))return o(i,e,n,a);u=E(0)}return M(u,"value")?!(!1===u.writable||!p(a))&&(r=dn.f(a,e)||E(0),r.value=n,T.f(a,e,r),!0):void 0!==u.set&&(u.set.call(a,n),!0)}var i=Math.ceil,a=Math.floor,u=function(t){return isNaN(t=+t)?0:(t>0?a:i)(t)},c=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t},s=function(t){return function(e,n){var r,o,i=String(c(e)),a=u(n),s=i.length;return a<0||a>=s?t?"":void 0:(r=i.charCodeAt(a),r<55296||r>56319||a+1===s||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536)}},f="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},l=e(function(t){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)}),h=e(function(t){var e=t.exports={version:"2.5.1"};"number"==typeof __e&&(__e=e)}),p=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t){if(!p(t))throw TypeError(t+" is not an object!");return t},d=function(t){try{return!!t()}catch(t){return!0}},g=!d(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),y=l.document,m=p(y)&&p(y.createElement),b=function(t){return m?y.createElement(t):{}},_=!g&&!d(function(){return 7!=Object.defineProperty(b("div"),"a",{get:function(){return 7}}).a}),k=function(t,e){if(!p(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!p(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!p(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!p(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},w=Object.defineProperty,S=g?Object.defineProperty:function(t,e,n){if(v(t),e=k(e,!0),v(n),_)try{return w(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t},T={f:S},E=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},O=g?function(t,e,n){return T.f(t,e,E(1,n))}:function(t,e,n){return t[e]=n,t},P={}.hasOwnProperty,M=function(t,e){return P.call(t,e)},F=0,j=Math.random(),D=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++F+j).toString(36))},x=e(function(t){var e=D("src"),n=Function.toString,r=(""+n).split("toString");h.inspectSource=function(t){return n.call(t)},(t.exports=function(t,n,o,i){var a="function"==typeof o;a&&(M(o,"name")||O(o,"name",n)),t[n]!==o&&(a&&(M(o,e)||O(o,e,t[n]?""+t[n]:r.join(String(n)))),t===l?t[n]=o:i?t[n]?t[n]=o:O(t,n,o):(delete t[n],O(t,n,o)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[e]||n.call(this)})}),I=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t},A=function(t,e,n){if(I(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},L=function(t,e,n){var r,o,i,a,u=t&L.F,c=t&L.G,s=t&L.S,f=t&L.P,p=t&L.B,v=c?l:s?l[e]||(l[e]={}):(l[e]||{}).prototype,d=c?h:h[e]||(h[e]={}),g=d.prototype||(d.prototype={});c&&(n=e);for(r in n)o=!u&&v&&void 0!==v[r],i=(o?v:n)[r],a=p&&o?A(i,l):f&&"function"==typeof i?A(Function.call,i):i,v&&x(v,r,i,t&L.U),d[r]!=i&&O(d,r,a),f&&g[r]!=i&&(g[r]=i)};l.core=h,L.F=1,L.G=2,L.S=4,L.P=8,L.B=16,L.W=32,L.U=64,L.R=128;var R=L,N={},C={}.toString,z=function(t){return C.call(t).slice(8,-1)},Z=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==z(t)?t.split(""):Object(t)},H=function(t){return Z(c(t))},W=Math.min,B=function(t){return t>0?W(u(t),9007199254740991):0},q=Math.max,U=Math.min,V=function(t,e){return t=u(t),t<0?q(t+e,0):U(t,e)},G=function(t){return function(e,n,r){var o,i=H(e),a=B(i.length),u=V(r,a);if(t&&n!=n){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===n)return t||u||0;return!t&&-1}},X=l["__core-js_shared__"]||(l["__core-js_shared__"]={}),Y=function(t){return X[t]||(X[t]={})},K=Y("keys"),J=function(t){return K[t]||(K[t]=D(t))},$=G(!1),Q=J("IE_PROTO"),tt=function(t,e){var n,r=H(t),o=0,i=[];for(n in r)n!=Q&&M(r,n)&&i.push(n);for(;e.length>o;)M(r,n=e[o++])&&(~$(i,n)||i.push(n));return i},et="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),nt=Object.keys||function(t){return tt(t,et)},rt=g?Object.defineProperties:function(t,e){v(t);for(var n,r=nt(e),o=r.length,i=0;o>i;)T.f(t,n=r[i++],e[n]);return t},ot=l.document,it=ot&&ot.documentElement,at=J("IE_PROTO"),ut=function(){},ct=function(){var t,e=b("iframe"),n=et.length;for(e.style.display="none",it.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(" + + Ionic App + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/android/app/src/main/assets/www/manifest.json b/platforms/android/app/src/main/assets/www/manifest.json new file mode 100755 index 00000000..f6456bbb --- /dev/null +++ b/platforms/android/app/src/main/assets/www/manifest.json @@ -0,0 +1,13 @@ +{ + "name": "Ionic", + "short_name": "Ionic", + "start_url": "index.html", + "display": "standalone", + "icons": [{ + "src": "assets/imgs/logo.png", + "sizes": "512x512", + "type": "image/png" + }], + "background_color": "#4e8ef7", + "theme_color": "#4e8ef7" +} \ No newline at end of file diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-actionsheet/www/ActionSheet.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-actionsheet/www/ActionSheet.js new file mode 100644 index 00000000..2b703acc --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-actionsheet/www/ActionSheet.js @@ -0,0 +1,32 @@ +cordova.define("cordova-plugin-actionsheet.ActionSheet", function(require, exports, module) { +function ActionSheet() { +} + +ActionSheet.prototype.show = function (options, successCallback, errorCallback) { + cordova.exec(successCallback, errorCallback, "ActionSheet", "show", [options]); +}; + +ActionSheet.prototype.hide = function (options, successCallback, errorCallback) { + cordova.exec(successCallback, errorCallback, "ActionSheet", "hide", [options]); +}; + +ActionSheet.prototype.ANDROID_THEMES = { + THEME_TRADITIONAL : 1, // default + THEME_HOLO_DARK : 2, + THEME_HOLO_LIGHT : 3, + THEME_DEVICE_DEFAULT_DARK : 4, + THEME_DEVICE_DEFAULT_LIGHT : 5 +}; + +ActionSheet.install = function () { + if (!window.plugins) { + window.plugins = {}; + } + + window.plugins.actionsheet = new ActionSheet(); + + return window.plugins.actionsheet; +}; + +cordova.addConstructor(ActionSheet.install); +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-android-permissions/www/permissions.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-android-permissions/www/permissions.js new file mode 100644 index 00000000..30651e95 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-android-permissions/www/permissions.js @@ -0,0 +1,197 @@ +cordova.define("cordova-plugin-android-permissions.Permissions", function(require, exports, module) { +var permissionsName = 'Permissions'; + +function Permissions() { + + this.ACCESS_CHECKIN_PROPERTIES = 'android.permission.ACCESS_CHECKIN_PROPERTIES'; + this.ACCESS_COARSE_LOCATION = 'android.permission.ACCESS_COARSE_LOCATION'; + this.ACCESS_FINE_LOCATION = 'android.permission.ACCESS_FINE_LOCATION'; + this.ACCESS_LOCATION_EXTRA_COMMANDS = 'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS'; + this.ACCESS_MOCK_LOCATION = 'android.permission.ACCESS_MOCK_LOCATION'; + this.ACCESS_NETWORK_STATE = 'android.permission.ACCESS_NETWORK_STATE'; + this.ACCESS_SURFACE_FLINGER = 'android.permission.ACCESS_SURFACE_FLINGER'; + this.ACCESS_WIFI_STATE = 'android.permission.ACCESS_WIFI_STATE'; + this.ACCOUNT_MANAGER = 'android.permission.ACCOUNT_MANAGER'; + this.ADD_VOICEMAIL = 'com.android.voicemail.permission.ADD_VOICEMAIL'; + this.AUTHENTICATE_ACCOUNTS = 'android.permission.AUTHENTICATE_ACCOUNTS'; + this.BATTERY_STATS = 'android.permission.BATTERY_STATS'; + this.BIND_ACCESSIBILITY_SERVICE = 'android.permission.BIND_ACCESSIBILITY_SERVICE'; + this.BIND_APPWIDGET = 'android.permission.BIND_APPWIDGET'; + this.BIND_CARRIER_MESSAGING_SERVICE = 'android.permission.BIND_CARRIER_MESSAGING_SERVICE'; + this.BIND_DEVICE_ADMIN = 'android.permission.BIND_DEVICE_ADMIN'; + this.BIND_DREAM_SERVICE = 'android.permission.BIND_DREAM_SERVICE'; + this.BIND_INPUT_METHOD = 'android.permission.BIND_INPUT_METHOD'; + this.BIND_NFC_SERVICE = 'android.permission.BIND_NFC_SERVICE'; + this.BIND_NOTIFICATION_LISTENER_SERVICE = 'android.permission.BIND_NOTIFICATION_LISTENER_SERVICE'; + this.BIND_PRINT_SERVICE = 'android.permission.BIND_PRINT_SERVICE'; + this.BIND_REMOTEVIEWS = 'android.permission.BIND_REMOTEVIEWS'; + this.BIND_TEXT_SERVICE = 'android.permission.BIND_TEXT_SERVICE'; + this.BIND_TV_INPUT = 'android.permission.BIND_TV_INPUT'; + this.BIND_VOICE_INTERACTION = 'android.permission.BIND_VOICE_INTERACTION'; + this.BIND_VPN_SERVICE = 'android.permission.BIND_VPN_SERVICE'; + this.BIND_WALLPAPER = 'android.permission.BIND_WALLPAPER'; + this.BLUETOOTH = 'android.permission.BLUETOOTH'; + this.BLUETOOTH_ADMIN = 'android.permission.BLUETOOTH_ADMIN'; + this.BLUETOOTH_PRIVILEGED = 'android.permission.BLUETOOTH_PRIVILEGED'; + this.BODY_SENSORS = 'android.permission.BODY_SENSORS'; + this.BRICK = 'android.permission.BRICK'; + this.BROADCAST_PACKAGE_REMOVED = 'android.permission.BROADCAST_PACKAGE_REMOVED'; + this.BROADCAST_SMS = 'android.permission.BROADCAST_SMS'; + this.BROADCAST_STICKY = 'android.permission.BROADCAST_STICKY'; + this.BROADCAST_WAP_PUSH = 'android.permission.BROADCAST_WAP_PUSH'; + this.CALL_PHONE = 'android.permission.CALL_PHONE'; + this.CALL_PRIVILEGED = 'android.permission.CALL_PRIVILEGED'; + this.CAMERA = 'android.permission.CAMERA'; + this.CAPTURE_AUDIO_OUTPUT = 'android.permission.CAPTURE_AUDIO_OUTPUT'; + this.CAPTURE_SECURE_VIDEO_OUTPUT = 'android.permission.CAPTURE_SECURE_VIDEO_OUTPUT'; + this.CAPTURE_VIDEO_OUTPUT = 'android.permission.CAPTURE_VIDEO_OUTPUT'; + this.CHANGE_COMPONENT_ENABLED_STATE = 'android.permission.CHANGE_COMPONENT_ENABLED_STATE'; + this.CHANGE_CONFIGURATION = 'android.permission.CHANGE_CONFIGURATION'; + this.CHANGE_NETWORK_STATE = 'android.permission.CHANGE_NETWORK_STATE'; + this.CHANGE_WIFI_MULTICAST_STATE = 'android.permission.CHANGE_WIFI_MULTICAST_STATE'; + this.CHANGE_WIFI_STATE = 'android.permission.CHANGE_WIFI_STATE'; + this.CLEAR_APP_CACHE = 'android.permission.CLEAR_APP_CACHE'; + this.CLEAR_APP_USER_DATA = 'android.permission.CLEAR_APP_USER_DATA'; + this.CONTROL_LOCATION_UPDATES = 'android.permission.CONTROL_LOCATION_UPDATES'; + this.DELETE_CACHE_FILES = 'android.permission.DELETE_CACHE_FILES'; + this.DELETE_PACKAGES = 'android.permission.DELETE_PACKAGES'; + this.DEVICE_POWER = 'android.permission.DEVICE_POWER'; + this.DIAGNOSTIC = 'android.permission.DIAGNOSTIC'; + this.DISABLE_KEYGUARD = 'android.permission.DISABLE_KEYGUARD'; + this.DUMP = 'android.permission.DUMP'; + this.EXPAND_STATUS_BAR = 'android.permission.EXPAND_STATUS_BAR'; + this.FACTORY_TEST = 'android.permission.FACTORY_TEST'; + this.FLASHLIGHT = 'android.permission.FLASHLIGHT'; + this.FORCE_BACK = 'android.permission.FORCE_BACK'; + this.GET_ACCOUNTS = 'android.permission.GET_ACCOUNTS'; + this.GET_PACKAGE_SIZE = 'android.permission.GET_PACKAGE_SIZE'; + this.GET_TASKS = 'android.permission.GET_TASKS'; + this.GET_TOP_ACTIVITY_INFO = 'android.permission.GET_TOP_ACTIVITY_INFO'; + this.GLOBAL_SEARCH = 'android.permission.GLOBAL_SEARCH'; + this.HARDWARE_TEST = 'android.permission.HARDWARE_TEST'; + this.INJECT_EVENTS = 'android.permission.INJECT_EVENTS'; + this.INSTALL_LOCATION_PROVIDER = 'android.permission.INSTALL_LOCATION_PROVIDER'; + this.INSTALL_PACKAGES = 'android.permission.INSTALL_PACKAGES'; + this.INSTALL_SHORTCUT = 'com.android.launcher.permission.INSTALL_SHORTCUT'; + this.INTERNAL_SYSTEM_WINDOW = 'android.permission.INTERNAL_SYSTEM_WINDOW'; + this.INTERNET = 'android.permission.INTERNET'; + this.KILL_BACKGROUND_PROCESSES = 'android.permission.KILL_BACKGROUND_PROCESSES'; + this.LOCATION_HARDWARE = 'android.permission.LOCATION_HARDWARE'; + this.MANAGE_ACCOUNTS = 'android.permission.MANAGE_ACCOUNTS'; + this.MANAGE_APP_TOKENS = 'android.permission.MANAGE_APP_TOKENS'; + this.MANAGE_DOCUMENTS = 'android.permission.MANAGE_DOCUMENTS'; + this.MASTER_CLEAR = 'android.permission.MASTER_CLEAR'; + this.MEDIA_CONTENT_CONTROL = 'android.permission.MEDIA_CONTENT_CONTROL'; + this.MODIFY_AUDIO_SETTINGS = 'android.permission.MODIFY_AUDIO_SETTINGS'; + this.MODIFY_PHONE_STATE = 'android.permission.MODIFY_PHONE_STATE'; + this.MOUNT_FORMAT_FILESYSTEMS = 'android.permission.MOUNT_FORMAT_FILESYSTEMS'; + this.MOUNT_UNMOUNT_FILESYSTEMS = 'android.permission.MOUNT_UNMOUNT_FILESYSTEMS'; + this.NFC = 'android.permission.NFC'; + this.PERSISTENT_ACTIVITY = 'android.permission.PERSISTENT_ACTIVITY'; + this.PROCESS_OUTGOING_CALLS = 'android.permission.PROCESS_OUTGOING_CALLS'; + this.READ_CALENDAR = 'android.permission.READ_CALENDAR'; + this.READ_CALL_LOG = 'android.permission.READ_CALL_LOG'; + this.READ_CONTACTS = 'android.permission.READ_CONTACTS'; + this.READ_EXTERNAL_STORAGE = 'android.permission.READ_EXTERNAL_STORAGE'; + this.READ_FRAME_BUFFER = 'android.permission.READ_FRAME_BUFFER'; + this.READ_HISTORY_BOOKMARKS = 'com.android.browser.permission.READ_HISTORY_BOOKMARKS'; + this.READ_INPUT_STATE = 'android.permission.READ_INPUT_STATE'; + this.READ_LOGS = 'android.permission.READ_LOGS'; + this.READ_PHONE_STATE = 'android.permission.READ_PHONE_STATE'; + this.READ_PROFILE = 'android.permission.READ_PROFILE'; + this.READ_SMS = 'android.permission.READ_SMS'; + this.READ_SOCIAL_STREAM = 'android.permission.READ_SOCIAL_STREAM'; + this.READ_SYNC_SETTINGS = 'android.permission.READ_SYNC_SETTINGS'; + this.READ_SYNC_STATS = 'android.permission.READ_SYNC_STATS'; + this.READ_USER_DICTIONARY = 'android.permission.READ_USER_DICTIONARY'; + this.READ_VOICEMAIL = 'com.android.voicemail.permission.READ_VOICEMAIL'; + this.REBOOT = 'android.permission.REBOOT'; + this.RECEIVE_BOOT_COMPLETED = 'android.permission.RECEIVE_BOOT_COMPLETED'; + this.RECEIVE_MMS = 'android.permission.RECEIVE_MMS'; + this.RECEIVE_SMS = 'android.permission.RECEIVE_SMS'; + this.RECEIVE_WAP_PUSH = 'android.permission.RECEIVE_WAP_PUSH'; + this.RECORD_AUDIO = 'android.permission.RECORD_AUDIO'; + this.REORDER_TASKS = 'android.permission.REORDER_TASKS'; + this.RESTART_PACKAGES = 'android.permission.RESTART_PACKAGES'; + this.SEND_RESPOND_VIA_MESSAGE = 'android.permission.SEND_RESPOND_VIA_MESSAGE'; + this.SEND_SMS = 'android.permission.SEND_SMS'; + this.SET_ACTIVITY_WATCHER = 'android.permission.SET_ACTIVITY_WATCHER'; + this.SET_ALARM = 'com.android.alarm.permission.SET_ALARM'; + this.SET_ALWAYS_FINISH = 'android.permission.SET_ALWAYS_FINISH'; + this.SET_ANIMATION_SCALE = 'android.permission.SET_ANIMATION_SCALE'; + this.SET_DEBUG_APP = 'android.permission.SET_DEBUG_APP'; + this.SET_ORIENTATION = 'android.permission.SET_ORIENTATION'; + this.SET_POINTER_SPEED = 'android.permission.SET_POINTER_SPEED'; + this.SET_PREFERRED_APPLICATIONS = 'android.permission.SET_PREFERRED_APPLICATIONS'; + this.SET_PROCESS_LIMIT = 'android.permission.SET_PROCESS_LIMIT'; + this.SET_TIME = 'android.permission.SET_TIME'; + this.SET_TIME_ZONE = 'android.permission.SET_TIME_ZONE'; + this.SET_WALLPAPER = 'android.permission.SET_WALLPAPER'; + this.SET_WALLPAPER_HINTS = 'android.permission.SET_WALLPAPER_HINTS'; + this.SIGNAL_PERSISTENT_PROCESSES = 'android.permission.SIGNAL_PERSISTENT_PROCESSES'; + this.STATUS_BAR = 'android.permission.STATUS_BAR'; + this.SUBSCRIBED_FEEDS_READ = 'android.permission.SUBSCRIBED_FEEDS_READ'; + this.SUBSCRIBED_FEEDS_WRITE = 'android.permission.SUBSCRIBED_FEEDS_WRITE'; + this.SYSTEM_ALERT_WINDOW = 'android.permission.SYSTEM_ALERT_WINDOW'; + this.TRANSMIT_IR = 'android.permission.TRANSMIT_IR'; + this.UNINSTALL_SHORTCUT = 'com.android.launcher.permission.UNINSTALL_SHORTCUT'; + this.UPDATE_DEVICE_STATS = 'android.permission.UPDATE_DEVICE_STATS'; + this.USE_CREDENTIALS = 'android.permission.USE_CREDENTIALS'; + this.USE_SIP = 'android.permission.USE_SIP'; + this.VIBRATE = 'android.permission.VIBRATE'; + this.WAKE_LOCK = 'android.permission.WAKE_LOCK'; + this.WRITE_APN_SETTINGS = 'android.permission.WRITE_APN_SETTINGS'; + this.WRITE_CALENDAR = 'android.permission.WRITE_CALENDAR'; + this.WRITE_CALL_LOG = 'android.permission.WRITE_CALL_LOG'; + this.WRITE_CONTACTS = 'android.permission.WRITE_CONTACTS'; + this.WRITE_EXTERNAL_STORAGE = 'android.permission.WRITE_EXTERNAL_STORAGE'; + this.WRITE_GSERVICES = 'android.permission.WRITE_GSERVICES'; + this.WRITE_HISTORY_BOOKMARKS = 'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS'; + this.WRITE_PROFILE = 'android.permission.WRITE_PROFILE'; + this.WRITE_SECURE_SETTINGS = 'android.permission.WRITE_SECURE_SETTINGS'; + this.WRITE_SETTINGS = 'android.permission.WRITE_SETTINGS'; + this.WRITE_SMS = 'android.permission.WRITE_SMS'; + this.WRITE_SOCIAL_STREAM = 'android.permission.WRITE_SOCIAL_STREAM'; + this.WRITE_SYNC_SETTINGS = 'android.permission.WRITE_SYNC_SETTINGS'; + this.WRITE_USER_DICTIONARY = 'android.permission.WRITE_USER_DICTIONARY'; + this.WRITE_VOICEMAIL = 'com.android.voicemail.permission.WRITE_VOICEMAIL'; +} + +function deprecated(name) { + console.warn("Calling cordova.plugins.permissions." + name + " with the successCallback as first argument is deprecated"); + console.warn("The new signature is '" + name + "(permission, successCallback, errorCallback)'"); +} + +Permissions.prototype = { + checkPermission: function(permission, successCallback, errorCallback) { + cordova.exec(successCallback, errorCallback, permissionsName, 'checkPermission', [permission]); + }, + requestPermission: function(permission, successCallback, errorCallback) { + if (typeof permission === "function") { + deprecated("requestPermission"); + successCallback = arguments[0]; + errorCallback = arguments[1]; + permission = arguments[2]; + } + cordova.exec(successCallback, errorCallback, permissionsName, 'requestPermission', [permission]); + }, + requestPermissions: function(permissions, successCallback, errorCallback) { + cordova.exec(successCallback, errorCallback, permissionsName, 'requestPermissions', permissions); + } +}; + +Permissions.prototype.hasPermission = function (permission, successCallback, errorCallback) { + console.warn("hasPermission() function deprecated. Considers using checkPermission()"); + + if (typeof permission === "function") { + deprecated("hasPermission"); + successCallback = arguments[0]; + errorCallback = arguments[1]; + permission = arguments[2]; + } + this.checkPermission.call(this, permission, successCallback, errorCallback); +}; + +module.exports = new Permissions(); + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/Camera.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/Camera.js new file mode 100644 index 00000000..3f614ec8 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/Camera.js @@ -0,0 +1,188 @@ +cordova.define("cordova-plugin-camera.camera", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var argscheck = require('cordova/argscheck'); +var exec = require('cordova/exec'); +var Camera = require('./Camera'); +// XXX: commented out +// CameraPopoverHandle = require('./CameraPopoverHandle'); + +/** + * @namespace navigator + */ + +/** + * @exports camera + */ +var cameraExport = {}; + +// Tack on the Camera Constants to the base camera plugin. +for (var key in Camera) { + cameraExport[key] = Camera[key]; +} + +/** + * Callback function that provides an error message. + * @callback module:camera.onError + * @param {string} message - The message is provided by the device's native code. + */ + +/** + * Callback function that provides the image data. + * @callback module:camera.onSuccess + * @param {string} imageData - Base64 encoding of the image data, _or_ the image file URI, depending on [`cameraOptions`]{@link module:camera.CameraOptions} in effect. + * @example + * // Show image + * // + * function cameraCallback(imageData) { + * var image = document.getElementById('myImage'); + * image.src = "data:image/jpeg;base64," + imageData; + * } + */ + +/** + * Optional parameters to customize the camera settings. + * * [Quirks](#CameraOptions-quirks) + * @typedef module:camera.CameraOptions + * @type {Object} + * @property {number} [quality=50] - Quality of the saved image, expressed as a range of 0-100, where 100 is typically full resolution with no loss from file compression. (Note that information about the camera's resolution is unavailable.) + * @property {module:Camera.DestinationType} [destinationType=FILE_URI] - Choose the format of the return value. + * @property {module:Camera.PictureSourceType} [sourceType=CAMERA] - Set the source of the picture. + * @property {Boolean} [allowEdit=false] - Allow simple editing of image before selection. + * @property {module:Camera.EncodingType} [encodingType=JPEG] - Choose the returned image file's encoding. + * @property {number} [targetWidth] - Width in pixels to scale image. Must be used with `targetHeight`. Aspect ratio remains constant. + * @property {number} [targetHeight] - Height in pixels to scale image. Must be used with `targetWidth`. Aspect ratio remains constant. + * @property {module:Camera.MediaType} [mediaType=PICTURE] - Set the type of media to select from. Only works when `PictureSourceType` is `PHOTOLIBRARY` or `SAVEDPHOTOALBUM`. + * @property {Boolean} [correctOrientation] - Rotate the image to correct for the orientation of the device during capture. + * @property {Boolean} [saveToPhotoAlbum] - Save the image to the photo album on the device after capture. + * @property {module:CameraPopoverOptions} [popoverOptions] - iOS-only options that specify popover location in iPad. + * @property {module:Camera.Direction} [cameraDirection=BACK] - Choose the camera to use (front- or back-facing). + */ + +/** + * @description Takes a photo using the camera, or retrieves a photo from the device's + * image gallery. The image is passed to the success callback as a + * Base64-encoded `String`, or as the URI for the image file. + * + * The `camera.getPicture` function opens the device's default camera + * application that allows users to snap pictures by default - this behavior occurs, + * when `Camera.sourceType` equals [`Camera.PictureSourceType.CAMERA`]{@link module:Camera.PictureSourceType}. + * Once the user snaps the photo, the camera application closes and the application is restored. + * + * If `Camera.sourceType` is `Camera.PictureSourceType.PHOTOLIBRARY` or + * `Camera.PictureSourceType.SAVEDPHOTOALBUM`, then a dialog displays + * that allows users to select an existing image. + * + * The return value is sent to the [`cameraSuccess`]{@link module:camera.onSuccess} callback function, in + * one of the following formats, depending on the specified + * `cameraOptions`: + * + * - A `String` containing the Base64-encoded photo image. + * - A `String` representing the image file location on local storage (default). + * + * You can do whatever you want with the encoded image or URI, for + * example: + * + * - Render the image in an `` tag, as in the example below + * - Save the data locally (`LocalStorage`, [Lawnchair](http://brianleroux.github.com/lawnchair/), etc.) + * - Post the data to a remote server + * + * __NOTE__: Photo resolution on newer devices is quite good. Photos + * selected from the device's gallery are not downscaled to a lower + * quality, even if a `quality` parameter is specified. To avoid common + * memory problems, set `Camera.destinationType` to `FILE_URI` rather + * than `DATA_URL`. + * + * __Supported Platforms__ + * + * - Android + * - BlackBerry + * - Browser + * - Firefox + * - FireOS + * - iOS + * - Windows + * - WP8 + * - Ubuntu + * + * More examples [here](#camera-getPicture-examples). Quirks [here](#camera-getPicture-quirks). + * + * @example + * navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions); + * @param {module:camera.onSuccess} successCallback + * @param {module:camera.onError} errorCallback + * @param {module:camera.CameraOptions} options CameraOptions + */ +cameraExport.getPicture = function (successCallback, errorCallback, options) { + argscheck.checkArgs('fFO', 'Camera.getPicture', arguments); + options = options || {}; + var getValue = argscheck.getValue; + + var quality = getValue(options.quality, 50); + var destinationType = getValue(options.destinationType, Camera.DestinationType.FILE_URI); + var sourceType = getValue(options.sourceType, Camera.PictureSourceType.CAMERA); + var targetWidth = getValue(options.targetWidth, -1); + var targetHeight = getValue(options.targetHeight, -1); + var encodingType = getValue(options.encodingType, Camera.EncodingType.JPEG); + var mediaType = getValue(options.mediaType, Camera.MediaType.PICTURE); + var allowEdit = !!options.allowEdit; + var correctOrientation = !!options.correctOrientation; + var saveToPhotoAlbum = !!options.saveToPhotoAlbum; + var popoverOptions = getValue(options.popoverOptions, null); + var cameraDirection = getValue(options.cameraDirection, Camera.Direction.BACK); + + var args = [quality, destinationType, sourceType, targetWidth, targetHeight, encodingType, + mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions, cameraDirection]; + + exec(successCallback, errorCallback, 'Camera', 'takePicture', args); + // XXX: commented out + // return new CameraPopoverHandle(); +}; + +/** + * Removes intermediate image files that are kept in temporary storage + * after calling [`camera.getPicture`]{@link module:camera.getPicture}. Applies only when the value of + * `Camera.sourceType` equals `Camera.PictureSourceType.CAMERA` and the + * `Camera.destinationType` equals `Camera.DestinationType.FILE_URI`. + * + * __Supported Platforms__ + * + * - iOS + * + * @example + * navigator.camera.cleanup(onSuccess, onFail); + * + * function onSuccess() { + * console.log("Camera cleanup success.") + * } + * + * function onFail(message) { + * alert('Failed because: ' + message); + * } + */ +cameraExport.cleanup = function (successCallback, errorCallback) { + exec(successCallback, errorCallback, 'Camera', 'cleanup', []); +}; + +module.exports = cameraExport; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraConstants.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraConstants.js new file mode 100644 index 00000000..4f4b046f --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraConstants.js @@ -0,0 +1,104 @@ +cordova.define("cordova-plugin-camera.Camera", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * @module Camera + */ +module.exports = { + /** + * @description + * Defines the output format of `Camera.getPicture` call. + * _Note:_ On iOS passing `DestinationType.NATIVE_URI` along with + * `PictureSourceType.PHOTOLIBRARY` or `PictureSourceType.SAVEDPHOTOALBUM` will + * disable any image modifications (resize, quality change, cropping, etc.) due + * to implementation specific. + * + * @enum {number} + */ + DestinationType: { + /** Return base64 encoded string. DATA_URL can be very memory intensive and cause app crashes or out of memory errors. Use FILE_URI or NATIVE_URI if possible */ + DATA_URL: 0, + /** Return file uri (content://media/external/images/media/2 for Android) */ + FILE_URI: 1, + /** Return native uri (eg. asset-library://... for iOS) */ + NATIVE_URI: 2 + }, + /** + * @enum {number} + */ + EncodingType: { + /** Return JPEG encoded image */ + JPEG: 0, + /** Return PNG encoded image */ + PNG: 1 + }, + /** + * @enum {number} + */ + MediaType: { + /** Allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType */ + PICTURE: 0, + /** Allow selection of video only, ONLY RETURNS URL */ + VIDEO: 1, + /** Allow selection from all media types */ + ALLMEDIA: 2 + }, + /** + * @description + * Defines the output format of `Camera.getPicture` call. + * _Note:_ On iOS passing `PictureSourceType.PHOTOLIBRARY` or `PictureSourceType.SAVEDPHOTOALBUM` + * along with `DestinationType.NATIVE_URI` will disable any image modifications (resize, quality + * change, cropping, etc.) due to implementation specific. + * + * @enum {number} + */ + PictureSourceType: { + /** Choose image from the device's photo library (same as SAVEDPHOTOALBUM for Android) */ + PHOTOLIBRARY: 0, + /** Take picture from camera */ + CAMERA: 1, + /** Choose image only from the device's Camera Roll album (same as PHOTOLIBRARY for Android) */ + SAVEDPHOTOALBUM: 2 + }, + /** + * Matches iOS UIPopoverArrowDirection constants to specify arrow location on popover. + * @enum {number} + */ + PopoverArrowDirection: { + ARROW_UP: 1, + ARROW_DOWN: 2, + ARROW_LEFT: 4, + ARROW_RIGHT: 8, + ARROW_ANY: 15 + }, + /** + * @enum {number} + */ + Direction: { + /** Use the back-facing camera */ + BACK: 0, + /** Use the front-facing camera */ + FRONT: 1 + } +}; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraPopoverHandle.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraPopoverHandle.js new file mode 100644 index 00000000..c970f55a --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraPopoverHandle.js @@ -0,0 +1,35 @@ +cordova.define("cordova-plugin-camera.CameraPopoverHandle", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * @ignore in favour of iOS' one + * A handle to an image picker popover. + */ +var CameraPopoverHandle = function () { + this.setPosition = function (popoverOptions) { + console.log('CameraPopoverHandle.setPosition is only supported on iOS.'); + }; +}; + +module.exports = CameraPopoverHandle; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraPopoverOptions.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraPopoverOptions.js new file mode 100644 index 00000000..81d7d20e --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-camera/www/CameraPopoverOptions.js @@ -0,0 +1,55 @@ +cordova.define("cordova-plugin-camera.CameraPopoverOptions", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var Camera = require('./Camera'); + +/** + * @namespace navigator + */ + +/** + * iOS-only parameters that specify the anchor element location and arrow + * direction of the popover when selecting images from an iPad's library + * or album. + * Note that the size of the popover may change to adjust to the + * direction of the arrow and orientation of the screen. Make sure to + * account for orientation changes when specifying the anchor element + * location. + * @module CameraPopoverOptions + * @param {Number} [x=0] - x pixel coordinate of screen element onto which to anchor the popover. + * @param {Number} [y=32] - y pixel coordinate of screen element onto which to anchor the popover. + * @param {Number} [width=320] - width, in pixels, of the screen element onto which to anchor the popover. + * @param {Number} [height=480] - height, in pixels, of the screen element onto which to anchor the popover. + * @param {module:Camera.PopoverArrowDirection} [arrowDir=ARROW_ANY] - Direction the arrow on the popover should point. + */ +var CameraPopoverOptions = function (x, y, width, height, arrowDir) { + // information of rectangle that popover should be anchored to + this.x = x || 0; + this.y = y || 32; + this.width = width || 320; + this.height = height || 480; + this.arrowDir = arrowDir || Camera.PopoverArrowDirection.ARROW_ANY; +}; + +module.exports = CameraPopoverOptions; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-datepicker/www/android/DatePicker.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-datepicker/www/android/DatePicker.js new file mode 100644 index 00000000..c05ee3da --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-datepicker/www/android/DatePicker.js @@ -0,0 +1,99 @@ +cordova.define("cordova-plugin-datepicker.DatePicker", function(require, exports, module) { +/** + * Phonegap DatePicker Plugin Copyright (c) Greg Allen 2011 MIT Licensed + * Reused and ported to Android plugin by Daniel van 't Oever + */ + +/** + * Constructor + */ +function DatePicker() { + //this._callback; +} + +/** + * Android themes + */ +DatePicker.prototype.ANDROID_THEMES = { + THEME_TRADITIONAL : 1, // default + THEME_HOLO_DARK : 2, + THEME_HOLO_LIGHT : 3, + THEME_DEVICE_DEFAULT_DARK : 4, + THEME_DEVICE_DEFAULT_LIGHT : 5 +}; + +/** + * show - true to show the ad, false to hide the ad + */ +DatePicker.prototype.show = function(options, cb, errCb) { + + if (options.date && options.date instanceof Date) { + options.date = (options.date.getMonth() + 1) + "/" + + (options.date.getDate()) + "/" + + (options.date.getFullYear()) + "/" + + (options.date.getHours()) + "/" + + (options.date.getMinutes()); + } + + var defaults = { + mode : 'date', + date : '', + minDate: 0, + maxDate: 0, + titleText: '', + cancelText: '', + okText: '', + todayText: '', + nowText: '', + is24Hour: false, + androidTheme : window.datePicker.ANDROID_THEMES.THEME_TRADITIONAL, // Default theme + }; + + for (var key in defaults) { + if (typeof options[key] !== "undefined") { + defaults[key] = options[key]; + } + } + + //this._callback = cb; + + var callback = function(message) { + if(message != 'error'){ + var timestamp = Date.parse(message); + if(isNaN(timestamp) == false) { + cb(new Date(message)); + } + else { + cb(); + } + } else { + // TODO error popup? + } + } + + var errCallback = function(message) { + if (typeof errCb === 'function') { + errCb(message); + } + } + + cordova.exec(callback, + errCallback, + "DatePickerPlugin", + defaults.mode, + [defaults] + ); +}; + +var datePicker = new DatePicker(); +module.exports = datePicker; + +// Make plugin work under window.plugins +if (!window.plugins) { + window.plugins = {}; +} +if (!window.plugins.datePicker) { + window.plugins.datePicker = datePicker; +} + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-device/www/device.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-device/www/device.js new file mode 100644 index 00000000..ae48e354 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-device/www/device.js @@ -0,0 +1,86 @@ +cordova.define("cordova-plugin-device.device", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var argscheck = require('cordova/argscheck'); +var channel = require('cordova/channel'); +var utils = require('cordova/utils'); +var exec = require('cordova/exec'); +var cordova = require('cordova'); + +channel.createSticky('onCordovaInfoReady'); +// Tell cordova channel to wait on the CordovaInfoReady event +channel.waitForInitialization('onCordovaInfoReady'); + +/** + * This represents the mobile device, and provides properties for inspecting the model, version, UUID of the + * phone, etc. + * @constructor + */ +function Device () { + this.available = false; + this.platform = null; + this.version = null; + this.uuid = null; + this.cordova = null; + this.model = null; + this.manufacturer = null; + this.isVirtual = null; + this.serial = null; + + var me = this; + + channel.onCordovaReady.subscribe(function () { + me.getInfo(function (info) { + // ignoring info.cordova returning from native, we should use value from cordova.version defined in cordova.js + // TODO: CB-5105 native implementations should not return info.cordova + var buildLabel = cordova.version; + me.available = true; + me.platform = info.platform; + me.version = info.version; + me.uuid = info.uuid; + me.cordova = buildLabel; + me.model = info.model; + me.isVirtual = info.isVirtual; + me.manufacturer = info.manufacturer || 'unknown'; + me.serial = info.serial || 'unknown'; + channel.onCordovaInfoReady.fire(); + }, function (e) { + me.available = false; + utils.alert('[ERROR] Error initializing Cordova: ' + e); + }); + }); +} + +/** + * Get device info + * + * @param {Function} successCallback The function to call when the heading data is available + * @param {Function} errorCallback The function to call when there is an error getting the heading data. (OPTIONAL) + */ +Device.prototype.getInfo = function (successCallback, errorCallback) { + argscheck.checkArgs('fF', 'Device.getInfo', arguments); + exec(successCallback, errorCallback, 'Device', 'getDeviceInfo', []); +}; + +module.exports = new Device(); + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-dialogs/www/android/notification.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-dialogs/www/android/notification.js new file mode 100644 index 00000000..03333918 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-dialogs/www/android/notification.js @@ -0,0 +1,77 @@ +cordova.define("cordova-plugin-dialogs.notification_android", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = require('cordova/exec'); + +/** + * Provides Android enhanced notification API. + */ +module.exports = { + activityStart: function (title, message) { + // If title and message not specified then mimic Android behavior of + // using default strings. + if (typeof title === 'undefined' && typeof message === 'undefined') { + title = 'Busy'; + message = 'Please wait...'; + } + + exec(null, null, 'Notification', 'activityStart', [ title, message ]); + }, + + /** + * Close an activity dialog + */ + activityStop: function () { + exec(null, null, 'Notification', 'activityStop', []); + }, + + /** + * Display a progress dialog with progress bar that goes from 0 to 100. + * + * @param {String} + * title Title of the progress dialog. + * @param {String} + * message Message to display in the dialog. + */ + progressStart: function (title, message) { + exec(null, null, 'Notification', 'progressStart', [ title, message ]); + }, + + /** + * Close the progress dialog. + */ + progressStop: function () { + exec(null, null, 'Notification', 'progressStop', []); + }, + + /** + * Set the progress dialog value. + * + * @param {Number} + * value 0-100 + */ + progressValue: function (value) { + exec(null, null, 'Notification', 'progressValue', [ value ]); + } +}; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-dialogs/www/notification.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-dialogs/www/notification.js new file mode 100644 index 00000000..e34e710e --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-dialogs/www/notification.js @@ -0,0 +1,133 @@ +cordova.define("cordova-plugin-dialogs.notification", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = require('cordova/exec'); +var platform = require('cordova/platform'); + +/** + * Provides access to notifications on the device. + */ + +module.exports = { + + /** + * Open a native alert dialog, with a customizable title and button text. + * + * @param {String} message Message to print in the body of the alert + * @param {Function} completeCallback The callback that is called when user clicks on a button. + * @param {String} title Title of the alert dialog (default: Alert) + * @param {String} buttonLabel Label of the close button (default: OK) + */ + alert: function (message, completeCallback, title, buttonLabel) { + var _message = (typeof message === 'string' ? message : JSON.stringify(message)); + var _title = (typeof title === 'string' ? title : 'Alert'); + var _buttonLabel = (buttonLabel && typeof buttonLabel === 'string' ? buttonLabel : 'OK'); + exec(completeCallback, null, 'Notification', 'alert', [_message, _title, _buttonLabel]); + }, + + /** + * Open a native confirm dialog, with a customizable title and button text. + * The result that the user selects is returned to the result callback. + * + * @param {String} message Message to print in the body of the alert + * @param {Function} resultCallback The callback that is called when user clicks on a button. + * @param {String} title Title of the alert dialog (default: Confirm) + * @param {Array} buttonLabels Array of the labels of the buttons (default: ['OK', 'Cancel']) + */ + confirm: function (message, resultCallback, title, buttonLabels) { + var _message = (typeof message === 'string' ? message : JSON.stringify(message)); + var _title = (typeof title === 'string' ? title : 'Confirm'); + var _buttonLabels = (buttonLabels || ['OK', 'Cancel']); + + // Strings are deprecated! + if (typeof _buttonLabels === 'string') { + console.log('Notification.confirm(string, function, string, string) is deprecated. Use Notification.confirm(string, function, string, array).'); + } + + _buttonLabels = convertButtonLabels(_buttonLabels); + + exec(resultCallback, null, 'Notification', 'confirm', [_message, _title, _buttonLabels]); + }, + + /** + * Open a native prompt dialog, with a customizable title and button text. + * The following results are returned to the result callback: + * buttonIndex Index number of the button selected. + * input1 The text entered in the prompt dialog box. + * + * @param {String} message Dialog message to display (default: "Prompt message") + * @param {Function} resultCallback The callback that is called when user clicks on a button. + * @param {String} title Title of the dialog (default: "Prompt") + * @param {Array} buttonLabels Array of strings for the button labels (default: ["OK","Cancel"]) + * @param {String} defaultText Textbox input value (default: empty string) + */ + prompt: function (message, resultCallback, title, buttonLabels, defaultText) { + var _message = (typeof message === 'string' ? message : JSON.stringify(message)); + var _title = (typeof title === 'string' ? title : 'Prompt'); + var _buttonLabels = (buttonLabels || ['OK', 'Cancel']); + + // Strings are deprecated! + if (typeof _buttonLabels === 'string') { + console.log('Notification.prompt(string, function, string, string) is deprecated. Use Notification.confirm(string, function, string, array).'); + } + + _buttonLabels = convertButtonLabels(_buttonLabels); + + var _defaultText = (defaultText || ''); + exec(resultCallback, null, 'Notification', 'prompt', [_message, _title, _buttonLabels, _defaultText]); + }, + + /** + * Causes the device to beep. + * On Android, the default notification ringtone is played "count" times. + * + * @param {Integer} count The number of beeps. + */ + beep: function (count) { + var defaultedCount = count || 1; + exec(null, null, 'Notification', 'beep', [ defaultedCount ]); + } +}; + +function convertButtonLabels (buttonLabels) { + + // Some platforms take an array of button label names. + // Other platforms take a comma separated list. + // For compatibility, we convert to the desired type based on the platform. + if (platform.id === 'amazon-fireos' || platform.id === 'android' || platform.id === 'ios' || + platform.id === 'windowsphone' || platform.id === 'firefoxos' || platform.id === 'ubuntu' || + platform.id === 'windows8' || platform.id === 'windows') { + + if (typeof buttonLabels === 'string') { + buttonLabels = buttonLabels.split(','); // not crazy about changing the var type here + } + } else { + if (Array.isArray(buttonLabels)) { + var buttonLabelArray = buttonLabels; + buttonLabels = buttonLabelArray.toString(); + } + } + + return buttonLabels; +} + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-fingerprint-aio/www/Fingerprint.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-fingerprint-aio/www/Fingerprint.js new file mode 100644 index 00000000..39821393 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-fingerprint-aio/www/Fingerprint.js @@ -0,0 +1,29 @@ +cordova.define("cordova-plugin-fingerprint-aio.Fingerprint", function(require, exports, module) { +/*global cordova */ + +function Fingerprint() { +} + +Fingerprint.prototype.show = function (params, successCallback, errorCallback) { + cordova.exec( + successCallback, + errorCallback, + "Fingerprint", + "authenticate", + [params] + ); +}; + +Fingerprint.prototype.isAvailable = function (successCallback, errorCallback) { + cordova.exec( + successCallback, + errorCallback, + "Fingerprint", + "isAvailable", + [{}] + ); +}; + +module.exports = new Fingerprint(); + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-geolocation/www/PositionError.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-geolocation/www/PositionError.js new file mode 100644 index 00000000..c26dd754 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-geolocation/www/PositionError.js @@ -0,0 +1,41 @@ +cordova.define("cordova-plugin-geolocation.PositionError", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * Position error object + * + * @constructor + * @param code + * @param message + */ +var PositionError = function(code, message) { + this.code = code || null; + this.message = message || ''; +}; + +PositionError.prototype.PERMISSION_DENIED = PositionError.PERMISSION_DENIED = 1; +PositionError.prototype.POSITION_UNAVAILABLE = PositionError.POSITION_UNAVAILABLE = 2; +PositionError.prototype.TIMEOUT = PositionError.TIMEOUT = 3; + +module.exports = PositionError; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-geolocation/www/android/geolocation.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-geolocation/www/android/geolocation.js new file mode 100644 index 00000000..814aafbc --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-geolocation/www/android/geolocation.js @@ -0,0 +1,74 @@ +cordova.define("cordova-plugin-geolocation.geolocation", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = cordova.require('cordova/exec'); +var utils = require('cordova/utils'); +var PositionError = require('./PositionError'); + +// Native watchPosition method is called async after permissions prompt. +// So we use additional map and own ids to return watch id synchronously. +var pluginToNativeWatchMap = {}; + +module.exports = { + getCurrentPosition: function(success, error, args) { + var win = function() { + var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation'); + geo.getCurrentPosition(success, error, args); + }; + var fail = function() { + if (error) { + error(new PositionError (PositionError.PERMISSION_DENIED, 'Illegal Access')); + } + }; + exec(win, fail, "Geolocation", "getPermission", []); + }, + + watchPosition: function(success, error, args) { + var pluginWatchId = utils.createUUID(); + + var win = function() { + var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation'); + pluginToNativeWatchMap[pluginWatchId] = geo.watchPosition(success, error, args); + }; + + var fail = function() { + if (error) { + error(new PositionError(PositionError.PERMISSION_DENIED, 'Illegal Access')); + } + }; + exec(win, fail, "Geolocation", "getPermission", []); + + return pluginWatchId; + }, + + clearWatch: function(pluginWatchId) { + var win = function() { + var nativeWatchId = pluginToNativeWatchMap[pluginWatchId]; + var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation'); + geo.clearWatch(nativeWatchId); + }; + + exec(win, null, "Geolocation", "getPermission", []); + } +}; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js new file mode 100644 index 00000000..34f71c57 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js @@ -0,0 +1,84 @@ +cordova.define("cordova-plugin-ionic-keyboard.keyboard", function(require, exports, module) { +var argscheck = require('cordova/argscheck'), + utils = require('cordova/utils'), + exec = require('cordova/exec'), + channel = require('cordova/channel'); + + +var Keyboard = function () {}; + +Keyboard.fireOnShow = function (height) { + Keyboard.isVisible = true; + cordova.fireWindowEvent('keyboardDidShow', { + 'keyboardHeight': height + }); + + // To support the keyboardAttach directive listening events + // inside Ionic's main bundle + cordova.fireWindowEvent('native.keyboardshow', { + 'keyboardHeight': height + }); +}; + +Keyboard.fireOnHide = function () { + Keyboard.isVisible = false; + cordova.fireWindowEvent('keyboardDidHide'); + + // To support the keyboardAttach directive listening events + // inside Ionic's main bundle + cordova.fireWindowEvent('native.keyboardhide'); +}; + +Keyboard.fireOnHiding = function () { + cordova.fireWindowEvent('keyboardWillHide'); +}; + +Keyboard.fireOnShowing = function (height) { + cordova.fireWindowEvent('keyboardWillShow', { + 'keyboardHeight': height + }); +}; + +Keyboard.hideFormAccessoryBar = Keyboard.hideKeyboardAccessoryBar = function (hide) { + exec(null, null, "Keyboard", "hideKeyboardAccessoryBar", [hide]); +}; + +Keyboard.hide = function () { + exec(null, null, "Keyboard", "hide", []); +}; + +Keyboard.show = function () { + exec(null, null, "Keyboard", "show", []); +}; + +Keyboard.disableScroll = function (disable) { + console.warn("Keyboard.disableScroll() was removed"); +}; + +Keyboard.setResizeMode = function (mode) { + console.warn("Keyboard.setResizeMode() not supported in Android"); +} + +channel.onCordovaReady.subscribe(function () { + exec(success, null, 'Keyboard', 'init', []); + + function success(msg) { + var action = msg.charAt(0); + if (action === 'S') { + var keyboardHeight = parseInt(msg.substr(1)); + Keyboard.fireOnShowing(keyboardHeight); + Keyboard.fireOnShow(keyboardHeight); + + } else if (action === 'H') { + Keyboard.fireOnHiding(); + Keyboard.fireOnHide(); + } + } +}); + + +Keyboard.isVisible = false; + +module.exports = Keyboard; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-ionic-webview/src/www/util.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-ionic-webview/src/www/util.js new file mode 100644 index 00000000..5a830544 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-ionic-webview/src/www/util.js @@ -0,0 +1,30 @@ +cordova.define("cordova-plugin-ionic-webview.IonicWebView", function(require, exports, module) { +var exec = require('cordova/exec'); + +var WebView = { + convertFileSrc: function(url) { + if (!url) { + return url; + } + if (!url.startsWith('file://')) { + return url; + } + url = url.substr(7); // len("file://") == 7 + if (url.length === 0 || url[0] !== '/') { // ensure the new URL starts with / + url = '/' + url; + } + return window.WEBVIEW_SERVER_URL + '/_file_' + url; + }, + setServerBasePath: function(path) { + exec(null, null, 'IonicWebView', 'setServerBasePath', [path]); + }, + getServerBasePath: function(callback) { + exec(callback, null, 'IonicWebView', 'getServerBasePath', []); + }, + persistServerBasePath: function() { + exec(null, null, 'IonicWebView', 'persistServerBasePath', []); + } +} + +module.exports = WebView; +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-request-location-accuracy/www/android/RequestLocationAccuracy.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-request-location-accuracy/www/android/RequestLocationAccuracy.js new file mode 100644 index 00000000..fe484a0a --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-request-location-accuracy/www/android/RequestLocationAccuracy.js @@ -0,0 +1,154 @@ +cordova.define("cordova-plugin-request-location-accuracy.RequestLocationAccuracy", function(require, exports, module) { +/** + * Request Location Accuracy plugin + * + * Copyright (c) 2016 Dave Alden (Working Edge Ltd.) + **/ +var RequestLocationAccuracy = function(){ + this.requesting = false; +}; + +/** + * Request location mode priority "no power": the best accuracy possible with zero additional power consumption. + * https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#PRIORITY_NO_POWER + * @type {number} + */ +RequestLocationAccuracy.prototype.REQUEST_PRIORITY_NO_POWER = 0; + +/** + * Request location mode priority "low power": "city" level accuracy (about 10km accuracy) + * https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#PRIORITY_LOW_POWER + * @type {number} + */ +RequestLocationAccuracy.prototype.REQUEST_PRIORITY_LOW_POWER = 1; + +/** + * Request location mode priority "balanced power": "block" level accuracy (about 100 meter accuracy) + * https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#PRIORITY_BALANCED_POWER_ACCURACY + * @type {number} + */ +RequestLocationAccuracy.prototype.REQUEST_PRIORITY_BALANCED_POWER_ACCURACY = 2; + +/** + * Request location mode priority "high accuracy": the most accurate locations available. This will use GPS hardware to retrieve positions. + * https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#PRIORITY_HIGH_ACCURACY + * @type {number} + */ +RequestLocationAccuracy.prototype.REQUEST_PRIORITY_HIGH_ACCURACY = 3; + + +/** + * Success due to current location settings already satisfying requested accuracy + * @type {number} + */ +RequestLocationAccuracy.prototype.SUCCESS_SETTINGS_SATISFIED = 0; + +/** + * Success due to user agreeing to requested accuracy change + * @type {number} + */ +RequestLocationAccuracy.prototype.SUCCESS_USER_AGREED = 1; + +/** + * Error due an unresolved request already being in progress. + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_ALREADY_REQUESTING = -1; + +/** + * Error due invalid action requested + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_INVALID_ACTION = 0; + +/** + * Error due invalid accuracy requested + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_INVALID_ACCURACY = 1; + +/** + * Error due to exception in the native code + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_EXCEPTION = 2; + +/** + * Error due to not being able to change location accuracy to requested state + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_CANNOT_CHANGE_ACCURACY = 3; + +/** + * Error due to user rejecting requested accuracy change + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_USER_DISAGREED = 4; + +/** + * Error due to failure to connect to Google Play Services API + * @type {number} + */ +RequestLocationAccuracy.prototype.ERROR_GOOGLE_API_CONNECTION_FAILED = 5; + +/** + * Requests a specific accuracy for Location Services. + * + * @param [Function} successCallback - callback to be invoked on successful resolution of the requested accuracy. + * A single object argument will be passed which has two keys: "code" in an integer corresponding to a SUCCESS constant and indicates the reason for success; + * "message" is a string containing a description of the success. + * @param {Function} errorCallback - callback to be invoked on failure to resolve the requested accuracy. + * A single object argument will be passed which has two keys: "code" in an integer corresponding to an ERROR constant and indicates the reason for failure; + * "message" is a string containing a description of the error. + * @param {Integer} accuracy - The location accuracy to request defined by an integer corresponding to a REQUEST constant. + */ +RequestLocationAccuracy.prototype.request = function(successCallback, errorCallback, accuracy) { + var _this = this; + + if(this.requesting){ + return errorCallback({ + code: _this.ERROR_ALREADY_REQUESTING, + message: "A request is already in progress" + }); + } + + this.requesting = true; + + return cordova.exec(function(data){ + _this.requesting = false; + successCallback(data) + }, + function(err) { + _this.requesting = false; + errorCallback(err); + }, + 'RequestLocationAccuracy', + 'request', + [accuracy]); +}; + +/** + * Indicates if a request is currently in progress. + * + * @param [Function} successCallback - callback to pass result to. + * This is passed a boolean argument indicating if a request is currently in progress; + */ +RequestLocationAccuracy.prototype.isRequesting = function(successCallback) { + successCallback(!!this.requesting); +}; + +/** + * Indicates if it is possible to request a specific location accuracy. + * This will return true if the app is authorized to use location. + * + * @param [Function} successCallback - callback to pass result to. + * This is passed a boolean argument indicating if a request can be made. + */ +RequestLocationAccuracy.prototype.canRequest = function(successCallback) { + return cordova.exec(successCallback, null, 'RequestLocationAccuracy', 'canRequest', []); +}; + +module.exports = new RequestLocationAccuracy(); + + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-splashscreen/www/splashscreen.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-splashscreen/www/splashscreen.js new file mode 100644 index 00000000..5beaa5fd --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-splashscreen/www/splashscreen.js @@ -0,0 +1,36 @@ +cordova.define("cordova-plugin-splashscreen.SplashScreen", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = require('cordova/exec'); + +var splashscreen = { + show:function() { + exec(null, null, "SplashScreen", "show", []); + }, + hide:function() { + exec(null, null, "SplashScreen", "hide", []); + } +}; + +module.exports = splashscreen; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-statusbar/www/statusbar.js b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-statusbar/www/statusbar.js new file mode 100644 index 00000000..708186f9 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-plugin-statusbar/www/statusbar.js @@ -0,0 +1,116 @@ +cordova.define("cordova-plugin-statusbar.statusbar", function(require, exports, module) { +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/* global cordova */ + +var exec = require('cordova/exec'); + +var namedColors = { + "black": "#000000", + "darkGray": "#A9A9A9", + "lightGray": "#D3D3D3", + "white": "#FFFFFF", + "gray": "#808080", + "red": "#FF0000", + "green": "#00FF00", + "blue": "#0000FF", + "cyan": "#00FFFF", + "yellow": "#FFFF00", + "magenta": "#FF00FF", + "orange": "#FFA500", + "purple": "#800080", + "brown": "#A52A2A" +}; + +var StatusBar = { + + isVisible: true, + + overlaysWebView: function (doOverlay) { + exec(null, null, "StatusBar", "overlaysWebView", [doOverlay]); + }, + + styleDefault: function () { + // dark text ( to be used on a light background ) + exec(null, null, "StatusBar", "styleDefault", []); + }, + + styleLightContent: function () { + // light text ( to be used on a dark background ) + exec(null, null, "StatusBar", "styleLightContent", []); + }, + + styleBlackTranslucent: function () { + // #88000000 ? Apple says to use lightContent instead + exec(null, null, "StatusBar", "styleBlackTranslucent", []); + }, + + styleBlackOpaque: function () { + // #FF000000 ? Apple says to use lightContent instead + exec(null, null, "StatusBar", "styleBlackOpaque", []); + }, + + backgroundColorByName: function (colorname) { + return StatusBar.backgroundColorByHexString(namedColors[colorname]); + }, + + backgroundColorByHexString: function (hexString) { + if (hexString.charAt(0) !== "#") { + hexString = "#" + hexString; + } + + if (hexString.length === 4) { + var split = hexString.split(""); + hexString = "#" + split[1] + split[1] + split[2] + split[2] + split[3] + split[3]; + } + + exec(null, null, "StatusBar", "backgroundColorByHexString", [hexString]); + }, + + hide: function () { + exec(null, null, "StatusBar", "hide", []); + StatusBar.isVisible = false; + }, + + show: function () { + exec(null, null, "StatusBar", "show", []); + StatusBar.isVisible = true; + } + +}; + +// prime it. setTimeout so that proxy gets time to init +window.setTimeout(function () { + exec(function (res) { + if (typeof res == 'object') { + if (res.type == 'tap') { + cordova.fireWindowEvent('statusTap'); + } + } else { + StatusBar.isVisible = res; + } + }, null, "StatusBar", "_ready", []); +}, 0); + +module.exports = StatusBar; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js b/platforms/android/app/src/main/assets/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js new file mode 100644 index 00000000..3f2da516 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js @@ -0,0 +1,920 @@ +cordova.define("cordova-sqlite-storage.SQLitePlugin", function(require, exports, module) { +(function() { + var DB_STATE_INIT, DB_STATE_OPEN, READ_ONLY_REGEX, SQLiteFactory, SQLitePlugin, SQLitePluginTransaction, SelfTest, argsArray, dblocations, iosLocationMap, newSQLError, nextTick, root, txLocks; + + root = this; + + READ_ONLY_REGEX = /^(\s|;)*(?:alter|create|delete|drop|insert|reindex|replace|update)/i; + + DB_STATE_INIT = "INIT"; + + DB_STATE_OPEN = "OPEN"; + + txLocks = {}; + + newSQLError = function(error, code) { + var sqlError; + sqlError = error; + if (!code) { + code = 0; + } + if (!sqlError) { + sqlError = new Error("a plugin had an error but provided no response"); + sqlError.code = code; + } + if (typeof sqlError === "string") { + sqlError = new Error(error); + sqlError.code = code; + } + if (!sqlError.code && sqlError.message) { + sqlError.code = code; + } + if (!sqlError.code && !sqlError.message) { + sqlError = new Error("an unknown error was returned: " + JSON.stringify(sqlError)); + sqlError.code = code; + } + return sqlError; + }; + + nextTick = window.setImmediate || function(fun) { + window.setTimeout(fun, 0); + }; + + + /* + Utility that avoids leaking the arguments object. See + https://www.npmjs.org/package/argsarray + */ + + argsArray = function(fun) { + return function() { + var args, i, len; + len = arguments.length; + if (len) { + args = []; + i = -1; + while (++i < len) { + args[i] = arguments[i]; + } + return fun.call(this, args); + } else { + return fun.call(this, []); + } + }; + }; + + SQLitePlugin = function(openargs, openSuccess, openError) { + var dbname; + if (!(openargs && openargs['name'])) { + throw newSQLError("Cannot create a SQLitePlugin db instance without a db name"); + } + dbname = openargs.name; + if (typeof dbname !== 'string') { + throw newSQLError('sqlite plugin database name must be a string'); + } + this.openargs = openargs; + this.dbname = dbname; + this.openSuccess = openSuccess; + this.openError = openError; + this.openSuccess || (this.openSuccess = function() { + console.log("DB opened: " + dbname); + }); + this.openError || (this.openError = function(e) { + console.log(e.message); + }); + this.open(this.openSuccess, this.openError); + }; + + SQLitePlugin.prototype.databaseFeatures = { + isSQLitePluginDatabase: true + }; + + SQLitePlugin.prototype.openDBs = {}; + + SQLitePlugin.prototype.addTransaction = function(t) { + if (!txLocks[this.dbname]) { + txLocks[this.dbname] = { + queue: [], + inProgress: false + }; + } + txLocks[this.dbname].queue.push(t); + if (this.dbname in this.openDBs && this.openDBs[this.dbname] !== DB_STATE_INIT) { + this.startNextTransaction(); + } else { + if (this.dbname in this.openDBs) { + console.log('new transaction is queued, waiting for open operation to finish'); + } else { + console.log('database is closed, new transaction is [stuck] waiting until db is opened again!'); + } + } + }; + + SQLitePlugin.prototype.transaction = function(fn, error, success) { + if (!this.openDBs[this.dbname]) { + error(newSQLError('database not open')); + return; + } + this.addTransaction(new SQLitePluginTransaction(this, fn, error, success, true, false)); + }; + + SQLitePlugin.prototype.readTransaction = function(fn, error, success) { + if (!this.openDBs[this.dbname]) { + error(newSQLError('database not open')); + return; + } + this.addTransaction(new SQLitePluginTransaction(this, fn, error, success, false, true)); + }; + + SQLitePlugin.prototype.startNextTransaction = function() { + var self; + self = this; + nextTick((function(_this) { + return function() { + var txLock; + if (!(_this.dbname in _this.openDBs) || _this.openDBs[_this.dbname] !== DB_STATE_OPEN) { + console.log('cannot start next transaction: database not open'); + return; + } + txLock = txLocks[self.dbname]; + if (!txLock) { + console.log('cannot start next transaction: database connection is lost'); + return; + } else if (txLock.queue.length > 0 && !txLock.inProgress) { + txLock.inProgress = true; + txLock.queue.shift().start(); + } + }; + })(this)); + }; + + SQLitePlugin.prototype.abortAllPendingTransactions = function() { + var j, len1, ref, tx, txLock; + txLock = txLocks[this.dbname]; + if (!!txLock && txLock.queue.length > 0) { + ref = txLock.queue; + for (j = 0, len1 = ref.length; j < len1; j++) { + tx = ref[j]; + tx.abortFromQ(newSQLError('Invalid database handle')); + } + txLock.queue = []; + txLock.inProgress = false; + } + }; + + SQLitePlugin.prototype.open = function(success, error) { + var openerrorcb, opensuccesscb, step2; + if (this.dbname in this.openDBs) { + console.log('database already open: ' + this.dbname); + nextTick((function(_this) { + return function() { + success(_this); + }; + })(this)); + } else { + console.log('OPEN database: ' + this.dbname); + opensuccesscb = (function(_this) { + return function() { + var txLock; + console.log('OPEN database: ' + _this.dbname + ' - OK'); + if (!_this.openDBs[_this.dbname]) { + console.log('database was closed during open operation'); + } + if (_this.dbname in _this.openDBs) { + _this.openDBs[_this.dbname] = DB_STATE_OPEN; + } + if (!!success) { + success(_this); + } + txLock = txLocks[_this.dbname]; + if (!!txLock && txLock.queue.length > 0 && !txLock.inProgress) { + _this.startNextTransaction(); + } + }; + })(this); + openerrorcb = (function(_this) { + return function() { + console.log('OPEN database: ' + _this.dbname + ' FAILED, aborting any pending transactions'); + if (!!error) { + error(newSQLError('Could not open database')); + } + delete _this.openDBs[_this.dbname]; + _this.abortAllPendingTransactions(); + }; + })(this); + this.openDBs[this.dbname] = DB_STATE_INIT; + step2 = (function(_this) { + return function() { + cordova.exec(opensuccesscb, openerrorcb, "SQLitePlugin", "open", [_this.openargs]); + }; + })(this); + cordova.exec(step2, step2, 'SQLitePlugin', 'close', [ + { + path: this.dbname + } + ]); + } + }; + + SQLitePlugin.prototype.close = function(success, error) { + if (this.dbname in this.openDBs) { + if (txLocks[this.dbname] && txLocks[this.dbname].inProgress) { + console.log('cannot close: transaction is in progress'); + error(newSQLError('database cannot be closed while a transaction is in progress')); + return; + } + console.log('CLOSE database: ' + this.dbname); + delete this.openDBs[this.dbname]; + if (txLocks[this.dbname]) { + console.log('closing db with transaction queue length: ' + txLocks[this.dbname].queue.length); + } else { + console.log('closing db with no transaction lock state'); + } + cordova.exec(success, error, "SQLitePlugin", "close", [ + { + path: this.dbname + } + ]); + } else { + console.log('cannot close: database is not open'); + if (error) { + nextTick(function() { + return error(); + }); + } + } + }; + + SQLitePlugin.prototype.executeSql = function(statement, params, success, error) { + var myerror, myfn, mysuccess; + mysuccess = function(t, r) { + if (!!success) { + return success(r); + } + }; + myerror = function(t, e) { + if (!!error) { + return error(e); + } + }; + myfn = function(tx) { + tx.addStatement(statement, params, mysuccess, myerror); + }; + this.addTransaction(new SQLitePluginTransaction(this, myfn, null, null, false, false)); + }; + + SQLitePlugin.prototype.sqlBatch = function(sqlStatements, success, error) { + var batchList, j, len1, myfn, st; + if (!sqlStatements || sqlStatements.constructor !== Array) { + throw newSQLError('sqlBatch expects an array'); + } + batchList = []; + for (j = 0, len1 = sqlStatements.length; j < len1; j++) { + st = sqlStatements[j]; + if (st.constructor === Array) { + if (st.length === 0) { + throw newSQLError('sqlBatch array element of zero (0) length'); + } + batchList.push({ + sql: st[0], + params: st.length === 0 ? [] : st[1] + }); + } else { + batchList.push({ + sql: st, + params: [] + }); + } + } + myfn = function(tx) { + var elem, k, len2, results; + results = []; + for (k = 0, len2 = batchList.length; k < len2; k++) { + elem = batchList[k]; + results.push(tx.addStatement(elem.sql, elem.params, null, null)); + } + return results; + }; + this.addTransaction(new SQLitePluginTransaction(this, myfn, error, success, true, false)); + }; + + SQLitePluginTransaction = function(db, fn, error, success, txlock, readOnly) { + if (typeof fn !== "function") { + + /* + This is consistent with the implementation in Chrome -- it + throws if you pass anything other than a function. This also + prevents us from stalling our txQueue if somebody passes a + false value for fn. + */ + throw newSQLError("transaction expected a function"); + } + this.db = db; + this.fn = fn; + this.error = error; + this.success = success; + this.txlock = txlock; + this.readOnly = readOnly; + this.executes = []; + if (txlock) { + this.addStatement("BEGIN", [], null, function(tx, err) { + throw newSQLError("unable to begin transaction: " + err.message, err.code); + }); + } else { + this.addStatement("SELECT 1", [], null, null); + } + }; + + SQLitePluginTransaction.prototype.start = function() { + var err; + try { + this.fn(this); + this.run(); + } catch (error1) { + err = error1; + txLocks[this.db.dbname].inProgress = false; + this.db.startNextTransaction(); + if (this.error) { + this.error(newSQLError(err)); + } + } + }; + + SQLitePluginTransaction.prototype.executeSql = function(sql, values, success, error) { + if (this.finalized) { + throw { + message: 'InvalidStateError: DOM Exception 11: This transaction is already finalized. Transactions are committed after its success or failure handlers are called. If you are using a Promise to handle callbacks, be aware that implementations following the A+ standard adhere to run-to-completion semantics and so Promise resolution occurs on a subsequent tick and therefore after the transaction commits.', + code: 11 + }; + return; + } + if (this.readOnly && READ_ONLY_REGEX.test(sql)) { + this.handleStatementFailure(error, { + message: 'invalid sql for a read-only transaction' + }); + return; + } + this.addStatement(sql, values, success, error); + }; + + SQLitePluginTransaction.prototype.addStatement = function(sql, values, success, error) { + var j, len1, params, sqlStatement, t, v; + sqlStatement = typeof sql === 'string' ? sql : sql.toString(); + params = []; + if (!!values && values.constructor === Array) { + for (j = 0, len1 = values.length; j < len1; j++) { + v = values[j]; + t = typeof v; + params.push((v === null || v === void 0 ? null : t === 'number' || t === 'string' ? v : v.toString())); + } + } + this.executes.push({ + success: success, + error: error, + sql: sqlStatement, + params: params + }); + }; + + SQLitePluginTransaction.prototype.handleStatementSuccess = function(handler, response) { + var payload, rows; + if (!handler) { + return; + } + rows = response.rows || []; + payload = { + rows: { + item: function(i) { + return rows[i]; + }, + length: rows.length + }, + rowsAffected: response.rowsAffected || 0, + insertId: response.insertId || void 0 + }; + handler(this, payload); + }; + + SQLitePluginTransaction.prototype.handleStatementFailure = function(handler, response) { + if (!handler) { + throw newSQLError("a statement with no error handler failed: " + response.message, response.code); + } + if (handler(this, response) !== false) { + throw newSQLError("a statement error callback did not return false: " + response.message, response.code); + } + }; + + SQLitePluginTransaction.prototype.run = function() { + var batchExecutes, handlerFor, i, mycb, mycbmap, request, tropts, tx, txFailure, waiting; + txFailure = null; + tropts = []; + batchExecutes = this.executes; + waiting = batchExecutes.length; + this.executes = []; + tx = this; + handlerFor = function(index, didSucceed) { + return function(response) { + var err; + if (!txFailure) { + try { + if (didSucceed) { + tx.handleStatementSuccess(batchExecutes[index].success, response); + } else { + tx.handleStatementFailure(batchExecutes[index].error, newSQLError(response)); + } + } catch (error1) { + err = error1; + txFailure = newSQLError(err); + } + } + if (--waiting === 0) { + if (txFailure) { + tx.executes = []; + tx.abort(txFailure); + } else if (tx.executes.length > 0) { + tx.run(); + } else { + tx.finish(); + } + } + }; + }; + mycbmap = {}; + i = 0; + while (i < batchExecutes.length) { + request = batchExecutes[i]; + mycbmap[i] = { + success: handlerFor(i, true), + error: handlerFor(i, false) + }; + tropts.push({ + qid: null, + sql: request.sql, + params: request.params + }); + i++; + } + mycb = function(result) { + var j, q, r, ref, res, resultIndex, type; + for (resultIndex = j = 0, ref = result.length - 1; 0 <= ref ? j <= ref : j >= ref; resultIndex = 0 <= ref ? ++j : --j) { + r = result[resultIndex]; + type = r.type; + res = r.result; + q = mycbmap[resultIndex]; + if (q) { + if (q[type]) { + q[type](res); + } + } + } + }; + cordova.exec(mycb, null, "SQLitePlugin", "backgroundExecuteSqlBatch", [ + { + dbargs: { + dbname: this.db.dbname + }, + executes: tropts + } + ]); + }; + + SQLitePluginTransaction.prototype.abort = function(txFailure) { + var failed, succeeded, tx; + if (this.finalized) { + return; + } + tx = this; + succeeded = function(tx) { + txLocks[tx.db.dbname].inProgress = false; + tx.db.startNextTransaction(); + if (tx.error && typeof tx.error === 'function') { + tx.error(txFailure); + } + }; + failed = function(tx, err) { + txLocks[tx.db.dbname].inProgress = false; + tx.db.startNextTransaction(); + if (tx.error && typeof tx.error === 'function') { + tx.error(newSQLError('error while trying to roll back: ' + err.message, err.code)); + } + }; + this.finalized = true; + if (this.txlock) { + this.addStatement("ROLLBACK", [], succeeded, failed); + this.run(); + } else { + succeeded(tx); + } + }; + + SQLitePluginTransaction.prototype.finish = function() { + var failed, succeeded, tx; + if (this.finalized) { + return; + } + tx = this; + succeeded = function(tx) { + txLocks[tx.db.dbname].inProgress = false; + tx.db.startNextTransaction(); + if (tx.success && typeof tx.success === 'function') { + tx.success(); + } + }; + failed = function(tx, err) { + txLocks[tx.db.dbname].inProgress = false; + tx.db.startNextTransaction(); + if (tx.error && typeof tx.error === 'function') { + tx.error(newSQLError('error while trying to commit: ' + err.message, err.code)); + } + }; + this.finalized = true; + if (this.txlock) { + this.addStatement("COMMIT", [], succeeded, failed); + this.run(); + } else { + succeeded(tx); + } + }; + + SQLitePluginTransaction.prototype.abortFromQ = function(sqlerror) { + if (this.error) { + this.error(sqlerror); + } + }; + + dblocations = ["docs", "libs", "nosync"]; + + iosLocationMap = { + 'default': 'nosync', + 'Documents': 'docs', + 'Library': 'libs' + }; + + SQLiteFactory = { + + /* + NOTE: this function should NOT be translated from Javascript + back to CoffeeScript by js2coffee. + If this function is edited in Javascript then someone will + have to translate it back to CoffeeScript by hand. + */ + openDatabase: argsArray(function(args) { + var dblocation, errorcb, okcb, openargs; + if (args.length < 1 || !args[0]) { + throw newSQLError('Sorry missing mandatory open arguments object in openDatabase call'); + } + if (args[0].constructor === String) { + throw newSQLError('Sorry first openDatabase argument must be an object'); + } + openargs = args[0]; + if (!openargs.name) { + throw newSQLError('Database name value is missing in openDatabase call'); + } + if (!openargs.iosDatabaseLocation && !openargs.location && openargs.location !== 0) { + throw newSQLError('Database location or iosDatabaseLocation setting is now mandatory in openDatabase call.'); + } + if (!!openargs.location && !!openargs.iosDatabaseLocation) { + throw newSQLError('AMBIGUOUS: both location and iosDatabaseLocation settings are present in openDatabase call. Please use either setting, not both.'); + } + dblocation = !!openargs.location && openargs.location === 'default' ? iosLocationMap['default'] : !!openargs.iosDatabaseLocation ? iosLocationMap[openargs.iosDatabaseLocation] : dblocations[openargs.location]; + if (!dblocation) { + throw newSQLError('Valid iOS database location could not be determined in openDatabase call'); + } + openargs.dblocation = dblocation; + if (!!openargs.createFromLocation && openargs.createFromLocation === 1) { + openargs.createFromResource = "1"; + } + if (!!openargs.androidDatabaseProvider && !!openargs.androidDatabaseImplementation) { + throw newSQLError('AMBIGUOUS: both androidDatabaseProvider and deprecated androidDatabaseImplementation settings are present in openDatabase call. Please drop androidDatabaseImplementation in favor of androidDatabaseProvider.'); + } + if (openargs.androidDatabaseProvider !== void 0 && openargs.androidDatabaseProvider !== 'default' && openargs.androidDatabaseProvider !== 'system') { + throw newSQLError("Incorrect androidDatabaseProvider value. Valid values are: 'default', 'system'"); + } + if (!!openargs.androidDatabaseProvider && openargs.androidDatabaseProvider === 'system') { + openargs.androidOldDatabaseImplementation = 1; + } + if (!!openargs.androidDatabaseImplementation && openargs.androidDatabaseImplementation === 2) { + openargs.androidOldDatabaseImplementation = 1; + } + if (!!openargs.androidLockWorkaround && openargs.androidLockWorkaround === 1) { + openargs.androidBugWorkaround = 1; + } + okcb = null; + errorcb = null; + if (args.length >= 2) { + okcb = args[1]; + if (args.length > 2) { + errorcb = args[2]; + } + } + return new SQLitePlugin(openargs, okcb, errorcb); + }), + deleteDatabase: function(first, success, error) { + var args, dblocation, dbname; + args = {}; + if (first.constructor === String) { + throw newSQLError('Sorry first deleteDatabase argument must be an object'); + } else { + if (!(first && first['name'])) { + throw new Error("Please specify db name"); + } + dbname = first.name; + if (typeof dbname !== 'string') { + throw newSQLError('delete database name must be a string'); + } + args.path = dbname; + } + if (!first.iosDatabaseLocation && !first.location && first.location !== 0) { + throw newSQLError('Database location or iosDatabaseLocation setting is now mandatory in deleteDatabase call.'); + } + if (!!first.location && !!first.iosDatabaseLocation) { + throw newSQLError('AMBIGUOUS: both location and iosDatabaseLocation settings are present in deleteDatabase call. Please use either setting value, not both.'); + } + dblocation = !!first.location && first.location === 'default' ? iosLocationMap['default'] : !!first.iosDatabaseLocation ? iosLocationMap[first.iosDatabaseLocation] : dblocations[first.location]; + if (!dblocation) { + throw newSQLError('Valid iOS database location could not be determined in deleteDatabase call'); + } + args.dblocation = dblocation; + delete SQLitePlugin.prototype.openDBs[args.path]; + return cordova.exec(success, error, "SQLitePlugin", "delete", [args]); + } + }; + + SelfTest = { + DBNAME: '___$$$___litehelpers___$$$___test___$$$___.db', + start: function(successcb, errorcb) { + SQLiteFactory.deleteDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, (function() { + return SelfTest.step1(successcb, errorcb); + }), (function() { + return SelfTest.step1(successcb, errorcb); + })); + }, + step1: function(successcb, errorcb) { + SQLiteFactory.openDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, function(db) { + var check1; + check1 = false; + db.transaction(function(tx) { + tx.executeSql('SELECT UPPER("Test") AS upperText', [], function(ignored, resutSet) { + if (!resutSet.rows) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows'); + } + if (!resutSet.rows.length) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.length'); + } + if (resutSet.rows.length !== 1) { + return SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.length value: " + resutSet.rows.length + " (expected: 1)"); + } + if (!resutSet.rows.item(0).upperText) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.item(0).upperText'); + } + if (resutSet.rows.item(0).upperText !== 'TEST') { + return SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.item(0).upperText value: " + (resutSet.rows.item(0).upperText) + " (expected: 'TEST')"); + } + check1 = true; + }, function(ignored, tx_sql_err) { + return SelfTest.finishWithError(errorcb, "TX SQL error: " + tx_sql_err); + }); + }, function(tx_err) { + return SelfTest.finishWithError(errorcb, "TRANSACTION error: " + tx_err); + }, function() { + if (!check1) { + return SelfTest.finishWithError(errorcb, 'Did not get expected upperText result data'); + } + db.executeSql('BEGIN', null, function(ignored) { + return nextTick(function() { + delete db.openDBs[SelfTest.DBNAME]; + delete txLocks[SelfTest.DBNAME]; + nextTick(function() { + db.transaction(function(tx2) { + tx2.executeSql('SELECT 1'); + }, function(tx_err) { + if (!tx_err) { + return SelfTest.finishWithError(errorcb, 'Missing error object'); + } + SelfTest.step2(successcb, errorcb); + }, function() { + return SelfTest.finishWithError(errorcb, 'Missing error object'); + }); + }); + }); + }); + }); + }, function(open_err) { + return SelfTest.finishWithError(errorcb, "Open database error: " + open_err); + }); + }, + step2: function(successcb, errorcb) { + SQLiteFactory.openDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, function(db) { + db.transaction(function(tx) { + tx.executeSql('SELECT ? AS myResult', [null], function(ignored, resutSet) { + if (!resutSet.rows) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows'); + } + if (!resutSet.rows.length) { + return SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.length'); + } + if (resutSet.rows.length !== 1) { + return SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.length value: " + resutSet.rows.length + " (expected: 1)"); + } + SelfTest.step3(successcb, errorcb); + }); + }, function(txError) { + return SelfTest.finishWithError(errorcb, "UNEXPECTED TRANSACTION ERROR: " + txError); + }); + }, function(open_err) { + return SelfTest.finishWithError(errorcb, "Open database error: " + open_err); + }); + }, + step3: function(successcb, errorcb) { + SQLiteFactory.openDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, function(db) { + return db.sqlBatch(['CREATE TABLE TestTable(id integer primary key autoincrement unique, data);', ['INSERT INTO TestTable (data) VALUES (?);', ['test-value']]], function() { + var firstid; + firstid = -1; + return db.executeSql('SELECT id, data FROM TestTable', [], function(resutSet) { + if (!resutSet.rows) { + SelfTest.finishWithError(errorcb, 'Missing resutSet.rows'); + return; + } + if (!resutSet.rows.length) { + SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.length'); + return; + } + if (resutSet.rows.length !== 1) { + SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.length value: " + resutSet.rows.length + " (expected: 1)"); + return; + } + if (resutSet.rows.item(0).id === void 0) { + SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.item(0).id'); + return; + } + firstid = resutSet.rows.item(0).id; + if (!resutSet.rows.item(0).data) { + SelfTest.finishWithError(errorcb, 'Missing resutSet.rows.item(0).data'); + return; + } + if (resutSet.rows.item(0).data !== 'test-value') { + SelfTest.finishWithError(errorcb, "Incorrect resutSet.rows.item(0).data value: " + (resutSet.rows.item(0).data) + " (expected: 'test-value')"); + return; + } + return db.transaction(function(tx) { + return tx.executeSql('UPDATE TestTable SET data = ?', ['new-value']); + }, function(tx_err) { + return SelfTest.finishWithError(errorcb, "UPDATE transaction error: " + tx_err); + }, function() { + var readTransactionFinished; + readTransactionFinished = false; + return db.readTransaction(function(tx2) { + return tx2.executeSql('SELECT id, data FROM TestTable', [], function(ignored, resutSet2) { + if (!resutSet2.rows) { + throw newSQLError('Missing resutSet2.rows'); + } + if (!resutSet2.rows.length) { + throw newSQLError('Missing resutSet2.rows.length'); + } + if (resutSet2.rows.length !== 1) { + throw newSQLError("Incorrect resutSet2.rows.length value: " + resutSet2.rows.length + " (expected: 1)"); + } + if (!resutSet2.rows.item(0).id) { + throw newSQLError('Missing resutSet2.rows.item(0).id'); + } + if (resutSet2.rows.item(0).id !== firstid) { + throw newSQLError("resutSet2.rows.item(0).id value " + (resutSet2.rows.item(0).id) + " does not match previous primary key id value (" + firstid + ")"); + } + if (!resutSet2.rows.item(0).data) { + throw newSQLError('Missing resutSet2.rows.item(0).data'); + } + if (resutSet2.rows.item(0).data !== 'new-value') { + throw newSQLError("Incorrect resutSet2.rows.item(0).data value: " + (resutSet2.rows.item(0).data) + " (expected: 'test-value')"); + } + return readTransactionFinished = true; + }); + }, function(tx2_err) { + return SelfTest.finishWithError(errorcb, "readTransaction error: " + tx2_err); + }, function() { + if (!readTransactionFinished) { + SelfTest.finishWithError(errorcb, 'readTransaction did not finish'); + return; + } + return db.transaction(function(tx3) { + tx3.executeSql('DELETE FROM TestTable'); + return tx3.executeSql('INSERT INTO TestTable (data) VALUES(?)', [123]); + }, function(tx3_err) { + return SelfTest.finishWithError(errorcb, "DELETE transaction error: " + tx3_err); + }, function() { + var secondReadTransactionFinished; + secondReadTransactionFinished = false; + return db.readTransaction(function(tx4) { + return tx4.executeSql('SELECT id, data FROM TestTable', [], function(ignored, resutSet3) { + if (!resutSet3.rows) { + throw newSQLError('Missing resutSet3.rows'); + } + if (!resutSet3.rows.length) { + throw newSQLError('Missing resutSet3.rows.length'); + } + if (resutSet3.rows.length !== 1) { + throw newSQLError("Incorrect resutSet3.rows.length value: " + resutSet3.rows.length + " (expected: 1)"); + } + if (!resutSet3.rows.item(0).id) { + throw newSQLError('Missing resutSet3.rows.item(0).id'); + } + if (resutSet3.rows.item(0).id === firstid) { + throw newSQLError("resutSet3.rows.item(0).id value " + (resutSet3.rows.item(0).id) + " incorrectly matches previous unique key id value value (" + firstid + ")"); + } + if (!resutSet3.rows.item(0).data) { + throw newSQLError('Missing resutSet3.rows.item(0).data'); + } + if (resutSet3.rows.item(0).data !== 123) { + throw newSQLError("Incorrect resutSet3.rows.item(0).data value: " + (resutSet3.rows.item(0).data) + " (expected 123)"); + } + return secondReadTransactionFinished = true; + }); + }, function(tx4_err) { + return SelfTest.finishWithError(errorcb, "second readTransaction error: " + tx4_err); + }, function() { + if (!secondReadTransactionFinished) { + SelfTest.finishWithError(errorcb, 'second readTransaction did not finish'); + return; + } + db.close(function() { + SelfTest.cleanupAndFinish(successcb, errorcb); + }, function(close_err) { + SelfTest.finishWithError(errorcb, "close error: " + close_err); + }); + }); + }); + }); + }); + }, function(select_err) { + return SelfTest.finishWithError(errorcb, "SELECT error: " + select_err); + }); + }, function(batch_err) { + return SelfTest.finishWithError(errorcb, "sql batch error: " + batch_err); + }); + }, function(open_err) { + return SelfTest.finishWithError(errorcb, "Open database error: " + open_err); + }); + }, + cleanupAndFinish: function(successcb, errorcb) { + SQLiteFactory.deleteDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, successcb, function(cleanup_err) { + SelfTest.finishWithError(errorcb, "CLEANUP DELETE ERROR: " + cleanup_err); + }); + }, + finishWithError: function(errorcb, message) { + console.log("selfTest ERROR with message: " + message); + SQLiteFactory.deleteDatabase({ + name: SelfTest.DBNAME, + location: 'default' + }, function() { + errorcb(newSQLError(message)); + }, function(err2) { + console.log("selfTest CLEANUP DELETE ERROR " + err2); + errorcb(newSQLError("CLEANUP DELETE ERROR: " + err2 + " for error: " + message)); + }); + } + }; + + root.sqlitePlugin = { + sqliteFeatures: { + isSQLitePlugin: true + }, + echoTest: function(okcb, errorcb) { + var error, ok; + ok = function(s) { + if (s === 'test-string') { + return okcb(); + } else { + return errorcb("Mismatch: got: '" + s + "' expected 'test-string'"); + } + }; + error = function(e) { + return errorcb(e); + }; + return cordova.exec(ok, error, "SQLitePlugin", "echoStringValue", [ + { + value: 'test-string' + } + ]); + }, + selfTest: SelfTest.start, + openDatabase: SQLiteFactory.openDatabase, + deleteDatabase: SQLiteFactory.deleteDatabase + }; + +}).call(this); + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/android/launchnavigator.js b/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/android/launchnavigator.js new file mode 100644 index 00000000..50c7e7db --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/android/launchnavigator.js @@ -0,0 +1,328 @@ +cordova.define("uk.co.workingedge.phonegap.plugin.launchnavigator.LaunchNavigator", function(require, exports, module) { +/* + * Copyright (c) 2014 Dave Alden (http://github.com/dpa99c) + * Copyright (c) 2014 Working Edge Ltd. (http://www.workingedge.co.uk) + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +var ln = {}, + common = launchnavigator; + +/** + * Launch modes supported by Google Maps on Android + * @type {object} + */ +ln.LAUNCH_MODE = { + MAPS: "maps", + TURN_BY_TURN: "turn-by-turn", + GEO: "geo" +}; + +// Add the Android-specific option to pass in for geo: protocol, letting the native app chooser decide. +common.APP.GEO = "geo"; +common.SUPPORTS_DEST_NAME[common.PLATFORM.ANDROID].push(common.APP.GEO); +common.APPS_BY_PLATFORM[common.PLATFORM.ANDROID].splice(1, 0, common.APP.GEO); //insert at [1] below [User select] +common.APP_NAMES[common.APP.GEO] = "[Geo intent chooser]"; + +// Add apps that support the geo: protocol +function onDiscoverSupportedApps(supportedApps){ + for(var appName in supportedApps){ + var packageName = supportedApps[appName]; + common.APP[appName.toUpperCase().replace(" ","_")] = packageName; + common.APP_NAMES[packageName] = appName; + common.APPS_BY_PLATFORM[common.PLATFORM.ANDROID].push(packageName); + common.SUPPORTS_DEST_NAME[common.PLATFORM.ANDROID].push(packageName); + } +} + +function onDiscoverSupportedAppsError(error){ + console.error("Error discovering list of supported apps: "+error); +} + +/** + * Returns a list indicating which apps are installed and available on the current device. + * @param {function} success - callback to invoke on successful determination of availability. Will be passed a key/value object where the key is the app name and the value is a boolean indicating whether the app is available. + * @param {function} error - callback to invoke on error while determining availability. Will be passed a single string argument containing the error message. + */ +ln.availableApps = function(success, error){ + cordova.exec( + success, + error, + 'LaunchNavigator', + 'availableApps', + [] + ); +}; + +/** + * Determines if the given app is installed and available on the current device. + * @param {string} appName - name of the app to check availability for. Define as a constant using ln.APP + * @param {function} success - callback to invoke on successful determination of availability. Will be passed a single boolean argument indicating the availability of the app. + * @param {function} error - callback to invoke on error while determining availability. Will be passed a single string argument containing the error message. + */ +ln.isAppAvailable = function(appName, success, error){ + common.util.validateApp(appName); + cordova.exec(function(result){ + success(!!result); + }, error, 'LaunchNavigator', 'isAppAvailable', [appName]); +}; + +/** + * Opens navigator app to navigate to given destination, specified by either place name or lat/lon. + * If a start location is not also specified, current location will be used for the start. + * + * @param {string/number[]} destination (required) - destination location to use for navigation. + * Either: + * - a {string} containing the address. e.g. "Buckingham Palace, London" + * - an {array}, where the first element is the latitude and the second element is a longitude, as decimal numbers. e.g. [50.1, -4.0] + * + * @param {object} options (optional) - optional parameters: + * + * - {function} successCallback - A callback to invoke when the navigation app is successfully launched. + * + * - {function} errorCallback - A callback to invoke if an error is encountered while launching the app. + * A single string argument containing the error message will be passed in. + * + * - {string} app - navigation app to use for directions, as a constant. e.g. launchnavigator.APP.GOOGLE_MAPS + * If not specified, defaults to user selection via native picker UI. + * + * - {string} destinationName - nickname to display in app for destination. e.g. "Bob's House". + * + * - {mixed} start - start location to use for navigation. If not specified, the current location of the device will be used. + * Either: + * - a {string} containing the address. e.g. "Buckingham Palace, London" + * - a {string} containing a latitude/longitude coordinate. e.g. "50.1. -4.0" + * - an {array}, where the first element is the latitude and the second element is a longitude, as decimal numbers. e.g. [50.1, -4.0] + * + * - {string} startName - nickname to display in app for start. e.g. "My Place". + * + * - {string} transportMode - transportation mode for navigation. + * Can only be specified if navigationMode == "turn-by-turn". + * Accepted values are "driving", "walking", "bicycling" or "transit". + * Defaults to "driving" if not specified. + * + * - {string} launchModeGoogleMaps - mode in which to open Google Maps app: + * - `launchnavigator.LAUNCH_MODE.MAPS` or `launchnavigator.LAUNCH_MODE.TURN_BY_TURN` + * - Defaults to `launchnavigator.LAUNCH_MODE.MAPS` if not specified. + * + * - {boolean} enableDebug - if true, debug log output will be generated by the plugin. Defaults to false. + * + * - {object} extras - a key/value map of extra app-specific parameters. For example, to tell Google Maps to display Satellite view in "maps" launch mode: `{"t": "k"}` + * + * - {string} appSelectionDialogHeader - text to display in the native picker which enables user to select which navigation app to launch. + * Defaults to "Select app for navigation" if not specified. + * + * - {string} appSelectionCancelButton - text to display for the cancel button in the native picker which enables user to select which navigation app to launch. + * Defaults to "Cancel" if not specified. + * + * - {array} appSelectionList - list of apps, defined as `launchnavigator.APP` constants, which should be displayed in the picker if the app is available. + * This can be used to restrict which apps are displayed, even if they are installed. By default, all available apps will be displayed. + * + * - {boolean} enableGeocoding - if true, and input location type(s) doesn't match those required by the app, use geocoding to obtain the address/coords as required. Defaults to true. + */ +ln.navigate = function(destination, options) { + options = common.util.conformNavigateOptions(arguments); + + var dType, sType = "none"; + + // Input validation + var throwError = function(errMsg){ + if(options.errorCallback){ + options.errorCallback(errMsg); + } + throw new Error(errMsg); + }; + + if(!destination){ + throwError("No destination was specified"); + } + + if(options.extras && typeof options.extras !== "object"){ + throwError("'options.extras' must be a key/value object"); + } + + options.app = options.app || common.APP.USER_SELECT; + options.enableGeocoding = typeof options.enableGeocoding !== "undefined" ? options.enableGeocoding : true; + + // If app is user-selection + if(options.app === common.APP.USER_SELECT){ + // Invoke user-selection UI and return (as it will re-invoke this method) + return common.userSelect(destination, options); + } + + destination = common.util.extractCoordsFromLocationString(destination); + if(typeof(destination) === "object"){ + if(typeof destination.length === "undefined") throw "destination must be a string or an array"; + dType = "pos"; + }else{ + dType = "name"; + } + if(options.start){ + options.start = common.util.extractCoordsFromLocationString(options.start); + if(typeof(options.start) === "object"){ + if(typeof options.start.length === "undefined") throw "start must be a string or an array"; + sType = "pos"; + }else{ + sType = "name"; + } + } + + var transportMode = null; + if(options.transportMode){ + common.util.validateTransportMode(options.transportMode); + transportMode = options.transportMode.charAt(0); + } + + // Default to Google Maps if not specified + if(!options.app) options.app = common.APP.GOOGLE_MAPS; + common.util.validateApp(options.app); + + if(!options.launchModeGoogleMaps) options.launchModeGoogleMaps = ln.LAUNCH_MODE.MAPS; + common.util.validateLaunchMode(options.launchModeGoogleMaps); + + if(options.extras) options.extras = JSON.stringify(options.extras); + + cordova.exec( + options.successCallback, + options.errorCallback, + 'LaunchNavigator', + 'navigate', + [ + options.app, + dType, + destination, + options.destinationName, + sType, + options.start, + options.startName, + transportMode, + options.launchModeGoogleMaps, + options.enableDebug || false, + options.extras, + options.enableGeocoding + ] + ); +}; + +/***************************** + * Platform-specific overrides + *****************************/ + + +/** + * Indicates if an app on a given platform supports specification of transport mode. + * Android-specific implementation supports additional specification of launch mode. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @param {string} launchMode (optional) - only applies to Google Maps on Android. Specified as a constant in `launchnavigator.LAUNCH_MODE`. e.g. `launchnavigator.LAUNCH_MODE.MAPS`. + * @return {boolean} - true if app/platform combination supports specification of transport mode. + */ +ln.supportsTransportMode = function(app, platform, launchMode){ + common.util.validateApp(app); + common.util.validatePlatform(platform); + + var result; + if(launchMode && platform === common.PLATFORM.ANDROID && app === common.APP.GOOGLE_MAPS){ + common.util.validateLaunchMode(launchMode); + result = launchMode === ln.LAUNCH_MODE.TURN_BY_TURN; + }else{ + result = common._supportsTransportMode(app, platform); + } + return result; +}; +common._supportsTransportMode = common.supportsTransportMode; + +/** + * Returns the list of transport modes supported by an app on a given platform. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @param {string} launchMode (optional) - only applies to Google Maps on Android. Specified as a constant in `launchnavigator.LAUNCH_MODE`. e.g. `launchnavigator.LAUNCH_MODE.MAPS`. + * @return {string[]} - list of transports modes as constants in `launchnavigator.TRANSPORT_MODE`. + * If app/platform combination doesn't support specification of transport mode, the list will be empty; + */ +ln.getTransportModes = function(app, platform, launchMode){ + if(ln.supportsTransportMode(app, platform, launchMode)){ + return common.TRANSPORT_MODES[platform][app]; + } + return []; +}; + +/** + * Indicates if an app on a given platform supports specification of start location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @param {string} launchMode (optional) - only applies to Google Maps on Android. Specified as a constant in `launchnavigator.LAUNCH_MODE`. e.g. `launchnavigator.LAUNCH_MODE.MAPS`. + * @return {boolean} - true if app/platform combination supports specification of start location. + */ +ln.supportsStart = function(app, platform, launchMode){ + common.util.validateApp(app); + common.util.validatePlatform(platform); + + var result; + if(launchMode && platform === common.PLATFORM.ANDROID && app === common.APP.GOOGLE_MAPS){ + common.util.validateLaunchMode(launchMode); + result = launchMode === ln.LAUNCH_MODE.MAPS; + }else{ + result = common._supportsStart(app, platform); + } + return result; +}; +common._supportsStart = common.supportsStart; + +/** + * Indicates if an app on a given platform supports specification of a custom nickname for destination location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @param {string} launchMode (optional) - only applies to Google Maps on Android. Specified as a constant in `launchnavigator.LAUNCH_MODE`. e.g. `launchnavigator.LAUNCH_MODE.MAPS`. + * @return {boolean} - true if app/platform combination supports specification of destination location. + */ +ln.supportsDestName = function(app, platform, launchMode){ + common.util.validateApp(app); + common.util.validatePlatform(platform); + if(launchMode && platform === common.PLATFORM.ANDROID && app === common.APP.GOOGLE_MAPS){ + common.util.validateLaunchMode(launchMode); + result = launchMode === ln.LAUNCH_MODE.GEO; + }else{ + result = common._supportsDestName(app, platform); + } + return result; +}; +common._supportsDestName = common.supportsDestName; + + +/************ + * Bootstrap + ************/ + +// Discover supported apps +cordova.exec( + onDiscoverSupportedApps, + onDiscoverSupportedAppsError, + 'LaunchNavigator', + 'discoverSupportedApps', + [] +); + +module.exports = ln; +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/common.js b/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/common.js new file mode 100644 index 00000000..bbf2d16a --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/common.js @@ -0,0 +1,866 @@ +cordova.define("uk.co.workingedge.phonegap.plugin.launchnavigator.Common", function(require, exports, module) { +/* + * Copyright (c) 2014 Dave Alden (http://github.com/dpa99c) + * Copyright (c) 2014 Working Edge Ltd. (http://www.workingedge.co.uk) + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + + +var ln = {}; + +/********************* + * Internal properties + *********************/ + +var DEFAULT_appSelectionDialogHeaderText = "Select app for navigation", + DEFAULT_appSelectionCancelButtonText = "Cancel", + DEFAULT_rememberChoicePromptDialogHeaderText = "Remember your choice?", + DEFAULT_rememberChoicePromptDialogBodyText = "Use the same app for navigating next time?", + DEFAULT_rememberChoicePromptDialogYesButtonText = "Yes", + DEFAULT_rememberChoicePromptDialogNoButtonText = "No"; + +var store; + +var emptyFn = function(){}; + +/******************** + * Internal functions + ********************/ + +var ensureStore = function(){ + store = localforage.createInstance({ + name: "launchnavigator" + }); +}; + +var setItem = function(key, value, callback){ + ensureStore(); + return store.setItem(key, value, callback); +}; + +var getItem = function(key, callback){ + ensureStore(); + return store.getItem(key, function(err, value){ + callback(value); + }); +}; + +var removeItem = function(key, callback){ + ensureStore(); + return store.removeItem(key, callback); +}; + +var itemExists = function(key, callback){ + ensureStore(); + return store.getItem(key, function(err, value){ + callback(value !== null); + }); +}; + +/****************** + * Public Constants + ******************/ + +/** + * Supported platforms + * @type {object} + */ +ln.PLATFORM = { + ANDROID: "android", + IOS: "ios", + WINDOWS: "windows" +}; + +/** + * string constants, used to identify apps in native code + * @type {object} + */ +ln.APP = { + USER_SELECT: "user_select", + APPLE_MAPS: "apple_maps", + GOOGLE_MAPS: "google_maps", + WAZE: "waze", + CITYMAPPER: "citymapper", + NAVIGON: "navigon", + TRANSIT_APP: "transit_app", + YANDEX: "yandex", + UBER: "uber", + TOMTOM: "tomtom", + BING_MAPS: "bing_maps", + SYGIC: "sygic", + HERE_MAPS: "here_maps", + MOOVIT: "moovit", + LYFT: "lyft", + MAPS_ME: "maps_me", + CABIFY: "cabify", + BAIDU: "baidu", + TAXIS_99: "taxis_99", + GAODE: "gaode" +}; + +/** + * Explicitly supported apps by platform + * @type {object} + */ +ln.APPS_BY_PLATFORM = {}; +ln.APPS_BY_PLATFORM[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.GOOGLE_MAPS, + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.WAZE, + ln.APP.YANDEX, + ln.APP.SYGIC, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.LYFT, + ln.APP.MAPS_ME, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.APPS_BY_PLATFORM[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS, + ln.APP.GOOGLE_MAPS, + ln.APP.WAZE, + ln.APP.CITYMAPPER, + ln.APP.NAVIGON, + ln.APP.TRANSIT_APP, + ln.APP.YANDEX, + ln.APP.UBER, + ln.APP.TOMTOM, + ln.APP.SYGIC, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.LYFT, + ln.APP.MAPS_ME, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.APPS_BY_PLATFORM[ln.PLATFORM.WINDOWS] = [ + ln.APP.BING_MAPS +]; + +/** + * Stock maps app that is always present on each platform + * @type {object} + */ +ln.STOCK_APP = {}; +ln.STOCK_APP[ln.PLATFORM.ANDROID] = ln.APP.GOOGLE_MAPS; +ln.STOCK_APP[ln.PLATFORM.IOS] = ln.APP.APPLE_MAPS; +ln.STOCK_APP[ln.PLATFORM.WINDOWS] = ln.APP.BING_MAPS; + +/** + * Display names for supported apps + * @type {object} + */ +ln.APP_NAMES = {}; +ln.APP_NAMES[ln.APP.USER_SELECT] = "[User select]"; +ln.APP_NAMES[ln.APP.APPLE_MAPS] = "Apple Maps"; +ln.APP_NAMES[ln.APP.GOOGLE_MAPS] = "Google Maps"; +ln.APP_NAMES[ln.APP.WAZE] = "Waze"; +ln.APP_NAMES[ln.APP.CITYMAPPER] = "Citymapper"; +ln.APP_NAMES[ln.APP.NAVIGON] = "Navigon"; +ln.APP_NAMES[ln.APP.TRANSIT_APP] = "Transit App"; +ln.APP_NAMES[ln.APP.YANDEX] = "Yandex Navigator"; +ln.APP_NAMES[ln.APP.UBER] = "Uber"; +ln.APP_NAMES[ln.APP.TOMTOM] = "Tomtom"; +ln.APP_NAMES[ln.APP.BING_MAPS] = "Bing Maps"; +ln.APP_NAMES[ln.APP.SYGIC] = "Sygic"; +ln.APP_NAMES[ln.APP.HERE_MAPS] = "HERE Maps"; +ln.APP_NAMES[ln.APP.MOOVIT] = "Moovit"; +ln.APP_NAMES[ln.APP.LYFT] = "Lyft"; +ln.APP_NAMES[ln.APP.MAPS_ME] = "MAPS.ME"; +ln.APP_NAMES[ln.APP.CABIFY] = "Cabify"; +ln.APP_NAMES[ln.APP.BAIDU] = "Baidu Maps"; +ln.APP_NAMES[ln.APP.TAXIS_99] = "99 Taxi"; +ln.APP_NAMES[ln.APP.GAODE] = "Gaode Maps (Amap)"; + +/** + * All possible transport modes + * @type {object} + */ +ln.TRANSPORT_MODE = { + DRIVING: "driving", + WALKING: "walking", + BICYCLING: "bicycling", + TRANSIT: "transit" +}; + +/** + * Supported transport modes by apps and platform + * @type {object} + */ +ln.TRANSPORT_MODES = {}; +// Android +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID] = {}; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.USER_SELECT] = [ // Allow all + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.GOOGLE_MAPS] = [ // Only launchMode=turn-by-turn + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.SYGIC] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.MAPS_ME] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.BAIDU] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.ANDROID][ln.APP.GAODE] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; + +// Windows +ln.TRANSPORT_MODES[ln.PLATFORM.WINDOWS] = {}; +ln.TRANSPORT_MODES[ln.PLATFORM.WINDOWS][ln.APP.BING_MAPS] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.TRANSIT +]; + +// iOS +ln.TRANSPORT_MODES[ln.PLATFORM.IOS] = {}; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.USER_SELECT] = [ // Allow all + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.GOOGLE_MAPS] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.APPLE_MAPS] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.SYGIC] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.MAPS_ME] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.BAIDU] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; +ln.TRANSPORT_MODES[ln.PLATFORM.IOS][ln.APP.GAODE] = [ + ln.TRANSPORT_MODE.DRIVING, + ln.TRANSPORT_MODE.WALKING, + ln.TRANSPORT_MODE.BICYCLING, + ln.TRANSPORT_MODE.TRANSIT +]; + +/** + * Apps by platform that support specifying a start location + * @type {object} + */ +ln.SUPPORTS_START = {}; +ln.SUPPORTS_START[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.GOOGLE_MAPS, // Only launchMode=maps + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.YANDEX, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.LYFT, + ln.APP.MAPS_ME, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.SUPPORTS_START[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS, + ln.APP.GOOGLE_MAPS, + ln.APP.CITYMAPPER, + ln.APP.TRANSIT_APP, + ln.APP.YANDEX, + ln.APP.UBER, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.LYFT, + ln.APP.MAPS_ME, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.SUPPORTS_START[ln.PLATFORM.WINDOWS] = [ + ln.APP.BING_MAPS +]; + +/** + * Apps by platform that support specifying a start nickname + * @type {object} + */ +ln.SUPPORTS_START_NAME = {}; +ln.SUPPORTS_START_NAME[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.SUPPORTS_START_NAME[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS, // Only launchMode=mapkit + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; + +/** + * Apps by platform that support specifying a destination nickname + * @type {object} + */ +ln.SUPPORTS_DEST_NAME = {}; +ln.SUPPORTS_DEST_NAME[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.GOOGLE_MAPS, // only launchMode=geo + ln.APP.CITYMAPPER, + ln.APP.UBER, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; +ln.SUPPORTS_DEST_NAME[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS, // Only launchMode=mapkit + ln.APP.CITYMAPPER, + ln.APP.NAVIGON, + ln.APP.UBER, + ln.APP.TOMTOM, + ln.APP.HERE_MAPS, + ln.APP.MOOVIT, + ln.APP.CABIFY, + ln.APP.BAIDU, + ln.APP.TAXIS_99, + ln.APP.GAODE +]; + +/** + * Apps by platform that support specifying a launch mode + * @type {object} + */ +ln.SUPPORTS_LAUNCH_MODE = {}; +ln.SUPPORTS_LAUNCH_MODE[ln.PLATFORM.ANDROID] = [ + ln.APP.USER_SELECT, + ln.APP.GOOGLE_MAPS +]; +ln.SUPPORTS_LAUNCH_MODE[ln.PLATFORM.IOS] = [ + ln.APP.USER_SELECT, + ln.APP.APPLE_MAPS +]; + +ln.COORDS_REGEX = /^[-\d.]+,[\s]*[-\d.]+$/; + + + +/****************** + * Public API + ******************/ + +/** + * Returns the display name of the specified app. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @return {string} - app display name. e.g. "Google Maps". + */ +ln.getAppDisplayName = function(app){ + ln.util.validateApp(app); + return ln.APP_NAMES[app]; +}; + +/** + * Returns list of supported apps on a given platform. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {string[]} - apps supported on specified platform as a list of `launchnavigator.APP` constants. + */ +ln.getAppsForPlatform = function(platform){ + ln.util.validatePlatform(platform); + return ln.APPS_BY_PLATFORM[platform]; +}; + +/** + * Indicates if an app on a given platform supports specification of transport mode. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {boolean} - true if app/platform combination supports specification of transport mode. + */ +ln.supportsTransportMode = function(app, platform){ + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.TRANSPORT_MODES[platform] && ln.util.objectContainsKey(ln.TRANSPORT_MODES[platform], app); +}; + +/** + * Returns the list of transport modes supported by an app on a given platform. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {string[]} - list of transports modes as constants in `launchnavigator.TRANSPORT_MODE`. + * If app/platform combination doesn't support specification of transport mode, the list will be empty; + */ +ln.getTransportModes = function(app, platform){ + if(ln.supportsTransportMode(app, platform)){ + return ln.TRANSPORT_MODES[platform][app]; + } + return []; +}; + +/** + * Indicates if an app on a given platform supports specification of launch mode. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.ANDROID`. + * @return {boolean} - true if app/platform combination supports specification of transport mode. + */ +ln.supportsLaunchMode = function(app, platform) { + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.SUPPORTS_LAUNCH_MODE[platform] && ln.util.arrayContainsValue(ln.SUPPORTS_LAUNCH_MODE[platform], app); +}; + +/** + * Indicates if an app on a given platform supports specification of start location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {boolean} - true if app/platform combination supports specification of start location. + */ +ln.supportsStart = function(app, platform){ + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.SUPPORTS_START[platform] && ln.util.arrayContainsValue(ln.SUPPORTS_START[platform], app); +}; + +/** + * Indicates if an app on a given platform supports specification of a custom nickname for start location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {boolean} - true if app/platform combination supports specification of start location. + */ +ln.supportsStartName = function(app, platform){ + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.SUPPORTS_START_NAME[platform] && ln.util.arrayContainsValue(ln.SUPPORTS_START_NAME[platform], app); +}; + +/** + * Indicates if an app on a given platform supports specification of a custom nickname for destination location. + * @param {string} app - specified as a constant in `launchnavigator.APP`. e.g. `launchnavigator.APP.GOOGLE_MAPS`. + * @param {string} platform - specified as a constant in `launchnavigator.PLATFORM`. e.g. `launchnavigator.PLATFORM.IOS`. + * @return {boolean} - true if app/platform combination supports specification of destination location. + */ +ln.supportsDestName = function(app, platform){ + ln.util.validateApp(app); + ln.util.validatePlatform(platform); + return !!ln.SUPPORTS_DEST_NAME[platform] && ln.util.arrayContainsValue(ln.SUPPORTS_DEST_NAME[platform], app); +}; + + +/** + * + * @param {string/number[]} destination (required) - destination location to use for navigation - see launchnavigator.navigate() + * @param {object} [options={}] - optional parameters - see launchnavigator.navigate() + * @param {function} successCallback - function executed in case of success + * @param {function} errorCallback - function executed in case of error + */ +ln.userSelect = function(destination, options, successCallback, errorCallback){ + var userSelectDisplayed, app; + + options = options || {}; + options.errorCallback = options.errorCallback || errorCallback || emptyFn; + options.successCallback = options.successCallback || successCallback || emptyFn; + + // app selection + options.appSelection = options.appSelection || {}; + options.appSelection.dialogPositionX = options.appSelection.dialogPositionX || 550; + options.appSelection.dialogPositionY = options.appSelection.dialogPositionY || 500; + options.appSelection.callback = options.appSelection.callback || emptyFn; + options.appSelection.rememberChoice = options.appSelection.rememberChoice || {}; + options.appSelection.rememberChoice.enabled = typeof options.appSelection.rememberChoice.enabled !== "undefined" ? options.appSelection.rememberChoice.enabled : "prompt"; + options.appSelection.rememberChoice.prompt = options.appSelection.rememberChoice.prompt || {}; + options.appSelection.rememberChoice.prompt.callback = options.appSelection.rememberChoice.prompt.callback || emptyFn; + + var buttonList = [], buttonMap = {}; + + if(userSelectDisplayed) return; + + var launchApp = function(){ + options.app = app; + launchnavigator.navigate(destination, options); + }; + + var displayChooser = function(){ + userSelectDisplayed = true; + window.plugins.actionsheet.show({ + 'androidTheme': options.appSelection.androidTheme || window.plugins.actionsheet.ANDROID_THEMES.THEME_HOLO_LIGHT, + 'title': options.appSelection.dialogHeaderText || DEFAULT_appSelectionDialogHeaderText, + 'buttonLabels': buttonList, + 'androidEnableCancelButton' : true, // default false + //'winphoneEnableCancelButton' : true, // default false + 'addCancelButtonWithLabel': options.appSelection.cancelButtonText || DEFAULT_appSelectionCancelButtonText, + 'position': [options.appSelection.dialogPositionX, options.appSelection.dialogPositionY] // for iPad pass in the [x, y] position of the popover + }, onChooseApp); + }; + + var onChooseApp = function (btnNumber){ + userSelectDisplayed = false; + var idx = btnNumber - 1; + app = buttonMap[idx]; + if(app !== "cancel"){ + options.appSelection.callback(app); + if(options.appSelection.rememberChoice.enabled === true || options.appSelection.rememberChoice.enabled === "true"){ + rememberUserChoiceAndLaunch(); + }else if(options.appSelection.rememberChoice.enabled === false || options.appSelection.rememberChoice.enabled === "false"){ + // Don't remember, just launch app + launchApp(); + }else{ + // Default + checkIfAlreadyPrompted(); + } + } else { + options.errorCallback('cancelled'); + } + }; + + var rememberUserChoiceAndLaunch = function(){ + setItem("choice", app, function(){ + launchApp(); + }); + }; + + var checkForChoice = function(availableApps){ + getItem("choice", function(choice){ + if(choice){ + if(availableApps[choice]){ + app = choice; + launchApp(); + }else{ + // Chosen app is no longer available on device + ln.appSelection.userChoice.clear(function(){ + ln.appSelection.userPrompted.clear(function(){ + displayChooser(); + }); + }) + } + }else{ + displayChooser(); + } + }) + }; + + // Check if user has already been prompted whether to remember their choice + var checkIfAlreadyPrompted = function(){ + getItem("prompted", function(prompted){ + if(prompted){ + launchApp(); + }else{ + promptUser(); + } + }); + }; + + // Prompt user whether to remember their choice + var promptUser = function(){ + if(options.appSelection.rememberChoice.promptFn){ + options.appSelection.rememberChoice.promptFn(handleUserPromptChoice); + }else{ + // Show prompt using cordova dialogs + navigator.notification.confirm( + options.appSelection.rememberChoice.prompt.bodyText || DEFAULT_rememberChoicePromptDialogBodyText, + function(idx){ + handleUserPromptChoice(idx === 1); + }, + options.appSelection.rememberChoice.prompt.headerText || DEFAULT_rememberChoicePromptDialogHeaderText, + [ + options.appSelection.rememberChoice.prompt.yesButtonText || DEFAULT_rememberChoicePromptDialogYesButtonText, + options.appSelection.rememberChoice.prompt.noButtonText || DEFAULT_rememberChoicePromptDialogNoButtonText + ] + ); + } + }; + + var handleUserPromptChoice = function(shouldRemember){ + options.appSelection.rememberChoice.prompt.callback(shouldRemember); + setItem("prompted", true, function(){ + if(shouldRemember){ + rememberUserChoiceAndLaunch(); + }else{ + launchApp(); + } + }); + }; + + + // Get list of available apps + launchnavigator.availableApps(function(apps){ + for(var _app in apps){ + var isAvailable = apps[_app]; + if(!isAvailable) continue; + if(options.appSelection.list && options.appSelection.list.length > 0 && !ln.util.arrayContainsValue(options.appSelection.list, _app)) continue; + buttonList.push(ln.getAppDisplayName(_app)); + buttonMap[buttonList.length-1] = _app; + } + + if(buttonList.length === 0){ + return options.errorCallback("No supported navigation apps are available on the device"); + } + + if(buttonList.length === 1){ + app = buttonMap[0]; + return launchApp(); + } + + buttonMap[buttonList.length] = "cancel"; // Add an entry for cancel button + + // Check if a user choice exists + checkForChoice(apps); + + }, options.errorCallback); +}; + +/***************************** + * App selection API functions + *****************************/ +ln.appSelection = { + userChoice: {}, + userPrompted: {} +}; + +/** + * Indicates whether a user choice exists for a preferred navigator app. + * @param {function} cb - function to pass result to: will receive a boolean argument. + */ +ln.appSelection.userChoice.exists = function(cb){ + itemExists("choice", cb); +}; + +/** + * Returns current user choice of preferred navigator app. + * @param {function} cb - function to pass result to: will receive a string argument indicating the app, which is a constant in `launchnavigator.APP`. + * If no current choice exists, value will be null. + */ +ln.appSelection.userChoice.get = function(cb){ + getItem("choice", cb); +}; + +/** + * Sets the current user choice of preferred navigator app. + * @param {string} app - app to set as preferred choice as a constant in `launchnavigator.APP`. + * @param {function} cb - function to call once operation is complete. + */ +ln.appSelection.userChoice.set = function(app, cb){ + setItem("choice", app, cb); +}; + +/** + * Clears current user choice of preferred navigator app. + * @param {function} cb - function to call once operation is complete. + */ +ln.appSelection.userChoice.clear = function(cb){ + removeItem("choice", cb); +}; + +/** + * Indicates whether user has already been prompted whether to remember their choice a preferred navigator app. + * @param {function} cb - function to pass result to: will receive a boolean argument. + */ +ln.appSelection.userPrompted.get = function(cb){ + itemExists("prompted", cb); +}; + +/** + * Sets flag indicating user has already been prompted whether to remember their choice a preferred navigator app. + * @param {function} cb - function to call once operation is complete. + */ +ln.appSelection.userPrompted.set = function(cb){ + setItem("prompted", true, cb); +}; + +/** + * Clears flag which indicates if user has already been prompted whether to remember their choice a preferred navigator app. + * @param {function} cb - function to call once operation is complete. + */ +ln.appSelection.userPrompted.clear = function(cb){ + removeItem("prompted", cb); +}; + +/******************* + * Utility functions + *******************/ +ln.util = {}; +ln.util.arrayContainsValue = function (a, obj) { + var i = a.length; + while (i--) { + if (a[i] === obj) { + return true; + } + } + return false; +}; + +ln.util.objectContainsKey = function (o, key) { + for(var k in o){ + if(k === key){ + return true; + } + } + return false; +}; + +ln.util.objectContainsValue = function (o, value) { + for(var k in o){ + if(o[k] === value){ + return true; + } + } + return false; +}; + +ln.util.countKeysInObject = function (o){ + var count = 0; + for(var k in o){ + count++; + } + return count; +}; + +ln.util.isValidApp = function(app){ + if(app === "none") return true; // native chooser + return ln.util.objectContainsValue(ln.APP, app); +}; + +ln.util.isValidPlatform = function(platform){ + return ln.util.objectContainsValue(ln.PLATFORM, platform); +}; + +ln.util.isValidTransportMode = function(transportMode) { + return ln.util.objectContainsValue(ln.TRANSPORT_MODE, transportMode); +}; + +ln.util.validateApp = function(app){ + if(!ln.util.isValidApp(app)){ + throw new Error("'"+app+"' is not a recognised app"); + } +}; + +ln.util.validatePlatform = function(platform){ + if(!ln.util.isValidPlatform(platform)){ + throw new Error("'"+platform+"' is not a recognised platform"); + } +}; + +ln.util.validateTransportMode = function(transportMode){ + if(!ln.util.isValidTransportMode(transportMode)){ + throw new Error("'"+transportMode+"' is not a recognised transport mode"); + } +}; + +ln.util.extractCoordsFromLocationString = function(location){ + if(location && typeof(location) === "string" && location.match(ln.COORDS_REGEX)){ + location = location.replace(/\s*/g,''); + var parts = location.split(","); + location = [parts[0], parts[1]]; + } + return location; +}; + +ln.util.isValidLaunchMode = function(launchMode){ + for(var LAUNCH_MODE in ln.LAUNCH_MODE){ + if(launchMode === ln.LAUNCH_MODE[LAUNCH_MODE]) return true; + } + return false; +}; + +ln.util.validateLaunchMode = function(launchMode){ + if(!ln.util.isValidLaunchMode(launchMode)){ + throw new Error("'"+launchMode+"' is not a recognised launch mode"); + } +}; + +ln.util.conformNavigateOptions = function(args){ + var options; + if(args.length > 1 && typeof args[1] === "function"){ + // assume (dest, success, error, opts) + options = (args.length > 3 && typeof args[3] === "object") ? args[3] : {}; + options.successCallback = args[1]; + if(args.length > 2 && typeof args[2] === "function"){ + options.errorCallback = args[2]; + } + }else{ + // assume (dest, opts) + options = (args.length > 1 && typeof args[1] === "object") ? args[1] : {}; + } + return options; +}; + + +module.exports = ln; + +}); diff --git a/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/localforage.v1.5.0.min.js b/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/localforage.v1.5.0.min.js new file mode 100644 index 00000000..5ba7d281 --- /dev/null +++ b/platforms/android/app/src/main/assets/www/plugins/uk.co.workingedge.phonegap.plugin.launchnavigator/www/localforage.v1.5.0.min.js @@ -0,0 +1,9 @@ +cordova.define("uk.co.workingedge.phonegap.plugin.launchnavigator.LocalForage", function(require, exports, module) { +/*! + localForage -- Offline Storage, Improved + Version 1.5.0 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 2.0 +*/ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.localforage=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;ge;e++)d[e]=a.charCodeAt(e);return c}function m(a){return new ja(function(b){var c=a.transaction(ka,"readwrite"),d=i([""]);c.objectStore(ka).put(d,"key"),c.onabort=function(a){a.preventDefault(),a.stopPropagation(),b(!1)},c.oncomplete=function(){var a=navigator.userAgent.match(/Chrome\/(\d+)/),c=navigator.userAgent.match(/Edge\//);b(c||!a||parseInt(a[1],10)>=43)}})["catch"](function(){return!1})}function n(a){return"boolean"==typeof ha?ja.resolve(ha):m(a).then(function(a){return ha=a})}function o(a){var b=ia[a.name],c={};c.promise=new ja(function(a){c.resolve=a}),b.deferredOperations.push(c),b.dbReady?b.dbReady=b.dbReady.then(function(){return c.promise}):b.dbReady=c.promise}function p(a){var b=ia[a.name],c=b.deferredOperations.pop();c&&c.resolve()}function q(a,b){return new ja(function(c,d){if(a.db){if(!b)return c(a.db);o(a),a.db.close()}var e=[a.name];b&&e.push(a.version);var f=ga.open.apply(ga,e);b&&(f.onupgradeneeded=function(b){var c=f.result;try{c.createObjectStore(a.storeName),b.oldVersion<=1&&c.createObjectStore(ka)}catch(d){if("ConstraintError"!==d.name)throw d;console.warn('The database "'+a.name+'" has been upgraded from version '+b.oldVersion+" to version "+b.newVersion+', but the storage "'+a.storeName+'" already exists.')}}),f.onerror=function(a){a.preventDefault(),d(f.error)},f.onsuccess=function(){c(f.result),p(a)}})}function r(a){return q(a,!1)}function s(a){return q(a,!0)}function t(a,b){if(!a.db)return!0;var c=!a.db.objectStoreNames.contains(a.storeName),d=a.versiona.db.version;if(d&&(a.version!==b&&console.warn('The database "'+a.name+"\" can't be downgraded from version "+a.db.version+" to version "+a.version+"."),a.version=a.db.version),e||c){if(c){var f=a.db.version+1;f>a.version&&(a.version=f)}return!0}return!1}function u(a){return new ja(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function v(a){var b=l(atob(a.data));return i([b],{type:a.type})}function w(a){return a&&a.__local_forage_encoded_blob}function x(a){var b=this,c=b._initReady().then(function(){var a=ia[b._dbInfo.name];return a&&a.dbReady?a.dbReady:void 0});return k(c,a,a),c}function y(a){function b(){return ja.resolve()}var c=this,d={db:null};if(a)for(var e in a)d[e]=a[e];ia||(ia={});var f=ia[d.name];f||(f={forages:[],db:null,dbReady:null,deferredOperations:[]},ia[d.name]=f),f.forages.push(c),c._initReady||(c._initReady=c.ready,c.ready=x);for(var g=[],h=0;ha?void b(null):void c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=!1,h=f.openCursor();h.onsuccess=function(){var c=h.result;return c?void(0===a?b(c.key):g?b(c.key):(g=!0,c.advance(a))):void b(null)},h.onerror=function(){d(h.error)}})["catch"](d)});return j(d,b),d}function G(a){var b=this,c=new ja(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b["continue"]()):void a(g)},f.onerror=function(){c(f.error)}})["catch"](c)});return j(c,a),c}function H(a){var b,c,d,e,f,g=.75*a.length,h=a.length,i=0;"="===a[a.length-1]&&(g--,"="===a[a.length-2]&&g--);var j=new ArrayBuffer(g),k=new Uint8Array(j);for(b=0;h>b;b+=4)c=na.indexOf(a[b]),d=na.indexOf(a[b+1]),e=na.indexOf(a[b+2]),f=na.indexOf(a[b+3]),k[i++]=c<<2|d>>4,k[i++]=(15&d)<<4|e>>2,k[i++]=(3&e)<<6|63&f;return j}function I(a){var b,c=new Uint8Array(a),d="";for(b=0;b>2],d+=na[(3&c[b])<<4|c[b+1]>>4],d+=na[(15&c[b+1])<<2|c[b+2]>>6],d+=na[63&c[b+2]];return c.length%3===2?d=d.substring(0,d.length-1)+"=":c.length%3===1&&(d=d.substring(0,d.length-2)+"=="),d}function J(a,b){var c="";if(a&&(c=Ea.call(a)),a&&("[object ArrayBuffer]"===c||a.buffer&&"[object ArrayBuffer]"===Ea.call(a.buffer))){var d,e=qa;a instanceof ArrayBuffer?(d=a,e+=sa):(d=a.buffer,"[object Int8Array]"===c?e+=ua:"[object Uint8Array]"===c?e+=va:"[object Uint8ClampedArray]"===c?e+=wa:"[object Int16Array]"===c?e+=xa:"[object Uint16Array]"===c?e+=za:"[object Int32Array]"===c?e+=ya:"[object Uint32Array]"===c?e+=Aa:"[object Float32Array]"===c?e+=Ba:"[object Float64Array]"===c?e+=Ca:b(new Error("Failed to get type for BinaryArray"))),b(e+I(d))}else if("[object Blob]"===c){var f=new FileReader;f.onload=function(){var c=oa+a.type+"~"+I(this.result);b(qa+ta+c)},f.readAsArrayBuffer(a)}else try{b(JSON.stringify(a))}catch(g){console.error("Couldn't convert value into a JSON string: ",a),b(null,g)}}function K(a){if(a.substring(0,ra)!==qa)return JSON.parse(a);var b,c=a.substring(Da),d=a.substring(ra,Da);if(d===ta&&pa.test(c)){var e=c.match(pa);b=e[1],c=c.substring(e[0].length)}var f=H(c);switch(d){case sa:return f;case ta:return i([f],{type:b});case ua:return new Int8Array(f);case va:return new Uint8Array(f);case wa:return new Uint8ClampedArray(f);case xa:return new Int16Array(f);case za:return new Uint16Array(f);case ya:return new Int32Array(f);case Aa:return new Uint32Array(f);case Ba:return new Float32Array(f);case Ca:return new Float64Array(f);default:throw new Error("Unkown type: "+d)}}function L(a){var b=this,c={db:null};if(a)for(var d in a)c[d]="string"!=typeof a[d]?a[d].toString():a[d];var e=new ja(function(a,d){try{c.db=openDatabase(c.name,String(c.version),c.description,c.size)}catch(e){return d(e)}c.db.transaction(function(e){e.executeSql("CREATE TABLE IF NOT EXISTS "+c.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],function(){b._dbInfo=c,a()},function(a,b){d(b)})})});return c.serializer=Fa,e}function M(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=new ja(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName+" WHERE key = ? LIMIT 1",[a],function(a,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),b(d)},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function N(a,b){var c=this,d=new ja(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName,[],function(c,d){for(var f=d.rows,g=f.length,h=0;g>h;h++){var i=f.item(h),j=i.value;if(j&&(j=e.serializer.deserialize(j)),j=a(j,i.key,h+1),void 0!==j)return void b(j)}b()},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function O(a,b,c,d){var e=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var f=new ja(function(f,g){e.ready().then(function(){void 0===b&&(b=null);var h=b,i=e._dbInfo;i.serializer.serialize(b,function(b,j){j?g(j):i.db.transaction(function(c){c.executeSql("INSERT OR REPLACE INTO "+i.storeName+" (key, value) VALUES (?, ?)",[a,b],function(){f(h)},function(a,b){g(b)})},function(b){if(b.code===b.QUOTA_ERR){if(d>0)return void f(O.apply(e,[a,h,c,d-1]));g(b)}})})})["catch"](g)});return j(f,c),f}function P(a,b,c){return O.apply(this,[a,b,c,1])}function Q(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=new ja(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("DELETE FROM "+e.storeName+" WHERE key = ?",[a],function(){b()},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function R(a){var b=this,c=new ja(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("DELETE FROM "+d.storeName,[],function(){a()},function(a,b){c(b)})})})["catch"](c)});return j(c,a),c}function S(a){var b=this,c=new ja(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT COUNT(key) as c FROM "+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})})["catch"](c)});return j(c,a),c}function T(a,b){var c=this,d=new ja(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT key FROM "+e.storeName+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function U(a){var b=this,c=new ja(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT key FROM "+d.storeName,[],function(b,c){for(var d=[],e=0;e=0;c--){var d=localStorage.key(c);0===d.indexOf(a)&&localStorage.removeItem(d)}});return j(c,a),c}function X(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo,d=localStorage.getItem(b.keyPrefix+a);return d&&(d=b.serializer.deserialize(d)),d});return j(d,b),d}function Y(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo,d=b.keyPrefix,e=d.length,f=localStorage.length,g=1,h=0;f>h;h++){var i=localStorage.key(h);if(0===i.indexOf(d)){var j=localStorage.getItem(i);if(j&&(j=b.serializer.deserialize(j)),j=a(j,i.substring(e),g++),void 0!==j)return j}}});return j(d,b),d}function Z(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=localStorage.key(a)}catch(e){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return j(d,b),d}function $(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo,c=localStorage.length,d=[],e=0;c>e;e++)0===localStorage.key(e).indexOf(a.keyPrefix)&&d.push(localStorage.key(e).substring(a.keyPrefix.length));return d});return j(c,a),c}function _(a){var b=this,c=b.keys().then(function(a){return a.length});return j(c,a),c}function aa(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo;localStorage.removeItem(b.keyPrefix+a)});return j(d,b),d}function ba(a,b,c){var d=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var e=d.ready().then(function(){void 0===b&&(b=null);var c=b;return new ja(function(e,f){var g=d._dbInfo;g.serializer.serialize(b,function(b,d){if(d)f(d);else try{localStorage.setItem(g.keyPrefix+a,b),e(c)}catch(h){"QuotaExceededError"!==h.name&&"NS_ERROR_DOM_QUOTA_REACHED"!==h.name||f(h),f(h)}})})});return j(e,c),e}function ca(a,b){a[b]=function(){var c=arguments;return a.ready().then(function(){return a[b].apply(a,c)})}}function da(){for(var a=1;ac;c++){var e=a[c];this.supports(e)&&b.push(e)}return b},a.prototype._wrapLibraryMethodsWithReady=function(){for(var a=0;a 0) { + //Call checkPermission again to verify + boolean hasAllPermissions = hasAllPermissions(permissions); + addProperty(returnObj, KEY_RESULT_PERMISSION, hasAllPermissions); + permissionsCallback.success(returnObj); + } else { + addProperty(returnObj, KEY_ERROR, ACTION_REQUEST_PERMISSION); + addProperty(returnObj, KEY_MESSAGE, "Unknown error."); + permissionsCallback.error(returnObj); + } + permissionsCallback = null; + } + + private void checkPermissionAction(CallbackContext callbackContext, JSONArray permission) { + if (permission == null || permission.length() == 0 || permission.length() > 1) { + JSONObject returnObj = new JSONObject(); + addProperty(returnObj, KEY_ERROR, ACTION_CHECK_PERMISSION); + addProperty(returnObj, KEY_MESSAGE, "One time one permission only."); + callbackContext.error(returnObj); + } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { + JSONObject returnObj = new JSONObject(); + addProperty(returnObj, KEY_RESULT_PERMISSION, true); + callbackContext.success(returnObj); + } else { + try { + JSONObject returnObj = new JSONObject(); + addProperty(returnObj, KEY_RESULT_PERMISSION, cordova.hasPermission(permission.getString(0))); + callbackContext.success(returnObj); + } catch (JSONException e) { + e.printStackTrace(); + } + } + } + + private void requestPermissionAction(CallbackContext callbackContext, JSONArray permissions) throws Exception { + if (permissions == null || permissions.length() == 0) { + JSONObject returnObj = new JSONObject(); + addProperty(returnObj, KEY_ERROR, ACTION_REQUEST_PERMISSION); + addProperty(returnObj, KEY_MESSAGE, "At least one permission."); + callbackContext.error(returnObj); + } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { + JSONObject returnObj = new JSONObject(); + addProperty(returnObj, KEY_RESULT_PERMISSION, true); + callbackContext.success(returnObj); + } else if (hasAllPermissions(permissions)) { + JSONObject returnObj = new JSONObject(); + addProperty(returnObj, KEY_RESULT_PERMISSION, true); + callbackContext.success(returnObj); + } else { + permissionsCallback = callbackContext; + String[] permissionArray = getPermissions(permissions); + cordova.requestPermissions(this, REQUEST_CODE_ENABLE_PERMISSION, permissionArray); + } + } + + private String[] getPermissions(JSONArray permissions) { + String[] stringArray = new String[permissions.length()]; + for (int i = 0; i < permissions.length(); i++) { + try { + stringArray[i] = permissions.getString(i); + } catch (JSONException ignored) { + //Believe exception only occurs when adding duplicate keys, so just ignore it + } + } + return stringArray; + } + + private boolean hasAllPermissions(JSONArray permissions) throws JSONException { + return hasAllPermissions(getPermissions(permissions)); + } + + private boolean hasAllPermissions(String[] permissions) throws JSONException { + + for (String permission : permissions) { + if(!cordova.hasPermission(permission)) { + return false; + } + } + + return true; + } + + private void addProperty(JSONObject obj, String key, Object value) { + try { + if (value == null) { + obj.put(key, JSONObject.NULL); + } else { + obj.put(key, value); + } + } catch (JSONException ignored) { + //Believe exception only occurs when adding duplicate keys, so just ignore it + } + } +} diff --git a/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/AndroidProtocolHandler.java b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/AndroidProtocolHandler.java new file mode 100755 index 00000000..6a331d3e --- /dev/null +++ b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/AndroidProtocolHandler.java @@ -0,0 +1,99 @@ +package com.ionicframework.cordova.webview; + +// Copyright 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import android.content.Context; +import android.content.res.AssetManager; +import android.net.Uri; +import android.util.Log; +import android.util.TypedValue; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; + + +public class AndroidProtocolHandler { + private static final String TAG = "AndroidProtocolHandler"; + + private Context context; + + public AndroidProtocolHandler(Context context) { + this.context = context; + } + + public InputStream openAsset(String path, String assetPath) throws IOException { + if (path.startsWith(assetPath + "/_file_")) { + if (path.contains("content://")) { + String contentPath = path.replace(assetPath + "/_file_/", "content://"); + return context.getContentResolver().openInputStream(Uri.parse(contentPath)); + } else { + String filePath = path.replace(assetPath + "/_file_/", ""); + return new FileInputStream(new File(filePath)); + } + } else { + return context.getAssets().open(path, AssetManager.ACCESS_STREAMING); + } + } + + public InputStream openResource(Uri uri) { + assert uri.getPath() != null; + // The path must be of the form ".../asset_type/asset_name.ext". + List pathSegments = uri.getPathSegments(); + String assetType = pathSegments.get(pathSegments.size() - 2); + String assetName = pathSegments.get(pathSegments.size() - 1); + + // Drop the file extension. + assetName = assetName.split("\\.")[0]; + try { + // Use the application context for resolving the resource package name so that we do + // not use the browser's own resources. Note that if 'context' here belongs to the + // test suite, it does not have a separate application context. In that case we use + // the original context object directly. + if (context.getApplicationContext() != null) { + context = context.getApplicationContext(); + } + int fieldId = getFieldId(context, assetType, assetName); + int valueType = getValueType(context, fieldId); + if (valueType == TypedValue.TYPE_STRING) { + return context.getResources().openRawResource(fieldId); + } else { + Log.e(TAG, "Asset not of type string: " + uri); + return null; + } + } catch (ClassNotFoundException e) { + Log.e(TAG, "Unable to open resource URL: " + uri, e); + return null; + } catch (NoSuchFieldException e) { + Log.e(TAG, "Unable to open resource URL: " + uri, e); + return null; + } catch (IllegalAccessException e) { + Log.e(TAG, "Unable to open resource URL: " + uri, e); + return null; + } + } + + public InputStream openFile(String filePath) throws IOException { + File localFile = new File(filePath); + return new FileInputStream(localFile); + } + + private static int getFieldId(Context context, String assetType, String assetName) + throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException { + Class d = context.getClassLoader() + .loadClass(context.getPackageName() + ".R$" + assetType); + java.lang.reflect.Field field = d.getField(assetName); + int id = field.getInt(null); + return id; + } + + private static int getValueType(Context context, int fieldId) { + TypedValue value = new TypedValue(); + context.getResources().getValue(fieldId, value, true); + return value.type; + } +} diff --git a/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/IonicWebView.java b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/IonicWebView.java new file mode 100755 index 00000000..ff771371 --- /dev/null +++ b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/IonicWebView.java @@ -0,0 +1,41 @@ +package com.ionicframework.cordova.webview; + +import android.app.Activity; +import android.content.SharedPreferences; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.json.JSONArray; +import org.json.JSONException; + +public class IonicWebView extends CordovaPlugin { + + public static final String WEBVIEW_PREFS_NAME = "WebViewSettings"; + public static final String CDV_SERVER_PATH = "serverBasePath"; + + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + + if (action.equals("setServerBasePath")) { + final String path = args.getString(0); + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + ((IonicWebViewEngine)webView.getEngine()).setServerBasePath(path); + } + }); + return true; + } else if (action.equals("getServerBasePath")) { + callbackContext.success(((IonicWebViewEngine)webView.getEngine()).getServerBasePath()); + return true; + } else if (action.equals("persistServerBasePath")) { + String path = ((IonicWebViewEngine)webView.getEngine()).getServerBasePath(); + SharedPreferences prefs = cordova.getActivity().getApplicationContext().getSharedPreferences(WEBVIEW_PREFS_NAME, Activity.MODE_PRIVATE); + SharedPreferences.Editor editor = prefs.edit(); + editor.putString(CDV_SERVER_PATH, path); + editor.apply(); + return true; + } + return false; + } + +} + diff --git a/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/IonicWebViewEngine.java b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/IonicWebViewEngine.java new file mode 100755 index 00000000..08ee8ab5 --- /dev/null +++ b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/IonicWebViewEngine.java @@ -0,0 +1,153 @@ +package com.ionicframework.cordova.webview; + +import android.app.Activity; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.pm.PackageInfo; +import android.annotation.TargetApi; +import android.graphics.Bitmap; +import android.net.Uri; +import android.os.Build; +import android.support.annotation.RequiresApi; +import android.util.Log; +import android.webkit.WebResourceRequest; +import android.webkit.WebResourceResponse; +import android.webkit.WebView; +import org.apache.cordova.ConfigXmlParser; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CordovaPreferences; +import org.apache.cordova.CordovaResourceApi; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CordovaWebViewEngine; +import org.apache.cordova.NativeToJsMessageQueue; +import org.apache.cordova.PluginManager; +import org.apache.cordova.engine.SystemWebViewClient; +import org.apache.cordova.engine.SystemWebViewEngine; +import org.apache.cordova.engine.SystemWebView; + +public class IonicWebViewEngine extends SystemWebViewEngine { + public static final String TAG = "IonicWebViewEngine"; + + private WebViewLocalServer localServer; + private String CDV_LOCAL_SERVER; + private static final String LAST_BINARY_VERSION_CODE = "lastBinaryVersionCode"; + private static final String LAST_BINARY_VERSION_NAME = "lastBinaryVersionName"; + + /** + * Used when created via reflection. + */ + public IonicWebViewEngine(Context context, CordovaPreferences preferences) { + super(new SystemWebView(context), preferences); + Log.d(TAG, "Ionic Web View Engine Starting Right Up 1..."); + } + + public IonicWebViewEngine(SystemWebView webView) { + super(webView, null); + Log.d(TAG, "Ionic Web View Engine Starting Right Up 2..."); + } + + public IonicWebViewEngine(SystemWebView webView, CordovaPreferences preferences) { + super(webView, preferences); + Log.d(TAG, "Ionic Web View Engine Starting Right Up 3..."); + } + + @Override + public void init(CordovaWebView parentWebView, CordovaInterface cordova, final CordovaWebViewEngine.Client client, + CordovaResourceApi resourceApi, PluginManager pluginManager, + NativeToJsMessageQueue nativeToJsMessageQueue) { + ConfigXmlParser parser = new ConfigXmlParser(); + parser.parse(cordova.getActivity()); + + String port = preferences.getString("WKPort", "8080"); + CDV_LOCAL_SERVER = "http://localhost:" + port; + + localServer = new WebViewLocalServer(cordova.getActivity(), "localhost:" + port, true, parser); + WebViewLocalServer.AssetHostingDetails ahd = localServer.hostAssets("www"); + + webView.setWebViewClient(new ServerClient(this, parser)); + + super.init(parentWebView, cordova, client, resourceApi, pluginManager, nativeToJsMessageQueue); + SharedPreferences prefs = cordova.getActivity().getApplicationContext().getSharedPreferences(IonicWebView.WEBVIEW_PREFS_NAME, Activity.MODE_PRIVATE); + String path = prefs.getString(IonicWebView.CDV_SERVER_PATH, null); + if (!isDeployDisabled() && !isNewBinary() && path != null && !path.isEmpty()) { + setServerBasePath(path); + } + } + + private boolean isNewBinary() { + String versionCode = ""; + String versionName = ""; + SharedPreferences prefs = cordova.getActivity().getApplicationContext().getSharedPreferences(IonicWebView.WEBVIEW_PREFS_NAME, Activity.MODE_PRIVATE); + String lastVersionCode = prefs.getString(LAST_BINARY_VERSION_CODE, null); + String lastVersionName = prefs.getString(LAST_BINARY_VERSION_NAME, null); + + try { + PackageInfo pInfo = this.cordova.getActivity().getPackageManager().getPackageInfo(this.cordova.getActivity().getPackageName(), 0); + versionCode = Integer.toString(pInfo.versionCode); + versionName = pInfo.versionName; + } catch(Exception ex) { + Log.e(TAG, "Unable to get package info", ex); + } + + if (!versionCode.equals(lastVersionCode) || !versionName.equals(lastVersionName)) { + SharedPreferences.Editor editor = prefs.edit(); + editor.putString(LAST_BINARY_VERSION_CODE, versionCode); + editor.putString(LAST_BINARY_VERSION_NAME, versionName); + editor.putString(IonicWebView.CDV_SERVER_PATH, ""); + editor.apply(); + return true; + } + return false; + } + + private boolean isDeployDisabled() { + return preferences.getBoolean("DisableDeploy", false); + } + private class ServerClient extends SystemWebViewClient { + private ConfigXmlParser parser; + + public ServerClient(SystemWebViewEngine parentEngine, ConfigXmlParser parser) { + super(parentEngine); + this.parser = parser; + } + + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) + @Override + public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { + return localServer.shouldInterceptRequest(request.getUrl()); + } + + @TargetApi(Build.VERSION_CODES.KITKAT) + @Override + public WebResourceResponse shouldInterceptRequest(WebView view, String url) { + return localServer.shouldInterceptRequest(Uri.parse(url)); + } + + @Override + public void onPageStarted(WebView view, String url, Bitmap favicon) { + super.onPageStarted(view, url, favicon); + String launchUrl = parser.getLaunchUrl(); + if (!launchUrl.contains("http") && url.equals(launchUrl)) { + view.stopLoading(); + view.loadUrl(CDV_LOCAL_SERVER); + } + } + + @Override + public void onPageFinished(WebView view, String url) { + super.onPageFinished(view, url); + view.loadUrl("javascript:(function() { " + + "window.WEBVIEW_SERVER_URL = '" + CDV_LOCAL_SERVER + "'" + + "})()"); + } + } + + public void setServerBasePath(String path) { + localServer.hostFiles(path); + webView.loadUrl(CDV_LOCAL_SERVER); + } + + public String getServerBasePath() { + return this.localServer.getBasePath(); + } +} diff --git a/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/UriMatcher.java b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/UriMatcher.java new file mode 100755 index 00000000..d8addb9b --- /dev/null +++ b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/UriMatcher.java @@ -0,0 +1,183 @@ +package com.ionicframework.cordova.webview; + +/* + * Copyright (C) 2006 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +//package com.google.webviewlocalserver.third_party.android; + +import android.net.Uri; + +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Pattern; + +public class UriMatcher { + /** + * Creates the root node of the URI tree. + * + * @param code the code to match for the root URI + */ + public UriMatcher(Object code) { + mCode = code; + mWhich = -1; + mChildren = new ArrayList(); + mText = null; + } + + private UriMatcher() { + mCode = null; + mWhich = -1; + mChildren = new ArrayList(); + mText = null; + } + + /** + * Add a URI to match, and the code to return when this URI is + * matched. URI nodes may be exact match string, the token "*" + * that matches any text, or the token "#" that matches only + * numbers. + *

+ * Starting from API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}, + * this method will accept a leading slash in the path. + * + * @param authority the authority to match + * @param path the path to match. * may be used as a wild card for + * any text, and # may be used as a wild card for numbers. + * @param code the code that is returned when a URI is matched + * against the given components. Must be positive. + */ + public void addURI(String scheme, String authority, String path, Object code) { + if (code == null) { + throw new IllegalArgumentException("Code can't be null"); + } + + String[] tokens = null; + if (path != null) { + String newPath = path; + // Strip leading slash if present. + if (path.length() > 0 && path.charAt(0) == '/') { + newPath = path.substring(1); + } + tokens = PATH_SPLIT_PATTERN.split(newPath); + } + + int numTokens = tokens != null ? tokens.length : 0; + UriMatcher node = this; + for (int i = -2; i < numTokens; i++) { + String token; + if (i == -2) + token = scheme; + else if (i == -1) + token = authority; + else + token = tokens[i]; + ArrayList children = node.mChildren; + int numChildren = children.size(); + UriMatcher child; + int j; + for (j = 0; j < numChildren; j++) { + child = children.get(j); + if (token.equals(child.mText)) { + node = child; + break; + } + } + if (j == numChildren) { + // Child not found, create it + child = new UriMatcher(); + if (token.equals("**")) { + child.mWhich = REST; + } else if (token.equals("*")) { + child.mWhich = TEXT; + } else { + child.mWhich = EXACT; + } + child.mText = token; + node.mChildren.add(child); + node = child; + } + } + node.mCode = code; + } + + static final Pattern PATH_SPLIT_PATTERN = Pattern.compile("/"); + + /** + * Try to match against the path in a url. + * + * @param uri The url whose path we will match against. + * @return The code for the matched node (added using addURI), + * or null if there is no matched node. + */ + public Object match(Uri uri) { + final List pathSegments = uri.getPathSegments(); + final int li = pathSegments.size(); + + UriMatcher node = this; + + if (li == 0 && uri.getAuthority() == null) { + return this.mCode; + } + + for (int i = -2; i < li; i++) { + String u; + if (i == -2) + u = uri.getScheme(); + else if (i == -1) + u = uri.getAuthority(); + else + u = pathSegments.get(i); + ArrayList list = node.mChildren; + if (list == null) { + break; + } + node = null; + int lj = list.size(); + for (int j = 0; j < lj; j++) { + UriMatcher n = list.get(j); + which_switch: + switch (n.mWhich) { + case EXACT: + if (n.mText.equals(u)) { + node = n; + } + break; + case TEXT: + node = n; + break; + case REST: + return n.mCode; + } + if (node != null) { + break; + } + } + if (node == null) { + return null; + } + } + + return node.mCode; + } + + private static final int EXACT = 0; + private static final int TEXT = 1; + private static final int REST = 2; + + private Object mCode; + private int mWhich; + private String mText; + private ArrayList mChildren; +} diff --git a/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/WebViewLocalServer.java b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/WebViewLocalServer.java new file mode 100755 index 00000000..b2b81295 --- /dev/null +++ b/platforms/android/app/src/main/java/com/ionicframework/cordova/webview/WebViewLocalServer.java @@ -0,0 +1,677 @@ +/* +Copyright 2015 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ +package com.ionicframework.cordova.webview; + +import android.content.Context; +import android.net.Uri; +import android.os.Build; +import android.util.Log; +import android.webkit.WebResourceResponse; + +import org.apache.cordova.ConfigXmlParser; + +import java.io.IOException; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.SocketTimeoutException; +import java.net.URL; +import java.net.URLConnection; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +/** + * Helper class meant to be used with the android.webkit.WebView class to enable hosting assets, + * resources and other data on 'virtual' http(s):// URL. + * Hosting assets and resources on http(s):// URLs is desirable as it is compatible with the + * Same-Origin policy. + *

+ * This class is intended to be used from within the + * {@link android.webkit.WebViewClient#shouldInterceptRequest(android.webkit.WebView, String)} and + * {@link android.webkit.WebViewClient#shouldInterceptRequest(android.webkit.WebView, + * android.webkit.WebResourceRequest)} + * methods. + */ +public class WebViewLocalServer { + private static String TAG = "WebViewAssetServer"; + private String basePath; + /** + * capacitorapp.net is reserved by the Ionic team for use in local capacitor apps. + */ + public final static String knownUnusedAuthority = "capacitorapp.net"; + private final static String httpScheme = "http"; + private final static String httpsScheme = "https"; + + private final UriMatcher uriMatcher; + private final AndroidProtocolHandler protocolHandler; + private final String authority; + // Whether we're serving local files or proxying (for example, when doing livereload on a + // non-local endpoint (will be false in that case) + private final boolean isLocal; + private boolean isAsset; + // Whether to route all requests to paths without extensions back to `index.html` + private final boolean html5mode; + private ConfigXmlParser parser; + + public String getAuthority() { return authority; } + + /** + * A handler that produces responses for paths on the virtual asset server. + *

+ * Methods of this handler will be invoked on a background thread and care must be taken to + * correctly synchronize access to any shared state. + *

+ * On Android KitKat and above these methods may be called on more than one thread. This thread + * may be different than the thread on which the shouldInterceptRequest method was invoke. + * This means that on Android KitKat and above it is possible to block in this method without + * blocking other resources from loading. The number of threads used to parallelize loading + * is an internal implementation detail of the WebView and may change between updates which + * means that the amount of time spend blocking in this method should be kept to an absolute + * minimum. + */ + public abstract static class PathHandler { + protected String mimeType; + private String encoding; + private String charset; + private int statusCode; + private String reasonPhrase; + private Map responseHeaders; + + public PathHandler() { + this(null, null, 200, "OK", null); + } + + public PathHandler(String encoding, String charset, int statusCode, + String reasonPhrase, Map responseHeaders) { + this.encoding = encoding; + this.charset = charset; + this.statusCode = statusCode; + this.reasonPhrase = reasonPhrase; + Map tempResponseHeaders; + if (responseHeaders == null) { + tempResponseHeaders = new HashMap(); + } else { + tempResponseHeaders = responseHeaders; + } + tempResponseHeaders.put("Cache-Control", "no-cache"); + this.responseHeaders = tempResponseHeaders; + } + + abstract public InputStream handle(Uri url); + + public String getEncoding() { + return encoding; + } + + public String getCharset() { + return charset; + } + + public int getStatusCode() { + return statusCode; + } + + public String getReasonPhrase() { + return reasonPhrase; + } + + public Map getResponseHeaders() { + return responseHeaders; + } + } + + /** + * Information about the URLs used to host the assets in the WebView. + */ + public static class AssetHostingDetails { + private Uri httpPrefix; + private Uri httpsPrefix; + + /*package*/ AssetHostingDetails(Uri httpPrefix, Uri httpsPrefix) { + this.httpPrefix = httpPrefix; + this.httpsPrefix = httpsPrefix; + } + + /** + * Gets the http: scheme prefix at which assets are hosted. + * + * @return the http: scheme prefix at which assets are hosted. Can return null. + */ + public Uri getHttpPrefix() { + return httpPrefix; + } + + /** + * Gets the https: scheme prefix at which assets are hosted. + * + * @return the https: scheme prefix at which assets are hosted. Can return null. + */ + public Uri getHttpsPrefix() { + return httpsPrefix; + } + } + + WebViewLocalServer(Context context, String authority, boolean html5mode, ConfigXmlParser parser) { + uriMatcher = new UriMatcher(null); + this.html5mode = html5mode; + this.parser = parser; + this.protocolHandler = new AndroidProtocolHandler(context.getApplicationContext()); + if (authority != null) { + this.authority = authority; + if (authority.startsWith("localhost")) { + this.isLocal = true; + } else { + this.isLocal = false; + } + + } else { + this.isLocal = true; + this.authority = UUID.randomUUID().toString() + "" + knownUnusedAuthority; + } + } + + private static Uri parseAndVerifyUrl(String url) { + if (url == null) { + return null; + } + Uri uri = Uri.parse(url); + if (uri == null) { + Log.e(TAG, "Malformed URL: " + url); + return null; + } + String path = uri.getPath(); + if (path == null || path.length() == 0) { + Log.e(TAG, "URL does not have a path: " + url); + return null; + } + return uri; + } + + private static WebResourceResponse createWebResourceResponse(String mimeType, String encoding, int statusCode, String reasonPhrase, Map responseHeaders, InputStream data) { + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + return new WebResourceResponse(mimeType, encoding, statusCode, reasonPhrase, responseHeaders, data); + } else { + return new WebResourceResponse(mimeType, encoding, data); + } + } + + /** + * Attempt to retrieve the WebResourceResponse associated with the given request. + * This method should be invoked from within + * {@link android.webkit.WebViewClient#shouldInterceptRequest(android.webkit.WebView, + * android.webkit.WebResourceRequest)}. + * + * @param uri the request Uri to process. + * @return a response if the request URL had a matching handler, null if no handler was found. + */ + public WebResourceResponse shouldInterceptRequest(Uri uri) { + PathHandler handler; + synchronized (uriMatcher) { + handler = (PathHandler) uriMatcher.match(uri); + } + if (handler == null) { + return null; + } + + if (this.isLocal) { + Log.d("SERVER", "Handling local request: " + uri.toString()); + return handleLocalRequest(uri, handler); + } else { + return handleProxyRequest(uri, handler); + } + } + + private WebResourceResponse handleLocalRequest(Uri uri, PathHandler handler) { + String path = uri.getPath(); + if (path.equals("/") || (!uri.getLastPathSegment().contains(".") && html5mode)) { + InputStream stream; + String launchURL = parser.getLaunchUrl(); + String launchFile = launchURL.substring(launchURL.lastIndexOf("/") + 1, launchURL.length()); + try { + String startPath = this.basePath + "/" + launchFile; + if (isAsset) { + stream = protocolHandler.openAsset(startPath, ""); + } else { + stream = protocolHandler.openFile(startPath); + } + + } catch (IOException e) { + Log.e(TAG, "Unable to open " + launchFile, e); + return null; + } + + return createWebResourceResponse("text/html", handler.getEncoding(), + handler.getStatusCode(), handler.getReasonPhrase(), handler.getResponseHeaders(), stream); + } + + int periodIndex = path.lastIndexOf("."); + if (periodIndex >= 0) { + String ext = path.substring(path.lastIndexOf("."), path.length()); + + InputStream responseStream = new LollipopLazyInputStream(handler, uri); + InputStream stream = responseStream; + + String mimeType = getMimeType(path, stream); + + return createWebResourceResponse(mimeType, handler.getEncoding(), + handler.getStatusCode(), handler.getReasonPhrase(), handler.getResponseHeaders(), stream); + } + + return null; + } + + /** + * Instead of reading files from the filesystem/assets, proxy through to the URL + * and let an external server handle it. + * @param uri + * @param handler + * @return + */ + private WebResourceResponse handleProxyRequest(Uri uri, PathHandler handler) { + try { + String path = uri.getPath(); + URL url = new URL(uri.toString()); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + conn.setReadTimeout(30 * 1000); + conn.setConnectTimeout(30 * 1000); + + InputStream stream = conn.getInputStream(); + + if (path.equals("/") || (!uri.getLastPathSegment().contains(".") && html5mode)) { + return createWebResourceResponse("text/html", handler.getEncoding(), + handler.getStatusCode(), handler.getReasonPhrase(), handler.getResponseHeaders(), stream); + } + + int periodIndex = path.lastIndexOf("."); + if (periodIndex >= 0) { + String ext = path.substring(path.lastIndexOf("."), path.length()); + + // TODO: Conjure up a bit more subtlety than this + if (ext.equals(".html")) { + } + + String mimeType = getMimeType(path, stream); + + return createWebResourceResponse(mimeType, handler.getEncoding(), + handler.getStatusCode(), handler.getReasonPhrase(), handler.getResponseHeaders(), stream); + } + + return createWebResourceResponse("", handler.getEncoding(), + handler.getStatusCode(), handler.getReasonPhrase(), handler.getResponseHeaders(), stream); + + } catch (SocketTimeoutException ex) { + // bridge.handleAppUrlLoadError(ex); + } catch (Exception ex) { + // bridge.handleAppUrlLoadError(ex); + } + return null; + } + + private String getMimeType(String path, InputStream stream) { + String mimeType = null; + try { + mimeType = URLConnection.guessContentTypeFromName(path); // Does not recognize *.js + if (mimeType != null && path.endsWith(".js") && mimeType.equals("image/x-icon")) { + Log.d(IonicWebViewEngine.TAG, "We shouldn't be here"); + } + if (mimeType == null) { + if (path.endsWith(".js")) { + // Make sure JS files get the proper mimetype to support ES modules + mimeType = "application/javascript"; + } else { + mimeType = URLConnection.guessContentTypeFromStream(stream); + } + } + } catch (Exception ex) { + Log.e(TAG, "Unable to get mime type" + path, ex); + } + return mimeType; + } + + /** + * Registers a handler for the given uri. The handler will be invoked + * every time the shouldInterceptRequest method of the instance is called with + * a matching uri. + * + * @param uri the uri to use the handler for. The scheme and authority (domain) will be matched + * exactly. The path may contain a '*' element which will match a single element of + * a path (so a handler registered for /a/* will be invoked for /a/b and /a/c.html + * but not for /a/b/b) or the '**' element which will match any number of path + * elements. + * @param handler the handler to use for the uri. + */ + void register(Uri uri, PathHandler handler) { + synchronized (uriMatcher) { + uriMatcher.addURI(uri.getScheme(), uri.getAuthority(), uri.getPath(), handler); + } + } + + /** + * Hosts the application's assets on an http(s):// URL. Assets from the local path + * assetPath/... will be available under + * http(s)://{uuid}.androidplatform.net/assets/.... + * + * @param assetPath the local path in the application's asset folder which will be made + * available by the server (for example "/www"). + * @return prefixes under which the assets are hosted. + */ + public AssetHostingDetails hostAssets(String assetPath) { + return hostAssets(authority, assetPath, "", true, true); + } + + + /** + * Hosts the application's assets on an http(s):// URL. Assets from the local path + * assetPath/... will be available under + * http(s)://{uuid}.androidplatform.net/{virtualAssetPath}/.... + * + * @param assetPath the local path in the application's asset folder which will be made + * available by the server (for example "/www"). + * @param virtualAssetPath the path on the local server under which the assets should be hosted. + * @param enableHttp whether to enable hosting using the http scheme. + * @param enableHttps whether to enable hosting using the https scheme. + * @return prefixes under which the assets are hosted. + */ + public AssetHostingDetails hostAssets(final String assetPath, final String virtualAssetPath, + boolean enableHttp, boolean enableHttps) { + return hostAssets(authority, assetPath, virtualAssetPath, enableHttp, + enableHttps); + } + + /** + * Hosts the application's assets on an http(s):// URL. Assets from the local path + * assetPath/... will be available under + * http(s)://{domain}/{virtualAssetPath}/.... + * + * @param domain custom domain on which the assets should be hosted (for example "example.com"). + * @param assetPath the local path in the application's asset folder which will be made + * available by the server (for example "/www"). + * @param virtualAssetPath the path on the local server under which the assets should be hosted. + * @param enableHttp whether to enable hosting using the http scheme. + * @param enableHttps whether to enable hosting using the https scheme. + * @return prefixes under which the assets are hosted. + */ + public AssetHostingDetails hostAssets(final String domain, + final String assetPath, final String virtualAssetPath, + boolean enableHttp, boolean enableHttps) { + this.isAsset = true; + this.basePath = assetPath; + Uri.Builder uriBuilder = new Uri.Builder(); + uriBuilder.scheme(httpScheme); + uriBuilder.authority(domain); + uriBuilder.path(virtualAssetPath); + + if (assetPath.indexOf('*') != -1) { + throw new IllegalArgumentException("assetPath cannot contain the '*' character."); + } + if (virtualAssetPath.indexOf('*') != -1) { + throw new IllegalArgumentException( + "virtualAssetPath cannot contain the '*' character."); + } + + Uri httpPrefix = null; + Uri httpsPrefix = null; + + PathHandler handler = new PathHandler() { + @Override + public InputStream handle(Uri url) { + InputStream stream; + String path = url.getPath().replaceFirst(virtualAssetPath, assetPath); + try { + stream = protocolHandler.openAsset(path, assetPath); + } catch (IOException e) { + Log.e(TAG, "Unable to open asset URL: " + url); + return null; + } + + return stream; + } + }; + + if (enableHttp) { + httpPrefix = uriBuilder.build(); + register(Uri.withAppendedPath(httpPrefix, "/"), handler); + register(Uri.withAppendedPath(httpPrefix, "**"), handler); + } + if (enableHttps) { + uriBuilder.scheme(httpsScheme); + httpsPrefix = uriBuilder.build(); + register(Uri.withAppendedPath(httpsPrefix, "/"), handler); + register(Uri.withAppendedPath(httpsPrefix, "**"), handler); + } + return new AssetHostingDetails(httpPrefix, httpsPrefix); + } + + /** + * Hosts the application's resources on an http(s):// URL. Resources + * http(s)://{uuid}.androidplatform.net/res/{resource_type}/{resource_name}. + * + * @return prefixes under which the resources are hosted. + */ + public AssetHostingDetails hostResources() { + return hostResources(authority, "/res", true, true); + } + + /** + * Hosts the application's resources on an http(s):// URL. Resources + * http(s)://{uuid}.androidplatform.net/{virtualResourcesPath}/{resource_type}/{resource_name}. + * + * @param virtualResourcesPath the path on the local server under which the resources + * should be hosted. + * @param enableHttp whether to enable hosting using the http scheme. + * @param enableHttps whether to enable hosting using the https scheme. + * @return prefixes under which the resources are hosted. + */ + public AssetHostingDetails hostResources(final String virtualResourcesPath, boolean enableHttp, + boolean enableHttps) { + return hostResources(authority, virtualResourcesPath, enableHttp, enableHttps); + } + + /** + * Hosts the application's resources on an http(s):// URL. Resources + * http(s)://{domain}/{virtualResourcesPath}/{resource_type}/{resource_name}. + * + * @param domain custom domain on which the assets should be hosted (for example "example.com"). + * If untrusted content is to be loaded into the WebView it is advised to make + * this random. + * @param virtualResourcesPath the path on the local server under which the resources + * should be hosted. + * @param enableHttp whether to enable hosting using the http scheme. + * @param enableHttps whether to enable hosting using the https scheme. + * @return prefixes under which the resources are hosted. + */ + public AssetHostingDetails hostResources(final String domain, + final String virtualResourcesPath, boolean enableHttp, + boolean enableHttps) { + if (virtualResourcesPath.indexOf('*') != -1) { + throw new IllegalArgumentException( + "virtualResourcesPath cannot contain the '*' character."); + } + + Uri.Builder uriBuilder = new Uri.Builder(); + uriBuilder.scheme(httpScheme); + uriBuilder.authority(domain); + uriBuilder.path(virtualResourcesPath); + + Uri httpPrefix = null; + Uri httpsPrefix = null; + + PathHandler handler = new PathHandler() { + @Override + public InputStream handle(Uri url) { + InputStream stream = protocolHandler.openResource(url); + String mimeType = null; + try { + mimeType = URLConnection.guessContentTypeFromStream(stream); + } catch (Exception ex) { + Log.e(TAG, "Unable to get mime type" + url); + } + + return stream; + } + }; + + if (enableHttp) { + httpPrefix = uriBuilder.build(); + register(Uri.withAppendedPath(httpPrefix, "**"), handler); + } + if (enableHttps) { + uriBuilder.scheme(httpsScheme); + httpsPrefix = uriBuilder.build(); + register(Uri.withAppendedPath(httpsPrefix, "**"), handler); + } + return new AssetHostingDetails(httpPrefix, httpsPrefix); + } + + + /** + * Hosts the application's files on an http(s):// URL. Files from the basePath + * basePath/... will be available under + * http(s)://{uuid}.androidplatform.net/.... + * + * @param basePath the local path in the application's data folder which will be made + * available by the server (for example "/www"). + * @return prefixes under which the assets are hosted. + */ + public AssetHostingDetails hostFiles(String basePath) { + return hostFiles(basePath, true, true); + } + + public AssetHostingDetails hostFiles(final String basePath, boolean enableHttp, + boolean enableHttps) { + this.isAsset = false; + this.basePath = basePath; + Uri.Builder uriBuilder = new Uri.Builder(); + uriBuilder.scheme(httpScheme); + uriBuilder.authority(authority); + uriBuilder.path(""); + + Uri httpPrefix = null; + Uri httpsPrefix = null; + + PathHandler handler = new PathHandler() { + @Override + public InputStream handle(Uri url) { + InputStream stream; + try { + if (url.getPath().startsWith("/_file_/")) { + stream = protocolHandler.openFile( url.getPath().replace("/_file_/", "")); + } else { + stream = protocolHandler.openFile(basePath + url.getPath()); + } + } catch (IOException e) { + Log.e(TAG, "Unable to open asset URL: " + url); + return null; + } + + String mimeType = null; + try { + mimeType = URLConnection.guessContentTypeFromStream(stream); + } catch (Exception ex) { + Log.e(TAG, "Unable to get mime type" + url); + } + + return stream; + } + }; + + if (enableHttp) { + httpPrefix = uriBuilder.build(); + register(Uri.withAppendedPath(httpPrefix, "/"), handler); + register(Uri.withAppendedPath(httpPrefix, "**"), handler); + } + if (enableHttps) { + uriBuilder.scheme(httpsScheme); + httpsPrefix = uriBuilder.build(); + register(Uri.withAppendedPath(httpsPrefix, "/"), handler); + register(Uri.withAppendedPath(httpsPrefix, "**"), handler); + } + return new AssetHostingDetails(httpPrefix, httpsPrefix); + } + + /** + * The KitKat WebView reads the InputStream on a separate threadpool. We can use that to + * parallelize loading. + */ + private static abstract class LazyInputStream extends InputStream { + protected final PathHandler handler; + private InputStream is = null; + + public LazyInputStream(PathHandler handler) { + this.handler = handler; + } + + private InputStream getInputStream() { + if (is == null) { + is = handle(); + } + return is; + } + + protected abstract InputStream handle(); + + @Override + public int available() throws IOException { + InputStream is = getInputStream(); + return (is != null) ? is.available() : 0; + } + + @Override + public int read() throws IOException { + InputStream is = getInputStream(); + return (is != null) ? is.read() : -1; + } + + @Override + public int read(byte b[]) throws IOException { + InputStream is = getInputStream(); + return (is != null) ? is.read(b) : -1; + } + + @Override + public int read(byte b[], int off, int len) throws IOException { + InputStream is = getInputStream(); + return (is != null) ? is.read(b, off, len) : -1; + } + + @Override + public long skip(long n) throws IOException { + InputStream is = getInputStream(); + return (is != null) ? is.skip(n) : 0; + } + } + + // For L and above. + private static class LollipopLazyInputStream extends LazyInputStream { + private Uri uri; + private InputStream is; + + public LollipopLazyInputStream(PathHandler handler, Uri uri) { + super(handler); + this.uri = uri; + } + + @Override + protected InputStream handle() { + return handler.handle(uri); + } + } + + public String getBasePath(){ + return this.basePath; + } +} diff --git a/platforms/android/app/src/main/java/com/plugin/datepicker/DatePickerPlugin.java b/platforms/android/app/src/main/java/com/plugin/datepicker/DatePickerPlugin.java new file mode 100755 index 00000000..6130b9a0 --- /dev/null +++ b/platforms/android/app/src/main/java/com/plugin/datepicker/DatePickerPlugin.java @@ -0,0 +1,411 @@ +/** + * @author Bikas Vaibhav (http://bikasv.com) 2013 + * Rewrote the plug-in at https://github.com/phonegap/phonegap-plugins/tree/master/Android/DatePicker + * It can now accept `min` and `max` dates for DatePicker. + * + * @author Andre Moraes (https://github.com/andrelsmoraes) + * Refactored code, changed default mode to show date and time dialog. + * Added options `okText`, `cancelText`, `todayText`, `nowText`, `is24Hour`. + * + * @author Diego Silva (https://github.com/diego-silva) + * Added option `titleText`. + */ + +package com.plugin.datepicker; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.TimeZone; +import java.util.Random; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.annotation.SuppressLint; +import android.app.DatePickerDialog; +import android.app.DatePickerDialog.OnDateSetListener; +import android.app.TimePickerDialog; +import android.app.TimePickerDialog.OnTimeSetListener; +import android.content.Context; +import android.content.DialogInterface; +import android.os.Build; +import android.util.Log; +import android.widget.DatePicker; +import android.widget.DatePicker.OnDateChangedListener; +import android.widget.TimePicker; + +@SuppressLint("NewApi") +public class DatePickerPlugin extends CordovaPlugin { + + private static final String ACTION_DATE = "date"; + private static final String ACTION_TIME = "time"; + private static final String RESULT_ERROR = "error"; + private static final String RESULT_CANCEL = "cancel"; + private final String pluginName = "DatePickerPlugin"; + + // On some devices, onDateSet or onTimeSet are being called twice + private boolean called = false; + private boolean canceled = false; + + @Override + public boolean execute(final String action, final JSONArray data, final CallbackContext callbackContext) { + Log.d(pluginName, "DatePicker called with options: " + data); + called = false; + canceled = false; + boolean result = false; + + this.show(data, callbackContext); + result = true; + + return result; + } + + public synchronized void show(final JSONArray data, final CallbackContext callbackContext) { + DatePickerPlugin datePickerPlugin = this; + Context currentCtx = cordova.getActivity(); + Runnable runnable; + JsonDate jsonDate = new JsonDate().fromJson(data); + + // Retrieve Android theme + JSONObject options = data.optJSONObject(0); + int theme = options.optInt("androidTheme", 1); + + if (ACTION_TIME.equalsIgnoreCase(jsonDate.action)) { + runnable = runnableTimeDialog(datePickerPlugin, theme, currentCtx, + callbackContext, jsonDate, Calendar.getInstance(TimeZone.getDefault())); + + } else { + runnable = runnableDatePicker(datePickerPlugin, theme, currentCtx, callbackContext, jsonDate); + } + + cordova.getActivity().runOnUiThread(runnable); + } + + private TimePicker timePicker; + private int timePickerHour = 0; + private int timePickerMinute = 0; + + private Runnable runnableTimeDialog(final DatePickerPlugin datePickerPlugin, + final int theme, final Context currentCtx, final CallbackContext callbackContext, + final JsonDate jsonDate, final Calendar calendarDate) { + return new Runnable() { + @Override + public void run() { + final TimeSetListener timeSetListener = new TimeSetListener(datePickerPlugin, callbackContext, calendarDate); + final TimePickerDialog timeDialog = new TimePickerDialog(currentCtx, theme, timeSetListener, jsonDate.hour, + jsonDate.minutes, jsonDate.is24Hour) { + public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { + timePicker = view; + timePickerHour = hourOfDay; + timePickerMinute = minute; + } + }; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + timeDialog.setCancelable(true); + timeDialog.setCanceledOnTouchOutside(false); + + if (!jsonDate.titleText.isEmpty()){ + timeDialog.setTitle(jsonDate.titleText); + } + if (!jsonDate.nowText.isEmpty()){ + timeDialog.setButton(DialogInterface.BUTTON_NEUTRAL, jsonDate.nowText, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + if (timePicker != null) { + Calendar now = Calendar.getInstance(); + timeSetListener.onTimeSet(timePicker, now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE)); + } + } + }); + } + String labelCancel = jsonDate.cancelText.isEmpty() ? currentCtx.getString(android.R.string.cancel) : jsonDate.cancelText; + timeDialog.setButton(DialogInterface.BUTTON_NEGATIVE, labelCancel, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + canceled = true; + callbackContext.error(RESULT_CANCEL); + } + }); + String labelOk = jsonDate.okText.isEmpty() ? currentCtx.getString(android.R.string.ok) : jsonDate.okText; + timeDialog.setButton(DialogInterface.BUTTON_POSITIVE, labelOk, timeDialog); + } + timeDialog.show(); + timeDialog.updateTime(new Random().nextInt(23), new Random().nextInt(59)); + timeDialog.updateTime(jsonDate.hour, jsonDate.minutes); + } + }; + } + + private Runnable runnableDatePicker( + final DatePickerPlugin datePickerPlugin, + final int theme, final Context currentCtx, + final CallbackContext callbackContext, final JsonDate jsonDate) { + return new Runnable() { + @Override + public void run() { + final DateSetListener dateSetListener = new DateSetListener(datePickerPlugin, theme, callbackContext, jsonDate); + final DatePickerDialog dateDialog = new DatePickerDialog(currentCtx, theme, dateSetListener, jsonDate.year, + jsonDate.month, jsonDate.day); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + prepareDialog(dateDialog, dateSetListener, callbackContext, currentCtx, jsonDate); + } + else { + prepareDialogPreHoneycomb(dateDialog, callbackContext, currentCtx, jsonDate); + } + + dateDialog.show(); + } + }; + } + + private void prepareDialog(final DatePickerDialog dateDialog, final OnDateSetListener dateListener, + final CallbackContext callbackContext, Context currentCtx, JsonDate jsonDate) { + dateDialog.setCancelable(true); + dateDialog.setCanceledOnTouchOutside(false); + if (!jsonDate.titleText.isEmpty()){ + dateDialog.setTitle(jsonDate.titleText); + } + if (!jsonDate.todayText.isEmpty()){ + dateDialog.setButton(DialogInterface.BUTTON_NEUTRAL, jsonDate.todayText, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + Calendar now = Calendar.getInstance(); + DatePicker datePicker = dateDialog.getDatePicker(); + dateListener.onDateSet(datePicker, now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH)); + } + }); + } + String labelCancel = jsonDate.cancelText.isEmpty() ? currentCtx.getString(android.R.string.cancel) : jsonDate.cancelText; + dateDialog.setButton(DialogInterface.BUTTON_NEGATIVE, labelCancel, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + canceled = true; + callbackContext.error(RESULT_CANCEL); + } + }); + String labelOk = jsonDate.okText.isEmpty() ? currentCtx.getString(android.R.string.ok) : jsonDate.okText; + dateDialog.setButton(DialogInterface.BUTTON_POSITIVE, labelOk, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + DatePicker datePicker = dateDialog.getDatePicker(); + datePicker.clearFocus(); + dateListener.onDateSet(datePicker, datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth()); + } + }); + + DatePicker dp = dateDialog.getDatePicker(); + if(jsonDate.minDate > 0) { + dp.setMinDate(jsonDate.minDate); + } + if(jsonDate.maxDate > 0 && jsonDate.maxDate > jsonDate.minDate) { + dp.setMaxDate(jsonDate.maxDate); + } + } + + private void prepareDialogPreHoneycomb(DatePickerDialog dateDialog, + final CallbackContext callbackContext, Context currentCtx, final JsonDate jsonDate){ + java.lang.reflect.Field mDatePickerField = null; + try { + mDatePickerField = dateDialog.getClass().getDeclaredField("mDatePicker"); + } catch (NoSuchFieldException e) { + callbackContext.error(RESULT_ERROR); + } + mDatePickerField.setAccessible(true); + DatePicker pickerView = null; + try { + pickerView = (DatePicker) mDatePickerField.get(dateDialog); + } catch (IllegalArgumentException e) { + callbackContext.error(RESULT_ERROR); + } catch (IllegalAccessException e) { + callbackContext.error(RESULT_ERROR); + } + + final Calendar startDate = Calendar.getInstance(); + startDate.setTimeInMillis(jsonDate.minDate); + final Calendar endDate = Calendar.getInstance(); + endDate.setTimeInMillis(jsonDate.maxDate); + + final int minYear = startDate.get(Calendar.YEAR); + final int minMonth = startDate.get(Calendar.MONTH); + final int minDay = startDate.get(Calendar.DAY_OF_MONTH); + final int maxYear = endDate.get(Calendar.YEAR); + final int maxMonth = endDate.get(Calendar.MONTH); + final int maxDay = endDate.get(Calendar.DAY_OF_MONTH); + + if(startDate !=null || endDate != null) { + pickerView.init(jsonDate.year, jsonDate.month, jsonDate.day, new OnDateChangedListener() { + @Override + public void onDateChanged(DatePicker view, int year, int month, int day) { + if(jsonDate.maxDate > 0 && jsonDate.maxDate > jsonDate.minDate) { + if(year > maxYear || month > maxMonth && year == maxYear || day > maxDay && year == maxYear && month == maxMonth){ + view.updateDate(maxYear, maxMonth, maxDay); + } + } + if(jsonDate.minDate > 0) { + if(year < minYear || month < minMonth && year == minYear || day < minDay && year == minYear && month == minMonth) { + view.updateDate(minYear, minMonth, minDay); + } + } + } + }); + } + } + + private final class DateSetListener implements OnDateSetListener { + private JsonDate jsonDate; + private final DatePickerPlugin datePickerPlugin; + private final CallbackContext callbackContext; + private final int theme; + + private DateSetListener(DatePickerPlugin datePickerPlugin, int theme, CallbackContext callbackContext, JsonDate jsonDate) { + this.datePickerPlugin = datePickerPlugin; + this.callbackContext = callbackContext; + this.jsonDate = jsonDate; + this.theme = theme; + } + + /** + * Return a string containing the date in the format YYYY/MM/DD or call TimeDialog if action != date + */ + @Override + public void onDateSet(final DatePicker view, final int year, final int monthOfYear, final int dayOfMonth) { + if (canceled || called) { + return; + } + called = true; + canceled = false; + + Log.d("onDateSet", "called: " + called); + Log.d("onDateSet", "canceled: " + canceled); + Log.d("onDateSet", "mode: " + jsonDate.action); + + if (ACTION_DATE.equalsIgnoreCase(jsonDate.action)) { + String returnDate = year + "/" + (monthOfYear + 1) + "/" + dayOfMonth; + Log.d("onDateSet", "returnDate: " + returnDate); + + callbackContext.success(returnDate); + + } else { + // Open time dialog + Calendar selectedDate = Calendar.getInstance(); + selectedDate.set(Calendar.YEAR, year); + selectedDate.set(Calendar.MONTH, monthOfYear); + selectedDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); + + cordova.getActivity().runOnUiThread(runnableTimeDialog(datePickerPlugin, theme, cordova.getActivity(), + callbackContext, jsonDate, selectedDate)); + } + } + } + + private final class TimeSetListener implements OnTimeSetListener { + private Calendar calendarDate; + private final CallbackContext callbackContext; + + private TimeSetListener(DatePickerPlugin datePickerPlugin, CallbackContext callbackContext, Calendar selectedDate) { + this.callbackContext = callbackContext; + this.calendarDate = selectedDate != null ? selectedDate : Calendar.getInstance(); + } + + /** + * Return the current date with the time modified as it was set in the + * time picker. + */ + @Override + public void onTimeSet(final TimePicker view, final int hourOfDay, final int minute) { + if (canceled) { + return; + } + + calendarDate.set(Calendar.HOUR_OF_DAY, hourOfDay); + calendarDate.set(Calendar.MINUTE, minute); + calendarDate.set(Calendar.SECOND, 0); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + sdf.setTimeZone(TimeZone.getTimeZone("GMT")); + String toReturn = sdf.format(calendarDate.getTime()); + + callbackContext.success(toReturn); + } + } + + private final class JsonDate { + + private String action = ACTION_DATE; + private String titleText = ""; + private String okText = ""; + private String cancelText = ""; + private String todayText = ""; + private String nowText = ""; + private long minDate = 0; + private long maxDate = 0; + private int month = 0; + private int day = 0; + private int year = 0; + private int hour = 0; + private int minutes = 0; + private boolean is24Hour = false; + + public JsonDate() { + reset(Calendar.getInstance()); + } + + private void reset(Calendar c) { + year = c.get(Calendar.YEAR); + month = c.get(Calendar.MONTH); + day = c.get(Calendar.DAY_OF_MONTH); + hour = c.get(Calendar.HOUR_OF_DAY); + minutes = c.get(Calendar.MINUTE); + } + + public JsonDate fromJson(JSONArray data) { + try { + JSONObject obj = data.getJSONObject(0); + action = isNotEmpty(obj, "mode") ? obj.getString("mode") + : ACTION_DATE; + + minDate = isNotEmpty(obj, "minDate") ? obj.getLong("minDate") : 0l; + maxDate = isNotEmpty(obj, "maxDate") ? obj.getLong("maxDate") : 0l; + + titleText = isNotEmpty(obj, "titleText") ? obj.getString("titleText") : ""; + okText = isNotEmpty(obj, "okText") ? obj.getString("okText") : ""; + cancelText = isNotEmpty(obj, "cancelText") ? obj + .getString("cancelText") : ""; + todayText = isNotEmpty(obj, "todayText") ? obj + .getString("todayText") : ""; + nowText = isNotEmpty(obj, "nowText") ? obj.getString("nowText") + : ""; + is24Hour = isNotEmpty(obj, "is24Hour") ? obj.getBoolean("is24Hour") + : false; + + String optionDate = obj.getString("date"); + + String[] datePart = optionDate.split("/"); + month = Integer.parseInt(datePart[0]) - 1; + day = Integer.parseInt(datePart[1]); + year = Integer.parseInt(datePart[2]); + hour = Integer.parseInt(datePart[3]); + minutes = Integer.parseInt(datePart[4]); + + } catch (JSONException e) { + reset(Calendar.getInstance()); + } + + return this; + } + + public boolean isNotEmpty(JSONObject object, String key) + throws JSONException { + return object.has(key) + && !object.isNull(key) + && object.get(key).toString().length() > 0 + && !JSONObject.NULL.toString().equals( + object.get(key).toString()); + } + + } + +} diff --git a/platforms/android/app/src/main/java/cordova/plugin/RequestLocationAccuracy.java b/platforms/android/app/src/main/java/cordova/plugin/RequestLocationAccuracy.java new file mode 100755 index 00000000..65bd1d4c --- /dev/null +++ b/platforms/android/app/src/main/java/cordova/plugin/RequestLocationAccuracy.java @@ -0,0 +1,525 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package cordova.plugin; + +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaInterface; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.Manifest; +import android.app.Dialog; +import android.content.DialogInterface; +import android.util.Log; +import android.os.Bundle; +import android.app.Activity; +import android.content.Intent; +import android.content.IntentSender; + +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GoogleApiAvailability; +import com.google.android.gms.common.api.GoogleApiClient; +import com.google.android.gms.common.api.PendingResult; +import com.google.android.gms.common.api.ResultCallback; +import com.google.android.gms.common.api.Status; +import com.google.android.gms.location.LocationRequest; +import com.google.android.gms.location.LocationServices; +import com.google.android.gms.location.LocationSettingsRequest; +import com.google.android.gms.location.LocationSettingsResult; +import com.google.android.gms.location.LocationSettingsStatusCodes; + +import java.lang.reflect.Method; + +public class RequestLocationAccuracy extends CordovaPlugin implements + GoogleApiClient.ConnectionCallbacks, + GoogleApiClient.OnConnectionFailedListener, + ResultCallback { + public static final String TAG = "RequestLocationAccuracy"; + + /** + * Provides the entry point to Google Play services. + */ + protected GoogleApiClient mGoogleApiClient = null; + + /** + * Google API availability + */ + protected GoogleApiAvailability googleApiAvailability; + + + /** + * Stores parameters for requests to the FusedLocationProviderApi. + */ + protected LocationRequest mLocationRequest; + + /** + * Stores the types of location services the client is interested in using. Used for checking + * settings to determine if the device has optimal location settings. + */ + protected LocationSettingsRequest mLocationSettingsRequest; + + /** + * Constant used in the location settings dialog. + */ + protected static final int REQUEST_CHECK_SETTINGS = 0x1; + + /** + * Constant to indicated request for LocationRequest.PRIORITY_NO_POWER + */ + protected static final int REQUEST_PRIORITY_NO_POWER = 0; + + /** + * Constant to indicated request for LocationRequest.PRIORITY_LOW_POWER + */ + protected static final int REQUEST_PRIORITY_LOW_POWER = 1; + + /** + * Constant to indicated request for LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY + */ + protected static final int REQUEST_PRIORITY_BALANCED_POWER_ACCURACY = 2; + + /** + * Constant to indicated request for LocationRequest.HIGH_ACCURACY + */ + protected static final int REQUEST_PRIORITY_HIGH_ACCURACY = 3; + + /** + * Success due to current location settings already satisfying requested + * accuracy + */ + protected static final int SUCCESS_SETTINGS_SATISFIED = 0; + + /** + * Success due to user agreeing to requested accuracy change + */ + protected static final int SUCCESS_USER_AGREED = 1; + + /** + * Error due invalid action requested + */ + protected static final int ERROR_INVALID_ACTION = 0; + + /** + * Error due invalid accuracy requested + */ + protected static final int ERROR_INVALID_ACCURACY = 1; + + /** + * Error due to exception + */ + protected static final int ERROR_EXCEPTION = 2; + + /** + * Error due to not being able to change location accuracy to requested state + */ + protected static final int ERROR_CANNOT_CHANGE_ACCURACY = 3; + + /** + * Error due to user rejecting requested accuracy change + */ + protected static final int ERROR_USER_DISAGREED = 4; + + /** + * Error due to failure to connect to Google Play Services API + */ + protected static final int ERROR_GOOGLE_API_CONNECTION_FAILED = 5; + + /** + * Cordova callback context + */ + protected CallbackContext context = null; + + /** + * Indicates a permanent error, so doesn't recheck since the Google APIs won't invoke the listeners on subsequent calls. + */ + protected ConnectionResult permanentError = null; + + /** + * Constructor. + */ + public RequestLocationAccuracy() {} + + + /** + * Sets the context of the Command. This can then be used to do things like + * get file paths associated with the Activity. + * + * @param cordova The context of the main Activity. + * @param webView The CordovaWebView Cordova is running in. + */ + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + super.initialize(cordova, webView); + try { + googleApiAvailability = GoogleApiAvailability.getInstance(); + buildGoogleApiClient(); + }catch(Exception e ) { + handleError(e.getMessage(), ERROR_EXCEPTION); + } + } + + /** + * Executes the request and returns PluginResult. + * + * @param action The action to execute. + * @param args JSONArry of arguments for the plugin. + * @param callbackContext The callback id used when calling back into JavaScript. + * @return True if the action was valid, false if not. + */ + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + boolean result; + context = callbackContext; + try { + if(action.equals("request")) { + result = request(args.getInt(0)); + }else if(action.equals("canRequest")) { + result = canRequest(); + }else { + handleError("Invalid action", ERROR_INVALID_ACTION); + result = false; + } + }catch(Exception e ) { + handleError(e.getMessage(), ERROR_EXCEPTION); + result = false; + } + return result; + } + + public boolean request(int requestedAccuracy) throws Exception{ + if(permanentError != null){ + this.onConnectionFailed(permanentError); + return true; + } + + if(mGoogleApiClient == null){ + handleError("Google Play Services Client failed to initialize", ERROR_GOOGLE_API_CONNECTION_FAILED); + return true; + } + + int priority; + switch(requestedAccuracy){ + case REQUEST_PRIORITY_NO_POWER: + priority = LocationRequest.PRIORITY_NO_POWER; + break; + case REQUEST_PRIORITY_LOW_POWER: + priority = LocationRequest.PRIORITY_LOW_POWER; + break; + case REQUEST_PRIORITY_BALANCED_POWER_ACCURACY: + priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY; + break; + case REQUEST_PRIORITY_HIGH_ACCURACY: + priority = LocationRequest.PRIORITY_HIGH_ACCURACY; + break; + default: + handleError("'"+requestedAccuracy+"' is not a valid accuracy constant", ERROR_INVALID_ACCURACY); + return false; + } + + createLocationRequest(priority); + buildLocationSettingsRequest(); + checkLocationSettings(); + return true; + } + + public boolean canRequest() throws Exception{ + boolean _canRequest = isLocationAuthorized(); + context.success(_canRequest ? 1 : 0); + return true; + } + + private boolean isLocationAuthorized() throws Exception { + boolean authorized = hasPermission(Manifest.permission.ACCESS_FINE_LOCATION) || hasPermission(Manifest.permission.ACCESS_COARSE_LOCATION); + Log.v(TAG, "Location permission is " + (authorized ? "authorized" : "unauthorized")); + return authorized; + } + + private boolean hasPermission(String permission) throws Exception{ + boolean hasPermission = true; + Method method = null; + try { + method = cordova.getClass().getMethod("hasPermission", permission.getClass()); + Boolean bool = (Boolean) method.invoke(cordova, permission); + hasPermission = bool.booleanValue(); + } catch (NoSuchMethodException e) { + Log.w(TAG, "Cordova v" + CordovaWebView.CORDOVA_VERSION + " does not support runtime permissions so defaulting to GRANTED for " + permission); + } + return hasPermission; + } + + protected void handleError(String errorMsg, int errorCode){ + try { + Log.e(TAG, errorMsg); + if(context != null){ + JSONObject error = new JSONObject(); + error.put("message", errorMsg); + error.put("code", errorCode); + context.error(error); + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + } + } + + protected void handleSuccess(String msg, int code){ + try { + Log.i(TAG, msg); + if(context != null){ + JSONObject success = new JSONObject(); + success.put("message", msg); + success.put("code", code); + context.success(success); + } + } catch (JSONException e) { + handleError(e.getMessage(), ERROR_EXCEPTION); + } + } + + /** + * Builds a GoogleApiClient. Uses the {@code #addApi} method to request the + * LocationServices API. + */ + protected synchronized void buildGoogleApiClient() { + Log.i(TAG, "Building GoogleApiClient"); + mGoogleApiClient = new GoogleApiClient.Builder(this.cordova.getActivity()) + .addConnectionCallbacks(this) + .addOnConnectionFailedListener(this) + .addApi(LocationServices.API) + .build(); + + Log.i(TAG, "Connect Google API client"); + mGoogleApiClient.connect(); + } + + /** + * Sets up the location request. Android has two location request settings: + * {@code ACCESS_COARSE_LOCATION} and {@code ACCESS_FINE_LOCATION}. These settings control + * the accuracy of the current location. This sample uses ACCESS_FINE_LOCATION, as defined in + * the AndroidManifest.xml. + *

+ * When the ACCESS_FINE_LOCATION setting is specified, combined with a fast update + * interval (5 seconds), the Fused Location Provider API returns location updates that are + * accurate to within a few feet. + *

+ * These settings are appropriate for mapping applications that show real-time location + * updates. + */ + protected void createLocationRequest(int priority) { + Log.i(TAG, "Create location request"); + mLocationRequest = new LocationRequest(); + mLocationRequest.setPriority(priority); + } + + /** + * Uses a {@link com.google.android.gms.location.LocationSettingsRequest.Builder} to build + * a {@link com.google.android.gms.location.LocationSettingsRequest} that is used for checking + * if a device has the needed location settings. + */ + protected void buildLocationSettingsRequest() { + Log.i(TAG, "Build location settings request"); + LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder(); + builder.addLocationRequest(mLocationRequest); + builder.setAlwaysShow(true); + mLocationSettingsRequest = builder.build(); + } + + /** + * Check if the device's location settings are adequate for the app's needs using the + * {@link com.google.android.gms.location.SettingsApi#checkLocationSettings(GoogleApiClient, + * LocationSettingsRequest)} method, with the results provided through a {@code PendingResult}. + */ + protected void checkLocationSettings() { + Log.i(TAG, "Check location settings"); + PendingResult result = + LocationServices.SettingsApi.checkLocationSettings( + mGoogleApiClient, + mLocationSettingsRequest + ); + result.setResultCallback(this); + } + + /** + * The callback invoked when + * {@link com.google.android.gms.location.SettingsApi#checkLocationSettings(GoogleApiClient, + * LocationSettingsRequest)} is called. Examines the + * {@link com.google.android.gms.location.LocationSettingsResult} object and determines if + * location settings are adequate. If they are not, begins the process of presenting a location + * settings dialog to the user. + */ + @Override + public void onResult(LocationSettingsResult locationSettingsResult) { + Log.i(TAG, "onResult()"); + final Status status = locationSettingsResult.getStatus(); + switch (status.getStatusCode()) { + case LocationSettingsStatusCodes.SUCCESS: + String msg = "All location settings are satisfied."; + Log.i(TAG, msg); + handleSuccess(msg, SUCCESS_SETTINGS_SATISFIED); + break; + case LocationSettingsStatusCodes.RESOLUTION_REQUIRED: + Log.i(TAG, "Location settings are not satisfied. Show the user a dialog to upgrade location settings "); + try { + // Show the dialog by calling startResolutionForResult(), and check the result + // in onActivityResult(). + this.cordova.setActivityResultCallback(this); + status.startResolutionForResult(this.cordova.getActivity(), REQUEST_CHECK_SETTINGS); + } catch (IntentSender.SendIntentException e) { + handleError("PendingIntent unable to execute request: ".concat(e.getMessage()), ERROR_CANNOT_CHANGE_ACCURACY); + } + break; + case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE: + handleError("Location settings are inadequate, and cannot be fixed here. Dialog not created.", ERROR_CANNOT_CHANGE_ACCURACY); + break; + } + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + Log.i(TAG, "onActivityResult()"); + switch (requestCode) { + // Check for the integer request code originally supplied to startResolutionForResult(). + case REQUEST_CHECK_SETTINGS: + switch (resultCode) { + case Activity.RESULT_OK: + String msg = "User agreed to make required location settings changes."; + Log.i(TAG, msg); + handleSuccess(msg, SUCCESS_USER_AGREED); + break; + case Activity.RESULT_CANCELED: + handleError("User chose not to make required location settings changes.", ERROR_USER_DISAGREED); + break; + } + break; + } + } + + /** + * Runs when a GoogleApiClient object successfully connects. + */ + @Override + public void onConnected(Bundle connectionHint) { + Log.i(TAG, "Connected to GoogleApiClient"); + } + + @Override + public void onConnectionSuspended(int cause) { + Log.i(TAG, "Connection suspended"); + } + + @Override + public void onStart() { + Log.i(TAG, "On start"); + super.onStart(); + } + + @Override + public void onDestroy() { + Log.i(TAG, "On onDestroy"); + if(mGoogleApiClient != null){ + super.onStop(); + Log.i(TAG, "Disconnect Google API client"); + try { + mGoogleApiClient.disconnect(); + }catch(Exception e ) { + handleError(e.getMessage(), ERROR_EXCEPTION); + } + } + } + + @Override + public void onConnectionFailed(ConnectionResult result) { + // https://developers.google.com/android/reference/com/google/android/gms/common/ConnectionResult + permanentError = result; + String reason; + switch (result.getErrorCode()){ + case ConnectionResult.API_UNAVAILABLE: + reason = "One of the API components you attempted to connect to is not available."; + break; + case ConnectionResult.CANCELED: + reason = "The connection was canceled."; + break; + case ConnectionResult.DEVELOPER_ERROR: + reason = "The application is misconfigured."; + break; + case ConnectionResult.INTERNAL_ERROR: + reason = "An internal error occurred."; + break; + case ConnectionResult.INTERRUPTED: + reason = "An interrupt occurred while waiting for the connection complete."; + break; + case ConnectionResult.INVALID_ACCOUNT: + reason = "he client attempted to connect to the service with an invalid account name specified."; + break; + case ConnectionResult.LICENSE_CHECK_FAILED: + reason = "The application is not licensed to the user."; + break; + case ConnectionResult.NETWORK_ERROR: + reason = "A network error occurred."; + break; + case ConnectionResult.RESOLUTION_REQUIRED: + reason = "Completing the connection requires some form of resolution."; + break; + case ConnectionResult.SERVICE_DISABLED: + reason = "The installed version of Google Play services has been disabled on this device."; + break; + case ConnectionResult.SERVICE_INVALID: + reason = "The version of the Google Play services installed on this device is not authentic."; + break; + case ConnectionResult.SERVICE_MISSING: + reason = "Google Play services is missing on this device."; + break; + case ConnectionResult.SERVICE_MISSING_PERMISSION: + reason = "Google Play service doesn't have one or more required permissions."; + break; + case ConnectionResult.SERVICE_UPDATING: + reason = "Google Play service is currently being updated on this device."; + break; + case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED: + reason = "The installed version of Google Play services is out of date."; + break; + case ConnectionResult.SIGN_IN_FAILED: + reason = "The client attempted to connect to the service but the user is not signed in."; + break; + case ConnectionResult.SIGN_IN_REQUIRED: + reason = "The client attempted to connect to the service but the user is not signed in."; + break; + case ConnectionResult.TIMEOUT: + reason = "The timeout was exceeded while waiting for the connection to complete."; + break; + default: + reason = "Unknown reason"; + } + handleError("Failed to connect to Google Play Services: ".concat(reason), ERROR_GOOGLE_API_CONNECTION_FAILED); + + int status = googleApiAvailability.isGooglePlayServicesAvailable(cordova.getActivity().getApplicationContext()); + if (googleApiAvailability.isUserResolvableError (status)) { + Dialog dialog = googleApiAvailability.getErrorDialog(cordova.getActivity(),status, 0); + dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { + @Override + public void onCancel(DialogInterface dialogInterface) { + cordova.getActivity().finish(); + } + }); + dialog.show(); + permanentError = null; + } + } +} \ No newline at end of file diff --git a/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/Fingerprint.java b/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/Fingerprint.java new file mode 100755 index 00000000..98332b95 --- /dev/null +++ b/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/Fingerprint.java @@ -0,0 +1,431 @@ +/* + * Copyright (C) https://github.com/mjwheatley/cordova-plugin-android-fingerprint-auth + * Modifications copyright (C) 2016 Niklas Merz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package de.niklasmerz.cordova.fingerprint; + +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaInterface; + +import android.annotation.TargetApi; +import android.app.FragmentTransaction; +import android.app.KeyguardManager; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.hardware.fingerprint.FingerprintManager; +import android.os.Bundle; +import android.security.keystore.KeyGenParameterSpec; +import android.security.keystore.KeyPermanentlyInvalidatedException; +import android.security.keystore.KeyProperties; +import android.util.Base64; +import android.util.DisplayMetrics; +import android.util.Log; + +import org.apache.cordova.PluginResult; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.UnrecoverableKeyException; +import java.security.cert.CertificateException; +import java.util.Locale; + +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.KeyGenerator; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SecretKey; + +@TargetApi(23) +public class Fingerprint extends CordovaPlugin { + + public static final String TAG = "Fingerprint"; + public static String packageName; + + private static final String DIALOG_FRAGMENT_TAG = "FpAuthDialog"; + private static final String ANDROID_KEY_STORE = "AndroidKeyStore"; + + KeyguardManager mKeyguardManager; + FingerprintAuthenticationDialogFragment mFragment; + public static KeyStore mKeyStore; + public static KeyGenerator mKeyGenerator; + public static Cipher mCipher; + private FingerprintManager mFingerPrintManager; + + public static CallbackContext mCallbackContext; + public static PluginResult mPluginResult; + + /** + * Alias for our key in the Android Key Store + */ + private static String mClientId; + /** + * Used to encrypt token + */ + private static String mClientSecret; + + /** + * Options + */ + private static boolean mDisableBackup = false; + + /** + * Constructor. + */ + public Fingerprint() { + } + + /** + * Sets the context of the Command. This can then be used to do things like + * get file paths associated with the Activity. + * + * @param cordova The context of the main Activity. + * @param webView The CordovaWebView Cordova is running in. + */ + + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + super.initialize(cordova, webView); + Log.v(TAG, "Init Fingerprint"); + packageName = cordova.getActivity().getApplicationContext().getPackageName(); + mPluginResult = new PluginResult(PluginResult.Status.NO_RESULT); + + if (android.os.Build.VERSION.SDK_INT < 23) { + return; + } + + mKeyguardManager = cordova.getActivity().getSystemService(KeyguardManager.class); + mFingerPrintManager = cordova.getActivity().getApplicationContext() + .getSystemService(FingerprintManager.class); + + try { + mKeyGenerator = KeyGenerator.getInstance( + KeyProperties.KEY_ALGORITHM_AES, ANDROID_KEY_STORE); + mKeyStore = KeyStore.getInstance(ANDROID_KEY_STORE); + + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("Failed to get an instance of KeyGenerator", e); + } catch (NoSuchProviderException e) { + throw new RuntimeException("Failed to get an instance of KeyGenerator", e); + } catch (KeyStoreException e) { + throw new RuntimeException("Failed to get an instance of KeyStore", e); + } + + try { + mCipher = Cipher.getInstance(KeyProperties.KEY_ALGORITHM_AES + "/" + + KeyProperties.BLOCK_MODE_CBC + "/" + + KeyProperties.ENCRYPTION_PADDING_PKCS7); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("Failed to get an instance of Cipher", e); + } catch (NoSuchPaddingException e) { + throw new RuntimeException("Failed to get an instance of Cipher", e); + } + } + + /** + * Executes the request and returns PluginResult. + * + * @param action The action to execute. + * @param args JSONArry of arguments for the plugin. + * @param callbackContext The callback id used when calling back into JavaScript. + * @return A PluginResult object with a status and message. + */ + public boolean execute(final String action, + JSONArray args, + CallbackContext callbackContext) throws JSONException { + mCallbackContext = callbackContext; + Log.v(TAG, "Fingerprint action: " + action); + if (android.os.Build.VERSION.SDK_INT < 23) { + Log.e(TAG, "minimum SDK version 23 required"); + mPluginResult = new PluginResult(PluginResult.Status.ERROR); + mCallbackContext.error("minimum SDK version 23 required"); + mCallbackContext.sendPluginResult(mPluginResult); + return true; + } + + final JSONObject arg_object = args.getJSONObject(0); + + if (action.equals("authenticate")) { + if (!arg_object.has("clientId") || !arg_object.has("clientSecret")) { + mPluginResult = new PluginResult(PluginResult.Status.ERROR); + mCallbackContext.error("Missing required parameters"); + mCallbackContext.sendPluginResult(mPluginResult); + return true; + } + mClientId = arg_object.getString("clientId"); + mClientSecret = arg_object.getString("clientSecret"); + if (arg_object.has("disableBackup")) { + mDisableBackup = arg_object.getBoolean("disableBackup"); + } + // Set language + Resources res = cordova.getActivity().getResources(); + // Change locale settings in the app. + DisplayMetrics dm = res.getDisplayMetrics(); + Configuration conf = res.getConfiguration(); + //Do not change locale + res.updateConfiguration(conf, dm); + + if (isFingerprintAuthAvailable()) { + SecretKey key = getSecretKey(); + boolean isCipherInit = true; + if (key == null) { + if (createKey()) { + key = getSecretKey(); + } + } + if (key != null && !initCipher()) { + isCipherInit = false; + } + if (key != null) { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + // Set up the crypto object for later. The object will be authenticated by use + // of the fingerprint. + mFragment = new FingerprintAuthenticationDialogFragment(); + Bundle bundle = new Bundle(); + bundle.putBoolean("disableBackup", mDisableBackup); + mFragment.setArguments(bundle); + + if (initCipher()) { + mFragment.setCancelable(false); + // Show the fingerprint dialog. The user has the option to use the fingerprint with + // crypto, or you can fall back to using a server-side verified password. + mFragment.setCryptoObject(new FingerprintManager.CryptoObject(mCipher)); + FragmentTransaction transaction = cordova.getActivity().getFragmentManager().beginTransaction(); + transaction.add(mFragment, DIALOG_FRAGMENT_TAG); + transaction.commitAllowingStateLoss(); + } else { + if (!mDisableBackup) { + // This happens if the lock screen has been disabled or or a fingerprint got + // enrolled. Thus show the dialog to authenticate with their password + mFragment.setCryptoObject(new FingerprintManager + .CryptoObject(mCipher)); + mFragment.setStage(FingerprintAuthenticationDialogFragment + .Stage.NEW_FINGERPRINT_ENROLLED); + FragmentTransaction transaction = cordova.getActivity().getFragmentManager().beginTransaction(); + transaction.add(mFragment, DIALOG_FRAGMENT_TAG); + transaction.commitAllowingStateLoss(); + } else { + mCallbackContext.error("Failed to init Cipher and backup disabled."); + mPluginResult = new PluginResult(PluginResult.Status.ERROR); + mCallbackContext.sendPluginResult(mPluginResult); + } + } + } + }); + mPluginResult.setKeepCallback(true); + } else { + mCallbackContext.sendPluginResult(mPluginResult); + } + + } else { + mPluginResult = new PluginResult(PluginResult.Status.ERROR); + mCallbackContext.error("Fingerprint authentication not available"); + mCallbackContext.sendPluginResult(mPluginResult); + } + return true; + } else if (action.equals("isAvailable")) { + if(isFingerprintAuthAvailable() && mFingerPrintManager.isHardwareDetected() && mFingerPrintManager.hasEnrolledFingerprints()){ + mPluginResult = new PluginResult(PluginResult.Status.OK, "finger"); + mCallbackContext.success("finger"); + }else{ + mPluginResult = new PluginResult(PluginResult.Status.ERROR); + mCallbackContext.error("Fingerprint authentication not ready"); + } + mCallbackContext.sendPluginResult(mPluginResult); + return true; + } + return false; + } + + private boolean isFingerprintAuthAvailable() { + return mFingerPrintManager.isHardwareDetected() + && mFingerPrintManager.hasEnrolledFingerprints(); + } + + /** + * Initialize the {@link Cipher} instance with the created key in the {@link #createKey()} + * method. + * + * @return {@code true} if initialization is successful, {@code false} if the lock screen has + * been disabled or reset after the key was generated, or if a fingerprint got enrolled after + * the key was generated. + */ + private static boolean initCipher() { + boolean initCipher = false; + String errorMessage = ""; + String initCipherExceptionErrorPrefix = "Failed to init Cipher: "; + try { + SecretKey key = getSecretKey(); + mCipher.init(Cipher.ENCRYPT_MODE, key); + initCipher = true; + } catch (InvalidKeyException e) { + errorMessage = initCipherExceptionErrorPrefix + "InvalidKeyException: " + e.toString(); + + } + if (!initCipher) { + Log.e(TAG, errorMessage); + createKey(); + } + return initCipher; + } + + private static SecretKey getSecretKey() { + String errorMessage = ""; + String getSecretKeyExceptionErrorPrefix = "Failed to get SecretKey from KeyStore: "; + SecretKey key = null; + try { + mKeyStore.load(null); + key = (SecretKey) mKeyStore.getKey(mClientId, null); + } catch (KeyStoreException e) { + errorMessage = getSecretKeyExceptionErrorPrefix + + "KeyStoreException: " + e.toString();; + } catch (CertificateException e) { + errorMessage = getSecretKeyExceptionErrorPrefix + + "CertificateException: " + e.toString();; + } catch (UnrecoverableKeyException e) { + errorMessage = getSecretKeyExceptionErrorPrefix + + "UnrecoverableKeyException: " + e.toString();; + } catch (IOException e) { + errorMessage = getSecretKeyExceptionErrorPrefix + + "IOException: " + e.toString();; + } catch (NoSuchAlgorithmException e) { + errorMessage = getSecretKeyExceptionErrorPrefix + + "NoSuchAlgorithmException: " + e.toString();; + } + if (key == null) { + Log.e(TAG, errorMessage); + } + return key; + } + + /** + * Creates a symmetric key in the Android Key Store which can only be used after the user has + * authenticated with fingerprint. + */ + public static boolean createKey() { + String errorMessage = ""; + String createKeyExceptionErrorPrefix = "Failed to create key: "; + boolean isKeyCreated = false; + // The enrolling flow for fingerprint. This is where you ask the user to set up fingerprint + // for your flow. Use of keys is necessary if you need to know if the set of + // enrolled fingerprints has changed. + try { + mKeyStore.load(null); + // Set the alias of the entry in Android KeyStore where the key will appear + // and the constrains (purposes) in the constructor of the Builder + mKeyGenerator.init(new KeyGenParameterSpec.Builder(mClientId, + KeyProperties.PURPOSE_ENCRYPT | + KeyProperties.PURPOSE_DECRYPT) + .setBlockModes(KeyProperties.BLOCK_MODE_CBC) + // Require the user to authenticate with a fingerprint to authorize every use + // of the key + .setUserAuthenticationRequired(true) + .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7) + .build()); + mKeyGenerator.generateKey(); + isKeyCreated = true; + } catch (NoSuchAlgorithmException e) { + errorMessage = createKeyExceptionErrorPrefix + + "NoSuchAlgorithmException: " + e.toString();; + } catch (InvalidAlgorithmParameterException e) { + errorMessage = createKeyExceptionErrorPrefix + + "InvalidAlgorithmParameterException: " + e.toString();; + } catch (CertificateException e) { + errorMessage = createKeyExceptionErrorPrefix + + "CertificateException: " + e.toString();; + } catch (IOException e) { + errorMessage = createKeyExceptionErrorPrefix + + "IOException: " + e.toString();; + } + if (!isKeyCreated) { + Log.e(TAG, errorMessage); + setPluginResultError(errorMessage); + } + return isKeyCreated; + } + + public static void onAuthenticated(boolean withFingerprint) { + JSONObject resultJson = new JSONObject(); + String errorMessage = ""; + boolean createdResultJson = false; + try { + + if (withFingerprint) { + // If the user has authenticated with fingerprint, verify that using cryptography and + // then return the encrypted token + byte[] encrypted = tryEncrypt(); + resultJson.put("withFingerprint", Base64.encodeToString(encrypted, 0 /* flags */)); + } else { + // Authentication happened with backup password. + resultJson.put("withPassword", true); + + // if failed to init cipher because of InvalidKeyException, create new key + if (!initCipher()) { + createKey(); + } + } + createdResultJson = true; + } catch (BadPaddingException e) { + errorMessage = "Failed to encrypt the data with the generated key:" + + " BadPaddingException: " + e.getMessage(); + Log.e(TAG, errorMessage); + } catch (IllegalBlockSizeException e) { + errorMessage = "Failed to encrypt the data with the generated key: " + + "IllegalBlockSizeException: " + e.getMessage(); + Log.e(TAG, errorMessage); + } catch (JSONException e) { + errorMessage = "Failed to set resultJson key value pair: " + e.getMessage(); + Log.e(TAG, errorMessage); + } + + if (createdResultJson) { + mCallbackContext.success(resultJson); + mPluginResult = new PluginResult(PluginResult.Status.OK); + } else { + mCallbackContext.error(errorMessage); + mPluginResult = new PluginResult(PluginResult.Status.ERROR); + } + mCallbackContext.sendPluginResult(mPluginResult); + } + + public static void onCancelled() { + mCallbackContext.error("Cancelled"); + } + + /** + * Tries to encrypt some data with the generated key in {@link #createKey} which is + * only works if the user has just authenticated via fingerprint. + */ + private static byte[] tryEncrypt() throws BadPaddingException, IllegalBlockSizeException { + return mCipher.doFinal(mClientSecret.getBytes()); + } + + public static boolean setPluginResultError(String errorMessage) { + mCallbackContext.error(errorMessage); + mPluginResult = new PluginResult(PluginResult.Status.ERROR); + return false; + } +} \ No newline at end of file diff --git a/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.java b/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.java new file mode 100755 index 00000000..e06c5e06 --- /dev/null +++ b/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/FingerprintAuthenticationDialogFragment.java @@ -0,0 +1,268 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * Modifications copyright (C) 2016 Niklas Merz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package de.niklasmerz.cordova.fingerprint; + +import android.app.DialogFragment; +import android.app.KeyguardManager; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.hardware.fingerprint.FingerprintManager; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +/** + * A dialog which uses fingerprint APIs to authenticate the user, and falls back to password + * authentication if fingerprint is not available. + */ +public class FingerprintAuthenticationDialogFragment extends DialogFragment + implements FingerprintUiHelper.Callback { + + private static final String TAG = "FingerprintAuthDialog"; + private static final int REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS = 1; + + private Button mCancelButton; + private Button mSecondDialogButton; + private View mFingerprintContent; + + private Stage mStage = Stage.FINGERPRINT; + + private KeyguardManager mKeyguardManager; + private FingerprintManager.CryptoObject mCryptoObject; + private FingerprintUiHelper mFingerprintUiHelper; + FingerprintUiHelper.FingerprintUiHelperBuilder mFingerprintUiHelperBuilder; + + boolean disableBackup; + + public FingerprintAuthenticationDialogFragment() { + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Do not create a new Fragment when the Activity is re-created such as orientation changes. + setRetainInstance(true); + setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme_Material_Light_Dialog); + + mKeyguardManager = (KeyguardManager) getContext().getSystemService(Context.KEYGUARD_SERVICE); + mFingerprintUiHelperBuilder = new FingerprintUiHelper.FingerprintUiHelperBuilder( + getContext(), getContext().getSystemService(FingerprintManager.class)); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + Bundle args = getArguments(); + disableBackup = args.getBoolean("disableBackup"); + Log.d(TAG, "disableBackup: " + disableBackup); + + int fingerprint_auth_dialog_title_id = getResources() + .getIdentifier("fingerprint_auth_dialog_title", "string", + Fingerprint.packageName); + getDialog().setTitle(getString(fingerprint_auth_dialog_title_id)); + int fingerprint_dialog_container_id = getResources() + .getIdentifier("fingerprint_dialog_container", "layout", + Fingerprint.packageName); + View v = inflater.inflate(fingerprint_dialog_container_id, container, false); + int cancel_button_id = getResources() + .getIdentifier("cancel_button", "id", Fingerprint.packageName); + mCancelButton = (Button) v.findViewById(cancel_button_id); + mCancelButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Fingerprint.onCancelled(); + dismiss(); + } + }); + + int second_dialog_button_id = getResources() + .getIdentifier("second_dialog_button", "id", Fingerprint.packageName); + mSecondDialogButton = (Button) v.findViewById(second_dialog_button_id); + if (disableBackup) { + mSecondDialogButton.setVisibility(View.GONE); + } + mSecondDialogButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + goToBackup(); + } + }); + int fingerprint_container_id = getResources() + .getIdentifier("fingerprint_container", "id", Fingerprint.packageName); + mFingerprintContent = v.findViewById(fingerprint_container_id); + + int new_fingerprint_enrolled_description_id = getResources() + .getIdentifier("new_fingerprint_enrolled_description", "id", + Fingerprint.packageName); + + int fingerprint_icon_id = getResources() + .getIdentifier("fingerprint_icon", "id", Fingerprint.packageName); + int fingerprint_status_id = getResources() + .getIdentifier("fingerprint_status", "id", Fingerprint.packageName); + mFingerprintUiHelper = mFingerprintUiHelperBuilder.build( + (ImageView) v.findViewById(fingerprint_icon_id), + (TextView) v.findViewById(fingerprint_status_id), this); + updateStage(); + + // If fingerprint authentication is not available, switch immediately to the backup + // (password) screen. + if (!mFingerprintUiHelper.isFingerprintAuthAvailable()) { + goToBackup(); + } + return v; + } + + + @Override + public void onResume() { + super.onResume(); + if (mStage == Stage.FINGERPRINT) { + mFingerprintUiHelper.startListening(mCryptoObject); + } + } + + public void setStage(Stage stage) { + mStage = stage; + } + + @Override + public void onPause() { + super.onPause(); + mFingerprintUiHelper.stopListening(); + } + + /** + * Sets the crypto object to be passed in when authenticating with fingerprint. + */ + public void setCryptoObject(FingerprintManager.CryptoObject cryptoObject) { + mCryptoObject = cryptoObject; + } + + /** + * Switches to backup (password) screen. This either can happen when fingerprint is not + * available or the user chooses to use the password authentication method by pressing the + * button. This can also happen when the user had too many fingerprint attempts. + */ + private void goToBackup() { + if(disableBackup) + { + Fingerprint.onCancelled(); + dismiss(); + } + else{ + mStage = Stage.BACKUP; + updateStage(); + } + } + + private void updateStage() { + int cancel_id = getResources() + .getIdentifier("fingerprint_cancel", "string", Fingerprint.packageName); + switch (mStage) { + case FINGERPRINT: + mCancelButton.setText(cancel_id); + int use_backup_id = getResources() + .getIdentifier("fingerprint_use_backup", "string", Fingerprint.packageName); + mSecondDialogButton.setText(use_backup_id); + mFingerprintContent.setVisibility(View.VISIBLE); + break; + case NEW_FINGERPRINT_ENROLLED: + // Intentional fall through + case BACKUP: + if (mStage == Stage.NEW_FINGERPRINT_ENROLLED) { + + } + if (!mKeyguardManager.isKeyguardSecure()) { + // Show a message that the user hasn't set up a lock screen. + int secure_lock_screen_required_id = getResources() + .getIdentifier("secure_lock_screen_required", "string", + Fingerprint.packageName); + Toast.makeText(getContext(), + getString(secure_lock_screen_required_id), + Toast.LENGTH_LONG).show(); + return; + } + showAuthenticationScreen(); + break; + } + } + + private void showAuthenticationScreen() { + // Create the Confirm Credentials screen. You can customize the title and description. Or + // we will provide a generic one for you if you leave it null + Intent intent = mKeyguardManager.createConfirmDeviceCredentialIntent(null, null); + if (intent != null) { + startActivityForResult(intent, REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS); + } + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (requestCode == REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS) { + // Challenge completed, proceed with using cipher + if (resultCode == getActivity().RESULT_OK) { + Fingerprint.onAuthenticated(false /* used backup */); + } else { + // The user canceled or didn’t complete the lock screen + // operation. Go to error/cancellation flow. + Fingerprint.onCancelled(); + } + dismiss(); + } + } + + @Override + public void onAuthenticated() { + // Callback from FingerprintUiHelper. Let the activity know that authentication was + // successful. + Fingerprint.onAuthenticated(true /* withFingerprint */); + dismiss(); + } + + @Override + public void onError() { + if(this.getActivity() != null) + goToBackup(); + } + + @Override + public void onCancel(DialogInterface dialog) { + super.onCancel(dialog); + Fingerprint.onCancelled(); + } + + /** + * Enumeration to indicate which authentication method the user is trying to authenticate with. + */ + public enum Stage { + FINGERPRINT, + NEW_FINGERPRINT_ENROLLED, + BACKUP + } +} diff --git a/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.java b/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.java new file mode 100755 index 00000000..e1402c58 --- /dev/null +++ b/platforms/android/app/src/main/java/de/niklasmerz/cordova/fingerprint/FingerprintUiHelper.java @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * Modifications copyright (C) 2016 Niklas Merz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package de.niklasmerz.cordova.fingerprint; + +import android.annotation.TargetApi; +import android.content.Context; +import android.hardware.fingerprint.FingerprintManager; +import android.os.CancellationSignal; +import android.widget.ImageView; +import android.widget.TextView; + + +/** + * Small helper class to manage text/icon around fingerprint authentication UI. + */ +@TargetApi(23) +public class FingerprintUiHelper extends FingerprintManager.AuthenticationCallback { + + static final long ERROR_TIMEOUT_MILLIS = 1600; + static final long SUCCESS_DELAY_MILLIS = 1300; + + private final Context mContext; + private final FingerprintManager mFingerprintManager; + private final ImageView mIcon; + private final TextView mErrorTextView; + private final Callback mCallback; + private CancellationSignal mCancellationSignal; + + boolean mSelfCancelled; + + /** + * Builder class for {@link FingerprintUiHelper} in which injected fields from Dagger + * holds its fields and takes other arguments in the {@link #build} method. + */ + public static class FingerprintUiHelperBuilder { + private final FingerprintManager mFingerPrintManager; + private final Context mContext; + + public FingerprintUiHelperBuilder(Context context, FingerprintManager fingerprintManager) { + mFingerPrintManager = fingerprintManager; + mContext = context; + } + + public FingerprintUiHelper build(ImageView icon, TextView errorTextView, Callback callback) { + return new FingerprintUiHelper(mContext, mFingerPrintManager, icon, errorTextView, + callback); + } + } + + /** + * Constructor for {@link FingerprintUiHelper}. This method is expected to be called from + * only the {@link FingerprintUiHelperBuilder} class. + */ + private FingerprintUiHelper(Context context, FingerprintManager fingerprintManager, + ImageView icon, TextView errorTextView, Callback callback) { + mFingerprintManager = fingerprintManager; + mIcon = icon; + mErrorTextView = errorTextView; + mCallback = callback; + mContext = context; + } + + public boolean isFingerprintAuthAvailable() { + return mFingerprintManager.isHardwareDetected() + && mFingerprintManager.hasEnrolledFingerprints(); + } + + public void startListening(FingerprintManager.CryptoObject cryptoObject) { + if (!isFingerprintAuthAvailable()) { + return; + } + mCancellationSignal = new CancellationSignal(); + mSelfCancelled = false; + mFingerprintManager + .authenticate(cryptoObject, mCancellationSignal, 0 /* flags */, this, null); + + int ic_fp_40px_id = mContext.getResources() + .getIdentifier("ic_fp_40px", "drawable", Fingerprint.packageName); + mIcon.setImageResource(ic_fp_40px_id); + } + + public void stopListening() { + if (mCancellationSignal != null) { + mSelfCancelled = true; + mCancellationSignal.cancel(); + mCancellationSignal = null; + } + } + + @Override + public void onAuthenticationError(int errMsgId, CharSequence errString) { + if (!mSelfCancelled) { + showError(errString); + mIcon.postDelayed(new Runnable() { + @Override + public void run() { + mCallback.onError(); + } + }, ERROR_TIMEOUT_MILLIS); + } + } + + @Override + public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) { + showError(helpString); + } + + @Override + public void onAuthenticationFailed() { + int fingerprint_not_recognized_id = mContext.getResources() + .getIdentifier("fingerprint_not_recognized", "string", Fingerprint.packageName); + showError(mIcon.getResources().getString( + fingerprint_not_recognized_id)); + } + + @Override + public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) { + mErrorTextView.removeCallbacks(mResetErrorTextRunnable); + int ic_fingerprint_success_id = mContext.getResources() + .getIdentifier("ic_fingerprint_success", "drawable", Fingerprint.packageName); + mIcon.setImageResource(ic_fingerprint_success_id); + int success_color_id = mContext.getResources() + .getIdentifier("success_color", "color", Fingerprint.packageName); + mErrorTextView.setTextColor( + mErrorTextView.getResources().getColor(success_color_id, null)); + int fingerprint_success_id = mContext.getResources() + .getIdentifier("fingerprint_success", "string", Fingerprint.packageName); + mErrorTextView.setText( + mErrorTextView.getResources().getString(fingerprint_success_id)); + mIcon.postDelayed(new Runnable() { + @Override + public void run() { + mCallback.onAuthenticated(); + } + }, SUCCESS_DELAY_MILLIS); + } + + private void showError(CharSequence error) { + int ic_fingerprint_error_id = mContext.getResources() + .getIdentifier("ic_fingerprint_error", "drawable", Fingerprint.packageName); + mIcon.setImageResource(ic_fingerprint_error_id); + mErrorTextView.setText(error); + int warning_color_id = mContext.getResources() + .getIdentifier("warning_color", "color", Fingerprint.packageName); + mErrorTextView.setTextColor( + mErrorTextView.getResources().getColor(warning_color_id, null)); + mErrorTextView.removeCallbacks(mResetErrorTextRunnable); + mErrorTextView.postDelayed(mResetErrorTextRunnable, ERROR_TIMEOUT_MILLIS); + } + + Runnable mResetErrorTextRunnable = new Runnable() { + @Override + public void run() { + int hint_color_id = mContext.getResources() + .getIdentifier("hint_color", "color", Fingerprint.packageName); + mErrorTextView.setTextColor( + mErrorTextView.getResources().getColor(hint_color_id, null)); + int fingerprint_hint_id = mContext.getResources() + .getIdentifier("fingerprint_hint", "string", Fingerprint.packageName); + mErrorTextView.setText( + mErrorTextView.getResources().getString(fingerprint_hint_id)); + int ic_fp_40px_id = mContext.getResources() + .getIdentifier("ic_fp_40px", "drawable", Fingerprint.packageName); + mIcon.setImageResource(ic_fp_40px_id); + } + }; + + public interface Callback { + + void onAuthenticated(); + + void onError(); + } +} diff --git a/platforms/android/app/src/main/java/io/ionic/keyboard/IonicKeyboard.java b/platforms/android/app/src/main/java/io/ionic/keyboard/IonicKeyboard.java new file mode 100755 index 00000000..3abd5f80 --- /dev/null +++ b/platforms/android/app/src/main/java/io/ionic/keyboard/IonicKeyboard.java @@ -0,0 +1,134 @@ +package io.ionic.keyboard; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.PluginResult; +import org.apache.cordova.PluginResult.Status; +import org.json.JSONArray; +import org.json.JSONException; + +import android.content.Context; +import android.graphics.Rect; +import android.util.DisplayMetrics; +import android.view.View; +import android.view.ViewTreeObserver.OnGlobalLayoutListener; +import android.view.inputmethod.InputMethodManager; + +// import additionally required classes for calculating screen height +import android.view.Display; +import android.graphics.Point; +import android.os.Build; + +public class IonicKeyboard extends CordovaPlugin { + private OnGlobalLayoutListener list; + private View rootView; + + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + super.initialize(cordova, webView); + } + + public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException { + if ("hide".equals(action)) { + cordova.getThreadPool().execute(new Runnable() { + public void run() { + //http://stackoverflow.com/a/7696791/1091751 + InputMethodManager inputManager = (InputMethodManager) cordova.getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); + View v = cordova.getActivity().getCurrentFocus(); + + if (v == null) { + callbackContext.error("No current focus"); + } else { + inputManager.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); + callbackContext.success(); // Thread-safe. + } + } + }); + return true; + } + if ("show".equals(action)) { + cordova.getThreadPool().execute(new Runnable() { + public void run() { + ((InputMethodManager) cordova.getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY); + callbackContext.success(); // Thread-safe. + } + }); + return true; + } + if ("init".equals(action)) { + cordova.getThreadPool().execute(new Runnable() { + public void run() { + //calculate density-independent pixels (dp) + //http://developer.android.com/guide/practices/screens_support.html + DisplayMetrics dm = new DisplayMetrics(); + cordova.getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); + final float density = dm.density; + + //http://stackoverflow.com/a/4737265/1091751 detect if keyboard is showing + rootView = cordova.getActivity().getWindow().getDecorView().findViewById(android.R.id.content).getRootView(); + list = new OnGlobalLayoutListener() { + int previousHeightDiff = 0; + @Override + public void onGlobalLayout() { + Rect r = new Rect(); + //r will be populated with the coordinates of your view that area still visible. + rootView.getWindowVisibleDisplayFrame(r); + + PluginResult result; + + // cache properties for later use + int rootViewHeight = rootView.getRootView().getHeight(); + int resultBottom = r.bottom; + + // calculate screen height differently for android versions >= 21: Lollipop 5.x, Marshmallow 6.x + //http://stackoverflow.com/a/29257533/3642890 beware of nexus 5 + int screenHeight; + + if (Build.VERSION.SDK_INT >= 21) { + Display display = cordova.getActivity().getWindowManager().getDefaultDisplay(); + Point size = new Point(); + display.getSize(size); + screenHeight = size.y; + } else { + screenHeight = rootViewHeight; + } + + int heightDiff = screenHeight - resultBottom; + + int pixelHeightDiff = (int)(heightDiff / density); + if (pixelHeightDiff > 100 && pixelHeightDiff != previousHeightDiff) { // if more than 100 pixels, its probably a keyboard... + String msg = "S" + Integer.toString(pixelHeightDiff); + result = new PluginResult(PluginResult.Status.OK, msg); + result.setKeepCallback(true); + callbackContext.sendPluginResult(result); + } + else if ( pixelHeightDiff != previousHeightDiff && ( previousHeightDiff - pixelHeightDiff ) > 100 ){ + String msg = "H"; + result = new PluginResult(PluginResult.Status.OK, msg); + result.setKeepCallback(true); + callbackContext.sendPluginResult(result); + } + previousHeightDiff = pixelHeightDiff; + } + }; + + rootView.getViewTreeObserver().addOnGlobalLayoutListener(list); + + + PluginResult dataResult = new PluginResult(PluginResult.Status.OK); + dataResult.setKeepCallback(true); + callbackContext.sendPluginResult(dataResult); + } + }); + return true; + } + return false; // Returning false results in a "MethodNotFound" error. + } + + @Override + public void onDestroy() { + rootView.getViewTreeObserver().removeOnGlobalLayoutListener(list); + } + +} diff --git a/platforms/android/app/src/main/java/io/ionic/starter/MainActivity.java b/platforms/android/app/src/main/java/io/ionic/starter/MainActivity.java new file mode 100644 index 00000000..116ca28f --- /dev/null +++ b/platforms/android/app/src/main/java/io/ionic/starter/MainActivity.java @@ -0,0 +1,41 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ + +package io.ionic.starter; + +import android.os.Bundle; +import org.apache.cordova.*; + +public class MainActivity extends CordovaActivity +{ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + // enable Cordova apps to be started in the background + Bundle extras = getIntent().getExtras(); + if (extras != null && extras.getBoolean("cdvStartInBackground", false)) { + moveTaskToBack(true); + } + + // Set by in config.xml + loadUrl(launchUrl); + } +} diff --git a/platforms/android/app/src/main/java/io/sqlc/SQLiteAndroidDatabase.java b/platforms/android/app/src/main/java/io/sqlc/SQLiteAndroidDatabase.java new file mode 100755 index 00000000..3c68d6f9 --- /dev/null +++ b/platforms/android/app/src/main/java/io/sqlc/SQLiteAndroidDatabase.java @@ -0,0 +1,582 @@ +/* + * Copyright (c) 2012-present Christopher J. Brody (aka Chris Brody) + * Copyright (c) 2005-2010, Nitobi Software Inc. + * Copyright (c) 2010, IBM Corporation + */ + +package io.sqlc; + +import android.annotation.SuppressLint; + +import android.database.Cursor; +import android.database.CursorWindow; + +import android.database.sqlite.SQLiteConstraintException; +import android.database.sqlite.SQLiteCursor; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteException; +import android.database.sqlite.SQLiteStatement; + +import android.util.Log; + +import java.io.File; + +import java.lang.IllegalArgumentException; +import java.lang.Number; + +import java.util.Locale; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.apache.cordova.CallbackContext; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/** + * Android Database helper class + */ +class SQLiteAndroidDatabase +{ + private static final Pattern FIRST_WORD = Pattern.compile("^[\\s;]*([^\\s;]+)", + Pattern.CASE_INSENSITIVE); + + private static final Pattern WHERE_CLAUSE = Pattern.compile("\\s+WHERE\\s+(.+)$", + Pattern.CASE_INSENSITIVE); + + private static final Pattern UPDATE_TABLE_NAME = Pattern.compile("^\\s*UPDATE\\s+(\\S+)", + Pattern.CASE_INSENSITIVE); + + private static final Pattern DELETE_TABLE_NAME = Pattern.compile("^\\s*DELETE\\s+FROM\\s+(\\S+)", + Pattern.CASE_INSENSITIVE); + + private static final boolean isPostHoneycomb = android.os.Build.VERSION.SDK_INT >= 11; + + File dbFile; + + SQLiteDatabase mydb; + + boolean isTransactionActive = false; + + /** + * NOTE: Using default constructor, no explicit constructor. + */ + + /** + * Open a database. + * + * @param dbfile The database File specification + */ + void open(File dbfile) throws Exception { + dbFile = dbfile; // for possible bug workaround + mydb = SQLiteDatabase.openOrCreateDatabase(dbfile, null); + } + + /** + * Close a database (in the current thread). + */ + void closeDatabaseNow() { + if (mydb != null) { + if (isTransactionActive) { + try { + mydb.endTransaction(); + } catch (Exception ex) { + Log.v("closeDatabaseNow", "INTERNAL PLUGIN ERROR IGNORED: Not able to end active transaction before closing database: " + ex.getMessage()); + ex.printStackTrace(); + } + isTransactionActive = false; + } + mydb.close(); + mydb = null; + } + } + + void bugWorkaround() throws Exception { + this.closeDatabaseNow(); + this.open(dbFile); + } + + /** + * Executes a batch request and sends the results via cbc. + * + * @param queryarr Array of query strings + * @param jsonparamsArr Array of JSON query parameters + * @param cbc Callback context from Cordova API + */ + void executeSqlBatch(String[] queryarr, JSONArray[] jsonparamsArr, CallbackContext cbc) { + + if (mydb == null) { + // not allowed - can only happen if someone has closed (and possibly deleted) a database and then re-used the database + // (internal plugin error) + cbc.error("INTERNAL PLUGIN ERROR: database not open"); + return; + } + + int len = queryarr.length; + JSONArray batchResults = new JSONArray(); + + for (int i = 0; i < len; i++) { + executeSqlBatchStatement(queryarr[i], jsonparamsArr[i], batchResults); + } + + cbc.success(batchResults); + } + + @SuppressLint("NewApi") + private void executeSqlBatchStatement(String query, JSONArray json_params, JSONArray batchResults) { + + if (mydb == null) { + // Should not happen here + return; + + } else { + + int rowsAffectedCompat = 0; + boolean needRowsAffectedCompat = false; + + JSONObject queryResult = null; + + String errorMessage = "unknown"; + int code = 0; // SQLException.UNKNOWN_ERR + + try { + boolean needRawQuery = true; + + //Log.v("executeSqlBatch", "get query type"); + QueryType queryType = getQueryType(query); + //Log.v("executeSqlBatch", "query type: " + queryType); + + if (queryType == QueryType.update || queryType == queryType.delete) { + if (isPostHoneycomb) { + SQLiteStatement myStatement = mydb.compileStatement(query); + + if (json_params != null) { + bindArgsToStatement(myStatement, json_params); + } + + int rowsAffected = -1; // (assuming invalid) + + // Use try & catch just in case android.os.Build.VERSION.SDK_INT >= 11 is lying: + // (Catch SQLiteException here to avoid extra retry) + try { + rowsAffected = myStatement.executeUpdateDelete(); + // Indicate valid results: + needRawQuery = false; + } catch (SQLiteConstraintException ex) { + // Indicate problem & stop this query: + ex.printStackTrace(); + errorMessage = "constraint failure: " + ex.getMessage(); + code = 6; // SQLException.CONSTRAINT_ERR + Log.v("executeSqlBatch", "SQLiteStatement.executeUpdateDelete(): Error=" + errorMessage); + needRawQuery = false; + } catch (SQLiteException ex) { + // Indicate problem & stop this query: + ex.printStackTrace(); + errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLiteStatement.executeUpdateDelete(): Error=" + errorMessage); + needRawQuery = false; + } catch (Exception ex) { + // Assuming SDK_INT was lying & method not found: + // do nothing here & try again with raw query. + ex.printStackTrace(); + Log.v("executeSqlBatch", "SQLiteStatement.executeUpdateDelete(): runtime error (fallback to old API): " + errorMessage); + } + + // "finally" cleanup myStatement + myStatement.close(); + + if (rowsAffected != -1) { + queryResult = new JSONObject(); + queryResult.put("rowsAffected", rowsAffected); + } + } + + if (needRawQuery) { // for pre-honeycomb behavior + rowsAffectedCompat = countRowsAffectedCompat(queryType, query, json_params, mydb); + needRowsAffectedCompat = true; + } + } + + // INSERT: + if (queryType == QueryType.insert && json_params != null) { + needRawQuery = false; + + SQLiteStatement myStatement = mydb.compileStatement(query); + + bindArgsToStatement(myStatement, json_params); + + long insertId = -1; // (invalid) + + try { + insertId = myStatement.executeInsert(); + + // statement has finished with no constraint violation: + queryResult = new JSONObject(); + if (insertId != -1) { + queryResult.put("insertId", insertId); + queryResult.put("rowsAffected", 1); + } else { + queryResult.put("rowsAffected", 0); + } + } catch (SQLiteConstraintException ex) { + // report constraint violation error result with the error message + ex.printStackTrace(); + errorMessage = "constraint failure: " + ex.getMessage(); + code = 6; // SQLException.CONSTRAINT_ERR + Log.v("executeSqlBatch", "SQLiteDatabase.executeInsert(): Error=" + errorMessage); + } catch (SQLiteException ex) { + // report some other error result with the error message + ex.printStackTrace(); + errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLiteDatabase.executeInsert(): Error=" + errorMessage); + } + + // "finally" cleanup myStatement + myStatement.close(); + } + + if (queryType == QueryType.begin) { + needRawQuery = false; + try { + mydb.beginTransaction(); + isTransactionActive = true; + + queryResult = new JSONObject(); + queryResult.put("rowsAffected", 0); + } catch (SQLiteException ex) { + ex.printStackTrace(); + errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLiteDatabase.beginTransaction(): Error=" + errorMessage); + } + } + + if (queryType == QueryType.commit) { + needRawQuery = false; + try { + mydb.setTransactionSuccessful(); + mydb.endTransaction(); + isTransactionActive = false; + + queryResult = new JSONObject(); + queryResult.put("rowsAffected", 0); + } catch (SQLiteException ex) { + ex.printStackTrace(); + errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLiteDatabase.setTransactionSuccessful/endTransaction(): Error=" + errorMessage); + } + } + + if (queryType == QueryType.rollback) { + needRawQuery = false; + try { + mydb.endTransaction(); + isTransactionActive = false; + + queryResult = new JSONObject(); + queryResult.put("rowsAffected", 0); + } catch (SQLiteException ex) { + ex.printStackTrace(); + errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLiteDatabase.endTransaction(): Error=" + errorMessage); + } + } + + // raw query for other statements: + if (needRawQuery) { + try { + queryResult = this.executeSqlStatementQuery(mydb, query, json_params); + + } catch (SQLiteConstraintException ex) { + // report constraint violation error result with the error message + ex.printStackTrace(); + errorMessage = "constraint failure: " + ex.getMessage(); + code = 6; // SQLException.CONSTRAINT_ERR + Log.v("executeSqlBatch", "Raw query error=" + errorMessage); + } catch (SQLiteException ex) { + // report some other error result with the error message + ex.printStackTrace(); + errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "Raw query error=" + errorMessage); + } + + if (needRowsAffectedCompat) { + queryResult.put("rowsAffected", rowsAffectedCompat); + } + } + } catch (Exception ex) { + ex.printStackTrace(); + errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLiteAndroidDatabase.executeSql[Batch](): Error=" + errorMessage); + } + + try { + if (queryResult != null) { + JSONObject r = new JSONObject(); + + r.put("type", "success"); + r.put("result", queryResult); + + batchResults.put(r); + } else { + JSONObject r = new JSONObject(); + r.put("type", "error"); + + JSONObject er = new JSONObject(); + er.put("message", errorMessage); + er.put("code", code); + r.put("result", er); + + batchResults.put(r); + } + } catch (JSONException ex) { + ex.printStackTrace(); + Log.v("executeSqlBatch", "SQLiteAndroidDatabase.executeSql[Batch](): Error=" + ex.getMessage()); + // TODO what to do? + } + } + } + + private final int countRowsAffectedCompat(QueryType queryType, String query, JSONArray json_params, + SQLiteDatabase mydb) throws JSONException { + // quick and dirty way to calculate the rowsAffected in pre-Honeycomb. just do a SELECT + // beforehand using the same WHERE clause. might not be perfect, but it's better than nothing + Matcher whereMatcher = WHERE_CLAUSE.matcher(query); + + String where = ""; + + int pos = 0; + while (whereMatcher.find(pos)) { + where = " WHERE " + whereMatcher.group(1); + pos = whereMatcher.start(1); + } + // WHERE clause may be omitted, and also be sure to find the last one, + // e.g. for cases where there's a subquery + + // bindings may be in the update clause, so only take the last n + int numQuestionMarks = 0; + for (int j = 0; j < where.length(); j++) { + if (where.charAt(j) == '?') { + numQuestionMarks++; + } + } + + JSONArray subParams = null; + + if (json_params != null) { + // only take the last n of every array of sqlArgs + JSONArray origArray = json_params; + subParams = new JSONArray(); + int startPos = origArray.length() - numQuestionMarks; + for (int j = startPos; j < origArray.length(); j++) { + subParams.put(j - startPos, origArray.get(j)); + } + } + + if (queryType == QueryType.update) { + Matcher tableMatcher = UPDATE_TABLE_NAME.matcher(query); + if (tableMatcher.find()) { + String table = tableMatcher.group(1); + try { + SQLiteStatement statement = mydb.compileStatement( + "SELECT count(*) FROM " + table + where); + + if (subParams != null) { + bindArgsToStatement(statement, subParams); + } + + return (int)statement.simpleQueryForLong(); + } catch (Exception e) { + // assume we couldn't count for whatever reason, keep going + Log.e(SQLiteAndroidDatabase.class.getSimpleName(), "uncaught", e); + } + } + } else { // delete + Matcher tableMatcher = DELETE_TABLE_NAME.matcher(query); + if (tableMatcher.find()) { + String table = tableMatcher.group(1); + try { + SQLiteStatement statement = mydb.compileStatement( + "SELECT count(*) FROM " + table + where); + bindArgsToStatement(statement, subParams); + + return (int)statement.simpleQueryForLong(); + } catch (Exception e) { + // assume we couldn't count for whatever reason, keep going + Log.e(SQLiteAndroidDatabase.class.getSimpleName(), "uncaught", e); + + } + } + } + + return 0; + } + + private void bindArgsToStatement(SQLiteStatement myStatement, JSONArray sqlArgs) throws JSONException { + for (int i = 0; i < sqlArgs.length(); i++) { + if (sqlArgs.get(i) instanceof Float || sqlArgs.get(i) instanceof Double) { + myStatement.bindDouble(i + 1, sqlArgs.getDouble(i)); + } else if (sqlArgs.get(i) instanceof Number) { + myStatement.bindLong(i + 1, sqlArgs.getLong(i)); + } else if (sqlArgs.isNull(i)) { + myStatement.bindNull(i + 1); + } else { + myStatement.bindString(i + 1, sqlArgs.getString(i)); + } + } + } + + /** + * Get rows results from query cursor. + * + * @param cur Cursor into query results + * @return results in string form + */ + private JSONObject executeSqlStatementQuery(SQLiteDatabase mydb, String query, + JSONArray paramsAsJson) throws Exception { + JSONObject rowsResult = new JSONObject(); + + Cursor cur = null; + try { + String[] params = null; + + params = new String[paramsAsJson.length()]; + + for (int j = 0; j < paramsAsJson.length(); j++) { + if (paramsAsJson.isNull(j)) + params[j] = ""; + else + params[j] = paramsAsJson.getString(j); + } + + cur = mydb.rawQuery(query, params); + } catch (Exception ex) { + ex.printStackTrace(); + String errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLiteAndroidDatabase.executeSql[Batch](): Error=" + errorMessage); + throw ex; + } + + // If query result has rows + if (cur != null && cur.moveToFirst()) { + JSONArray rowsArrayResult = new JSONArray(); + String key = ""; + int colCount = cur.getColumnCount(); + + // Build up JSON result object for each row + do { + JSONObject row = new JSONObject(); + try { + for (int i = 0; i < colCount; ++i) { + key = cur.getColumnName(i); + + if (isPostHoneycomb) { + + // Use try & catch just in case android.os.Build.VERSION.SDK_INT >= 11 is lying: + try { + bindPostHoneycomb(row, key, cur, i); + } catch (Exception ex) { + bindPreHoneycomb(row, key, cur, i); + } + } else { + bindPreHoneycomb(row, key, cur, i); + } + } + + rowsArrayResult.put(row); + + } catch (JSONException e) { + e.printStackTrace(); + } + } while (cur.moveToNext()); + + try { + rowsResult.put("rows", rowsArrayResult); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + if (cur != null) { + cur.close(); + } + + return rowsResult; + } + + @SuppressLint("NewApi") + private void bindPostHoneycomb(JSONObject row, String key, Cursor cur, int i) throws JSONException { + int curType = cur.getType(i); + + switch (curType) { + case Cursor.FIELD_TYPE_NULL: + row.put(key, JSONObject.NULL); + break; + case Cursor.FIELD_TYPE_INTEGER: + row.put(key, cur.getLong(i)); + break; + case Cursor.FIELD_TYPE_FLOAT: + row.put(key, cur.getDouble(i)); + break; + case Cursor.FIELD_TYPE_STRING: + default: /* (BLOB) */ + row.put(key, cur.getString(i)); + break; + } + } + + private void bindPreHoneycomb(JSONObject row, String key, Cursor cursor, int i) throws JSONException { + // Since cursor.getType() is not available pre-honeycomb, this is + // a workaround so we don't have to bind everything as a string + // Details here: http://stackoverflow.com/q/11658239 + SQLiteCursor sqLiteCursor = (SQLiteCursor) cursor; + CursorWindow cursorWindow = sqLiteCursor.getWindow(); + int pos = cursor.getPosition(); + if (cursorWindow.isNull(pos, i)) { + row.put(key, JSONObject.NULL); + } else if (cursorWindow.isLong(pos, i)) { + row.put(key, cursor.getLong(i)); + } else if (cursorWindow.isFloat(pos, i)) { + row.put(key, cursor.getDouble(i)); + } else { + // STRING or BLOB: + row.put(key, cursor.getString(i)); + } + } + + static QueryType getQueryType(String query) { + Matcher matcher = FIRST_WORD.matcher(query); + + // FIND & return query type, or throw: + if (matcher.find()) { + try { + String first = matcher.group(1); + + // explictly reject if blank + // (needed for SQLCipher version) + if (first.length() == 0) throw new RuntimeException("query not found"); + + return QueryType.valueOf(first.toLowerCase(Locale.ENGLISH)); + } catch (IllegalArgumentException ignore) { + // unknown verb (NOT blank) + return QueryType.other; + } + } else { + // explictly reject if blank + // (needed for SQLCipher version) + throw new RuntimeException("query not found"); + } + } + + static enum QueryType { + update, + insert, + delete, + select, + begin, + commit, + rollback, + other + } +} /* vim: set expandtab : */ diff --git a/platforms/android/app/src/main/java/io/sqlc/SQLiteConnectorDatabase.java b/platforms/android/app/src/main/java/io/sqlc/SQLiteConnectorDatabase.java new file mode 100755 index 00000000..e16e8225 --- /dev/null +++ b/platforms/android/app/src/main/java/io/sqlc/SQLiteConnectorDatabase.java @@ -0,0 +1,286 @@ +/* + * Copyright (c) 2012-present Christopher J. Brody (aka Chris Brody) + * Copyright (c) 2005-2010, Nitobi Software Inc. + * Copyright (c) 2010, IBM Corporation + */ + +package io.sqlc; + +import android.annotation.SuppressLint; + +import android.util.Log; + +import java.io.File; + +import java.lang.IllegalArgumentException; +import java.lang.Number; + +import java.sql.SQLException; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.apache.cordova.CallbackContext; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import io.liteglue.SQLCode; +import io.liteglue.SQLColumnType; +import io.liteglue.SQLiteConnector; +import io.liteglue.SQLiteConnection; +import io.liteglue.SQLiteOpenFlags; +import io.liteglue.SQLiteStatement; + +/** + * Android SQLite-Connector Database helper class + */ +class SQLiteConnectorDatabase extends SQLiteAndroidDatabase +{ + static SQLiteConnector connector = new SQLiteConnector(); + + SQLiteConnection mydb; + + /** + * NOTE: Using default constructor, no explicit constructor. + */ + + + /** + * Open a database. + * + * @param dbFile The database File specification + */ + @Override + void open(File dbFile) throws Exception { + mydb = connector.newSQLiteConnection(dbFile.getAbsolutePath(), + SQLiteOpenFlags.READWRITE | SQLiteOpenFlags.CREATE); + } + + /** + * Close a database (in the current thread). + */ + @Override + void closeDatabaseNow() { + try { + if (mydb != null) + mydb.dispose(); + } catch (Exception e) { + Log.e(SQLitePlugin.class.getSimpleName(), "couldn't close database, ignoring", e); + } + } + + /** + * Ignore Android bug workaround for NDK version + */ + @Override + void bugWorkaround() { } + + /** + * Executes a batch request and sends the results via cbc. + * + * @param dbname The name of the database. + * @param queryarr Array of query strings + * @param jsonparams Array of JSON query parameters + * @param cbc Callback context from Cordova API + */ + @Override + void executeSqlBatch( String[] queryarr, JSONArray[] jsonparams, CallbackContext cbc) { + + if (mydb == null) { + // not allowed - can only happen if someone has closed (and possibly deleted) a database and then re-used the database + cbc.error("database has been closed"); + return; + } + + int len = queryarr.length; + JSONArray batchResults = new JSONArray(); + + for (int i = 0; i < len; i++) { + int rowsAffectedCompat = 0; + boolean needRowsAffectedCompat = false; + + JSONObject queryResult = null; + + String errorMessage = "unknown"; + int sqliteErrorCode = -1; + int code = 0; // SQLException.UNKNOWN_ERR + + try { + String query = queryarr[i]; + + long lastTotal = mydb.getTotalChanges(); + queryResult = this.executeSQLiteStatement(query, jsonparams[i], cbc); + long newTotal = mydb.getTotalChanges(); + long rowsAffected = newTotal - lastTotal; + + queryResult.put("rowsAffected", rowsAffected); + if (rowsAffected > 0) { + long insertId = mydb.getLastInsertRowid(); + if (insertId > 0) { + queryResult.put("insertId", insertId); + } + } + } catch (SQLException ex) { + ex.printStackTrace(); + sqliteErrorCode = ex.getErrorCode(); + errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLitePlugin.executeSql[Batch](): SQL Error code = " + sqliteErrorCode + " message = " + errorMessage); + + switch(sqliteErrorCode) { + case SQLCode.ERROR: + code = 5; // SQLException.SYNTAX_ERR + break; + case 13: // SQLITE_FULL + code = 4; // SQLException.QUOTA_ERR + break; + case SQLCode.CONSTRAINT: + code = 6; // SQLException.CONSTRAINT_ERR + break; + default: + /* do nothing */ + } + } catch (JSONException ex) { + // NOT expected: + ex.printStackTrace(); + errorMessage = ex.getMessage(); + code = 0; // SQLException.UNKNOWN_ERR + Log.e("executeSqlBatch", "SQLitePlugin.executeSql[Batch](): UNEXPECTED JSON Error=" + errorMessage); + } + + try { + if (queryResult != null) { + JSONObject r = new JSONObject(); + + r.put("type", "success"); + r.put("result", queryResult); + + batchResults.put(r); + } else { + JSONObject r = new JSONObject(); + r.put("type", "error"); + + JSONObject er = new JSONObject(); + er.put("message", errorMessage); + er.put("code", code); + r.put("result", er); + + batchResults.put(r); + } + } catch (JSONException ex) { + ex.printStackTrace(); + Log.e("executeSqlBatch", "SQLitePlugin.executeSql[Batch](): Error=" + ex.getMessage()); + // TODO what to do? + } + } + + cbc.success(batchResults); + } + + /** + * Get rows results from query cursor. + * + * @param cur Cursor into query results + * @return results in string form + */ + private JSONObject executeSQLiteStatement(String query, JSONArray paramsAsJson, + CallbackContext cbc) throws JSONException, SQLException { + JSONObject rowsResult = new JSONObject(); + + boolean hasRows = false; + + SQLiteStatement myStatement = mydb.prepareStatement(query); + + try { + String[] params = null; + + params = new String[paramsAsJson.length()]; + + for (int i = 0; i < paramsAsJson.length(); ++i) { + if (paramsAsJson.isNull(i)) { + myStatement.bindNull(i + 1); + } else { + Object p = paramsAsJson.get(i); + if (p instanceof Float || p instanceof Double) + myStatement.bindDouble(i + 1, paramsAsJson.getDouble(i)); + else if (p instanceof Number) + myStatement.bindLong(i + 1, paramsAsJson.getLong(i)); + else + myStatement.bindTextNativeString(i + 1, paramsAsJson.getString(i)); + } + } + + hasRows = myStatement.step(); + } catch (SQLException ex) { + ex.printStackTrace(); + String errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLitePlugin.executeSql[Batch](): Error=" + errorMessage); + + // cleanup statement and throw the exception: + myStatement.dispose(); + throw ex; + } catch (JSONException ex) { + ex.printStackTrace(); + String errorMessage = ex.getMessage(); + Log.v("executeSqlBatch", "SQLitePlugin.executeSql[Batch](): Error=" + errorMessage); + + // cleanup statement and throw the exception: + myStatement.dispose(); + throw ex; + } + + // If query result has rows + if (hasRows) { + JSONArray rowsArrayResult = new JSONArray(); + String key = ""; + int colCount = myStatement.getColumnCount(); + + // Build up JSON result object for each row + do { + JSONObject row = new JSONObject(); + try { + for (int i = 0; i < colCount; ++i) { + key = myStatement.getColumnName(i); + + switch (myStatement.getColumnType(i)) { + case SQLColumnType.NULL: + row.put(key, JSONObject.NULL); + break; + + case SQLColumnType.REAL: + row.put(key, myStatement.getColumnDouble(i)); + break; + + case SQLColumnType.INTEGER: + row.put(key, myStatement.getColumnLong(i)); + break; + + case SQLColumnType.BLOB: + case SQLColumnType.TEXT: + default: // (just in case) + row.put(key, myStatement.getColumnTextNativeString(i)); + } + + } + + rowsArrayResult.put(row); + + } catch (JSONException e) { + e.printStackTrace(); + } + } while (myStatement.step()); + + try { + rowsResult.put("rows", rowsArrayResult); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + myStatement.dispose(); + + return rowsResult; + } + +} /* vim: set expandtab : */ diff --git a/platforms/android/app/src/main/java/io/sqlc/SQLitePlugin.java b/platforms/android/app/src/main/java/io/sqlc/SQLitePlugin.java new file mode 100755 index 00000000..fdf92d09 --- /dev/null +++ b/platforms/android/app/src/main/java/io/sqlc/SQLitePlugin.java @@ -0,0 +1,433 @@ +/* + * Copyright (c) 2012-present Christopher J. Brody (aka Chris Brody) + * Copyright (c) 2005-2010, Nitobi Software Inc. + * Copyright (c) 2010, IBM Corporation + */ + +package io.sqlc; + +import android.annotation.SuppressLint; + +import android.util.Log; + +import java.io.File; + +import java.lang.IllegalArgumentException; +import java.lang.Number; + +import java.util.Map; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.LinkedBlockingQueue; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class SQLitePlugin extends CordovaPlugin { + + /** + * Multiple database runner map (static). + * + * NOTE: no public static accessor to db (runner) map since it is not + * expected to work properly with db threading. + * + * FUTURE TBD put DBRunner into a public class that can provide external accessor. + * + * ADDITIONAL NOTE: Storing as Map to avoid portabiity issue + * between Java 6/7/8 as discussed in: + * https://gist.github.com/AlainODea/1375759b8720a3f9f094 + * + * THANKS to @NeoLSN (Jason Yang/楊朝傑) for giving the pointer in: + * https://github.com/litehelpers/Cordova-sqlite-storage/issues/727 + */ + static Map dbrmap = new ConcurrentHashMap(); + + /** + * NOTE: Using default constructor, no explicit constructor. + */ + + /** + * Executes the request and returns PluginResult. + * + * @param actionAsString The action to execute. + * @param args JSONArry of arguments for the plugin. + * @param cbc Callback context from Cordova API + * @return Whether the action was valid. + */ + @Override + public boolean execute(String actionAsString, JSONArray args, CallbackContext cbc) { + + Action action; + try { + action = Action.valueOf(actionAsString); + } catch (IllegalArgumentException e) { + // shouldn't ever happen + Log.e(SQLitePlugin.class.getSimpleName(), "unexpected error", e); + return false; + } + + try { + return executeAndPossiblyThrow(action, args, cbc); + } catch (JSONException e) { + // TODO: signal JSON problem to JS + Log.e(SQLitePlugin.class.getSimpleName(), "unexpected error", e); + return false; + } + } + + private boolean executeAndPossiblyThrow(Action action, JSONArray args, CallbackContext cbc) + throws JSONException { + + boolean status = true; + JSONObject o; + String echo_value; + String dbname; + + switch (action) { + case echoStringValue: + o = args.getJSONObject(0); + echo_value = o.getString("value"); + cbc.success(echo_value); + break; + + case open: + o = args.getJSONObject(0); + dbname = o.getString("name"); + // open database and start reading its queue + this.startDatabase(dbname, o, cbc); + break; + + case close: + o = args.getJSONObject(0); + dbname = o.getString("path"); + // put request in the q to close the db + this.closeDatabase(dbname, cbc); + break; + + case delete: + o = args.getJSONObject(0); + dbname = o.getString("path"); + + deleteDatabase(dbname, cbc); + + break; + + case executeSqlBatch: + case backgroundExecuteSqlBatch: + JSONObject allargs = args.getJSONObject(0); + JSONObject dbargs = allargs.getJSONObject("dbargs"); + dbname = dbargs.getString("dbname"); + JSONArray txargs = allargs.getJSONArray("executes"); + + if (txargs.isNull(0)) { + cbc.error("INTERNAL PLUGIN ERROR: missing executes list"); + } else { + int len = txargs.length(); + String[] queries = new String[len]; + JSONArray[] jsonparams = new JSONArray[len]; + + for (int i = 0; i < len; i++) { + JSONObject a = txargs.getJSONObject(i); + queries[i] = a.getString("sql"); + jsonparams[i] = a.getJSONArray("params"); + } + + // put db query in the queue to be executed in the db thread: + DBQuery q = new DBQuery(queries, jsonparams, cbc); + DBRunner r = dbrmap.get(dbname); + if (r != null) { + try { + r.q.put(q); + } catch(Exception e) { + Log.e(SQLitePlugin.class.getSimpleName(), "couldn't add to queue", e); + cbc.error("INTERNAL PLUGIN ERROR: couldn't add to queue"); + } + } else { + cbc.error("INTERNAL PLUGIN ERROR: database not open"); + } + } + break; + } + + return status; + } + + /** + * Clean up and close all open databases. + */ + @Override + public void onDestroy() { + while (!dbrmap.isEmpty()) { + String dbname = dbrmap.keySet().iterator().next(); + + this.closeDatabaseNow(dbname); + + DBRunner r = dbrmap.get(dbname); + try { + // stop the db runner thread: + r.q.put(new DBQuery()); + } catch(Exception e) { + Log.e(SQLitePlugin.class.getSimpleName(), "INTERNAL PLUGIN CLEANUP ERROR: could not stop db thread due to exception", e); + } + dbrmap.remove(dbname); + } + } + + // -------------------------------------------------------------------------- + // LOCAL METHODS + // -------------------------------------------------------------------------- + + private void startDatabase(String dbname, JSONObject options, CallbackContext cbc) { + DBRunner r = dbrmap.get(dbname); + + if (r != null) { + // NO LONGER EXPECTED due to BUG 666 workaround solution: + cbc.error("INTERNAL ERROR: database already open for db name: " + dbname); + } else { + r = new DBRunner(dbname, options, cbc); + dbrmap.put(dbname, r); + this.cordova.getThreadPool().execute(r); + } + } + /** + * Open a database. + * + * @param dbName The name of the database file + */ + private SQLiteAndroidDatabase openDatabase(String dbname, CallbackContext cbc, boolean old_impl) throws Exception { + try { + // ASSUMPTION: no db (connection/handle) is already stored in the map + // [should be true according to the code in DBRunner.run()] + + File dbfile = this.cordova.getActivity().getDatabasePath(dbname); + + if (!dbfile.exists()) { + dbfile.getParentFile().mkdirs(); + } + + Log.v("info", "Open sqlite db: " + dbfile.getAbsolutePath()); + + SQLiteAndroidDatabase mydb = old_impl ? new SQLiteAndroidDatabase() : new SQLiteConnectorDatabase(); + mydb.open(dbfile); + + if (cbc != null) // XXX Android locking/closing BUG workaround + cbc.success(); + + return mydb; + } catch (Exception e) { + if (cbc != null) // XXX Android locking/closing BUG workaround + cbc.error("can't open database " + e); + throw e; + } + } + + /** + * Close a database (in another thread). + * + * @param dbName The name of the database file + */ + private void closeDatabase(String dbname, CallbackContext cbc) { + DBRunner r = dbrmap.get(dbname); + if (r != null) { + try { + r.q.put(new DBQuery(false, cbc)); + } catch(Exception e) { + if (cbc != null) { + cbc.error("couldn't close database" + e); + } + Log.e(SQLitePlugin.class.getSimpleName(), "couldn't close database", e); + } + } else { + if (cbc != null) { + cbc.success(); + } + } + } + + /** + * Close a database (in the current thread). + * + * @param dbname The name of the database file + */ + private void closeDatabaseNow(String dbname) { + DBRunner r = dbrmap.get(dbname); + + if (r != null) { + SQLiteAndroidDatabase mydb = r.mydb; + + if (mydb != null) + mydb.closeDatabaseNow(); + } + } + + private void deleteDatabase(String dbname, CallbackContext cbc) { + DBRunner r = dbrmap.get(dbname); + if (r != null) { + try { + r.q.put(new DBQuery(true, cbc)); + } catch(Exception e) { + if (cbc != null) { + cbc.error("couldn't close database" + e); + } + Log.e(SQLitePlugin.class.getSimpleName(), "couldn't close database", e); + } + } else { + boolean deleteResult = this.deleteDatabaseNow(dbname); + if (deleteResult) { + cbc.success(); + } else { + cbc.error("couldn't delete database"); + } + } + } + + /** + * Delete a database. + * + * @param dbName The name of the database file + * + * @return true if successful or false if an exception was encountered + */ + private boolean deleteDatabaseNow(String dbname) { + File dbfile = this.cordova.getActivity().getDatabasePath(dbname); + + try { + return cordova.getActivity().deleteDatabase(dbfile.getAbsolutePath()); + } catch (Exception e) { + Log.e(SQLitePlugin.class.getSimpleName(), "couldn't delete database", e); + return false; + } + } + + private class DBRunner implements Runnable { + final String dbname; + private boolean oldImpl; + private boolean bugWorkaround; + + final BlockingQueue q; + final CallbackContext openCbc; + + SQLiteAndroidDatabase mydb; + + DBRunner(final String dbname, JSONObject options, CallbackContext cbc) { + this.dbname = dbname; + this.oldImpl = options.has("androidOldDatabaseImplementation"); + Log.v(SQLitePlugin.class.getSimpleName(), "Android db implementation: built-in android.database.sqlite package"); + this.bugWorkaround = this.oldImpl && options.has("androidBugWorkaround"); + if (this.bugWorkaround) + Log.v(SQLitePlugin.class.getSimpleName(), "Android db closing/locking workaround applied"); + + this.q = new LinkedBlockingQueue(); + this.openCbc = cbc; + } + + public void run() { + try { + this.mydb = openDatabase(dbname, this.openCbc, this.oldImpl); + } catch (Exception e) { + Log.e(SQLitePlugin.class.getSimpleName(), "unexpected error, stopping db thread", e); + dbrmap.remove(dbname); + return; + } + + DBQuery dbq = null; + + try { + dbq = q.take(); + + while (!dbq.stop) { + mydb.executeSqlBatch(dbq.queries, dbq.jsonparams, dbq.cbc); + + if (this.bugWorkaround && dbq.queries.length == 1 && dbq.queries[0] == "COMMIT") + mydb.bugWorkaround(); + + dbq = q.take(); + } + } catch (Exception e) { + Log.e(SQLitePlugin.class.getSimpleName(), "unexpected error", e); + } + + if (dbq != null && dbq.close) { + try { + closeDatabaseNow(dbname); + + dbrmap.remove(dbname); // (should) remove ourself + + if (!dbq.delete) { + dbq.cbc.success(); + } else { + try { + boolean deleteResult = deleteDatabaseNow(dbname); + if (deleteResult) { + dbq.cbc.success(); + } else { + dbq.cbc.error("couldn't delete database"); + } + } catch (Exception e) { + Log.e(SQLitePlugin.class.getSimpleName(), "couldn't delete database", e); + dbq.cbc.error("couldn't delete database: " + e); + } + } + } catch (Exception e) { + Log.e(SQLitePlugin.class.getSimpleName(), "couldn't close database", e); + if (dbq.cbc != null) { + dbq.cbc.error("couldn't close database: " + e); + } + } + } + } + } + + private final class DBQuery { + // XXX TODO replace with DBRunner action enum: + final boolean stop; + final boolean close; + final boolean delete; + final String[] queries; + final JSONArray[] jsonparams; + final CallbackContext cbc; + + DBQuery(String[] myqueries, JSONArray[] params, CallbackContext c) { + this.stop = false; + this.close = false; + this.delete = false; + this.queries = myqueries; + this.jsonparams = params; + this.cbc = c; + } + + DBQuery(boolean delete, CallbackContext cbc) { + this.stop = true; + this.close = true; + this.delete = delete; + this.queries = null; + this.jsonparams = null; + this.cbc = cbc; + } + + // signal the DBRunner thread to stop: + DBQuery() { + this.stop = true; + this.close = false; + this.delete = false; + this.queries = null; + this.jsonparams = null; + this.cbc = null; + } + } + + private static enum Action { + echoStringValue, + open, + close, + delete, + executeSqlBatch, + backgroundExecuteSqlBatch, + } +} + +/* vim: set expandtab : */ diff --git a/platforms/android/app/src/main/java/nl/xservices/plugins/actionsheet/ActionSheet.java b/platforms/android/app/src/main/java/nl/xservices/plugins/actionsheet/ActionSheet.java new file mode 100755 index 00000000..c90c507a --- /dev/null +++ b/platforms/android/app/src/main/java/nl/xservices/plugins/actionsheet/ActionSheet.java @@ -0,0 +1,196 @@ +package nl.xservices.plugins.actionsheet; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Build; +import android.text.TextUtils; +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.PluginResult; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Original excellent PR by: Brill Pappin + * @author Mantainer of the code: Eddy Verbruggen + */ +public class ActionSheet extends CordovaPlugin { + + private AlertDialog dialog; + + public ActionSheet() { + super(); + } + + private static final String ACTION_SHOW = "show"; + private static final String ACTION_HIDE = "hide"; + + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + + if (ACTION_SHOW.equals(action)) { + JSONObject options = args.optJSONObject(0); + + String title = options.optString("title"); + String subtitle = options.optString("subtitle"); + int theme = options.optInt("androidTheme", 1); + JSONArray buttons = options.optJSONArray("buttonLabels"); + + boolean androidEnableCancelButton = options.optBoolean("androidEnableCancelButton", false); + boolean destructiveButtonLast = options.optBoolean("destructiveButtonLast", false); + + String addCancelButtonWithLabel = options.optString("addCancelButtonWithLabel"); + String addDestructiveButtonWithLabel = options.optString("addDestructiveButtonWithLabel"); + + this.show(title, subtitle, buttons, addCancelButtonWithLabel, androidEnableCancelButton, + addDestructiveButtonWithLabel, destructiveButtonLast, + theme, callbackContext); + // need to return as this call is async. + return true; + + } else if (ACTION_HIDE.equals(action)) { + if (dialog != null && dialog.isShowing()) { + dialog.dismiss(); + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, -1)); + } + return true; + } + + return false; + } + + public synchronized void show(final String title, + final String subtitle, + final JSONArray buttonLabels, + final String addCancelButtonWithLabel, + final boolean androidEnableCancelButton, + final String addDestructiveButtonWithLabel, + final boolean destructiveButtonLast, + final int theme, + final CallbackContext callbackContext) { + + final CordovaInterface cordova = this.cordova; + + Runnable runnable = new Runnable() { + public void run() { + + final AlertDialog.Builder builder; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + builder = new AlertDialog.Builder(cordova.getActivity(), theme); + } else { + builder = new AlertDialog.Builder(cordova.getActivity()); + } + + builder + .setTitle(title) + .setCancelable(true); + + + // Although there is not really anything technically wrong + // with adding a cancel button, Android typically doesn't use + // one for this kind of list dialog. + // We'll allow the user to override the "smart" option and + // include it if they insist anyway. + + if (androidEnableCancelButton && !TextUtils.isEmpty(addCancelButtonWithLabel)) { + builder.setNegativeButton(addCancelButtonWithLabel, + new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + // We catch the cancel event and return + // the index then. + } + }); + } + + // So what do we do with the iOS destructive button? + // Android doesn't really have the concept, so we're going to + // ignore it until we have a situation where we can come up with + // a good way to implement it. Most likely adding an image + // or some other indicator. +// if (!TextUtils.isEmpty(addDestructiveButtonWithLabel)) { +// builder.setPositiveButton(addDestructiveButtonWithLabel, +// new OnClickListener() { +// @Override +// public void onClick(DialogInterface dialog, int which) { +// dialog.dismiss(); +// callbackContext +// .sendPluginResult(new PluginResult( +// PluginResult.Status.OK, 0)); +// } +// }); +// } + + final String[] buttons = getStringArray( + buttonLabels, + destructiveButtonLast, + (TextUtils.isEmpty(addDestructiveButtonWithLabel) ? null + : addDestructiveButtonWithLabel)); + + builder.setItems(buttons, new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // java 0 based index converted to cordova 1 based + // index, so we don't confuse the webbies. + callbackContext.sendPluginResult(new PluginResult( + PluginResult.Status.OK, which + 1)); + } + }); + + builder.setOnCancelListener(new AlertDialog.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + // Match the way the iOS plugin works. Cancel is + // always the last index and destructive is always the + // first, if it exists. Even though we don't handle the + // destructive button, we want the selected index to + // match. + int cancelButtonIndex = buttons.length + 1; + callbackContext.sendPluginResult(new PluginResult( + PluginResult.Status.OK, cancelButtonIndex)); + } + }); + + dialog = builder.create(); + dialog.show(); + } + }; + this.cordova.getActivity().runOnUiThread(runnable); + } + + private String[] getStringArray(JSONArray jsonArray, boolean append, String... additionalButtons) { + + List btns = new ArrayList(); + + // Add prefix items + if (!append) { + for (String btn : additionalButtons) { + if (!TextUtils.isEmpty(btn)) { + btns.add(btn); + } + } + } + + // add the rest of the buttons from the list. + if (jsonArray != null) { + for (int i = 0; i < jsonArray.length(); i++) { + btns.add(jsonArray.optString(i)); + } + } + + // Add postfix items + if (append) { + for (String btn : additionalButtons) { + if (!TextUtils.isEmpty(btn)) { + btns.add(btn); + } + } + } + return btns.toArray(new String[btns.size()]); + } +} \ No newline at end of file diff --git a/platforms/android/app/src/main/java/org/apache/cordova/camera/CameraLauncher.java b/platforms/android/app/src/main/java/org/apache/cordova/camera/CameraLauncher.java new file mode 100755 index 00000000..fbe8470e --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/camera/CameraLauncher.java @@ -0,0 +1,1407 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova.camera; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.text.SimpleDateFormat; +import java.util.Date; + +import org.apache.cordova.BuildHelper; +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaResourceApi; +import org.apache.cordova.LOG; +import org.apache.cordova.PermissionHelper; +import org.apache.cordova.PluginResult; +import org.json.JSONArray; +import org.json.JSONException; + +import android.Manifest; +import android.annotation.TargetApi; +import android.app.Activity; +import android.content.ActivityNotFoundException; +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.graphics.Bitmap; +import android.graphics.Bitmap.CompressFormat; +import android.graphics.BitmapFactory; +import android.graphics.Matrix; +import android.media.ExifInterface; +import android.media.MediaScannerConnection; +import android.media.MediaScannerConnection.MediaScannerConnectionClient; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.os.Environment; +import android.provider.DocumentsContract; +import android.provider.MediaStore; +import android.provider.OpenableColumns; +import android.support.v4.content.FileProvider; +import android.util.Base64; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; + +/** + * This class launches the camera view, allows the user to take a picture, closes the camera view, + * and returns the captured image. When the camera view is closed, the screen displayed before + * the camera view was shown is redisplayed. + */ +public class CameraLauncher extends CordovaPlugin implements MediaScannerConnectionClient { + + private static final int DATA_URL = 0; // Return base64 encoded string + private static final int FILE_URI = 1; // Return file uri (content://media/external/images/media/2 for Android) + private static final int NATIVE_URI = 2; // On Android, this is the same as FILE_URI + + private static final int PHOTOLIBRARY = 0; // Choose image from picture library (same as SAVEDPHOTOALBUM for Android) + private static final int CAMERA = 1; // Take picture from camera + private static final int SAVEDPHOTOALBUM = 2; // Choose image from picture library (same as PHOTOLIBRARY for Android) + + private static final int PICTURE = 0; // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType + private static final int VIDEO = 1; // allow selection of video only, ONLY RETURNS URL + private static final int ALLMEDIA = 2; // allow selection from all media types + + private static final int JPEG = 0; // Take a picture of type JPEG + private static final int PNG = 1; // Take a picture of type PNG + private static final String GET_PICTURE = "Get Picture"; + private static final String GET_VIDEO = "Get Video"; + private static final String GET_All = "Get All"; + + public static final int PERMISSION_DENIED_ERROR = 20; + public static final int TAKE_PIC_SEC = 0; + public static final int SAVE_TO_ALBUM_SEC = 1; + + private static final String LOG_TAG = "CameraLauncher"; + + //Where did this come from? + private static final int CROP_CAMERA = 100; + + private int mQuality; // Compression quality hint (0-100: 0=low quality & high compression, 100=compress of max quality) + private int targetWidth; // desired width of the image + private int targetHeight; // desired height of the image + private CordovaUri imageUri; // Uri of captured image + private int encodingType; // Type of encoding to use + private int mediaType; // What type of media to retrieve + private int destType; // Source type (needs to be saved for the permission handling) + private int srcType; // Destination type (needs to be saved for permission handling) + private boolean saveToPhotoAlbum; // Should the picture be saved to the device's photo album + private boolean correctOrientation; // Should the pictures orientation be corrected + private boolean orientationCorrected; // Has the picture's orientation been corrected + private boolean allowEdit; // Should we allow the user to crop the image. + + protected final static String[] permissions = { Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE }; + + public CallbackContext callbackContext; + private int numPics; + + private MediaScannerConnection conn; // Used to update gallery app with newly-written files + private Uri scanMe; // Uri of image to be added to content store + private Uri croppedUri; + private ExifHelper exifData; // Exif data from source + private String applicationId; + + + /** + * Executes the request and returns PluginResult. + * + * @param action The action to execute. + * @param args JSONArry of arguments for the plugin. + * @param callbackContext The callback id used when calling back into JavaScript. + * @return A PluginResult object with a status and message. + */ + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + this.callbackContext = callbackContext; + //Adding an API to CoreAndroid to get the BuildConfigValue + //This allows us to not make this a breaking change to embedding + this.applicationId = (String) BuildHelper.getBuildConfigValue(cordova.getActivity(), "APPLICATION_ID"); + this.applicationId = preferences.getString("applicationId", this.applicationId); + + + if (action.equals("takePicture")) { + this.srcType = CAMERA; + this.destType = FILE_URI; + this.saveToPhotoAlbum = false; + this.targetHeight = 0; + this.targetWidth = 0; + this.encodingType = JPEG; + this.mediaType = PICTURE; + this.mQuality = 50; + + //Take the values from the arguments if they're not already defined (this is tricky) + this.destType = args.getInt(1); + this.srcType = args.getInt(2); + this.mQuality = args.getInt(0); + this.targetWidth = args.getInt(3); + this.targetHeight = args.getInt(4); + this.encodingType = args.getInt(5); + this.mediaType = args.getInt(6); + this.allowEdit = args.getBoolean(7); + this.correctOrientation = args.getBoolean(8); + this.saveToPhotoAlbum = args.getBoolean(9); + + // If the user specifies a 0 or smaller width/height + // make it -1 so later comparisons succeed + if (this.targetWidth < 1) { + this.targetWidth = -1; + } + if (this.targetHeight < 1) { + this.targetHeight = -1; + } + + // We don't return full-quality PNG files. The camera outputs a JPEG + // so requesting it as a PNG provides no actual benefit + if (this.targetHeight == -1 && this.targetWidth == -1 && this.mQuality == 100 && + !this.correctOrientation && this.encodingType == PNG && this.srcType == CAMERA) { + this.encodingType = JPEG; + } + + try { + if (this.srcType == CAMERA) { + this.callTakePicture(destType, encodingType); + } + else if ((this.srcType == PHOTOLIBRARY) || (this.srcType == SAVEDPHOTOALBUM)) { + // FIXME: Stop always requesting the permission + if(!PermissionHelper.hasPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)) { + PermissionHelper.requestPermission(this, SAVE_TO_ALBUM_SEC, Manifest.permission.READ_EXTERNAL_STORAGE); + } else { + this.getImage(this.srcType, destType, encodingType); + } + } + } + catch (IllegalArgumentException e) + { + callbackContext.error("Illegal Argument Exception"); + PluginResult r = new PluginResult(PluginResult.Status.ERROR); + callbackContext.sendPluginResult(r); + return true; + } + + PluginResult r = new PluginResult(PluginResult.Status.NO_RESULT); + r.setKeepCallback(true); + callbackContext.sendPluginResult(r); + + return true; + } + return false; + } + + //-------------------------------------------------------------------------- + // LOCAL METHODS + //-------------------------------------------------------------------------- + + private String getTempDirectoryPath() { + File cache = null; + + // SD Card Mounted + if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { + cache = cordova.getActivity().getExternalCacheDir(); + } + // Use internal storage + else { + cache = cordova.getActivity().getCacheDir(); + } + + // Create the cache directory if it doesn't exist + cache.mkdirs(); + return cache.getAbsolutePath(); + } + + /** + * Take a picture with the camera. + * When an image is captured or the camera view is cancelled, the result is returned + * in CordovaActivity.onActivityResult, which forwards the result to this.onActivityResult. + * + * The image can either be returned as a base64 string or a URI that points to the file. + * To display base64 string in an img tag, set the source to: + * img.src="data:image/jpeg;base64,"+result; + * or to display URI in an img tag + * img.src=result; + * + * @param returnType Set the type of image to return. + * @param encodingType Compression quality hint (0-100: 0=low quality & high compression, 100=compress of max quality) + */ + public void callTakePicture(int returnType, int encodingType) { + boolean saveAlbumPermission = PermissionHelper.hasPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) + && PermissionHelper.hasPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE); + boolean takePicturePermission = PermissionHelper.hasPermission(this, Manifest.permission.CAMERA); + + // CB-10120: The CAMERA permission does not need to be requested unless it is declared + // in AndroidManifest.xml. This plugin does not declare it, but others may and so we must + // check the package info to determine if the permission is present. + + if (!takePicturePermission) { + takePicturePermission = true; + try { + PackageManager packageManager = this.cordova.getActivity().getPackageManager(); + String[] permissionsInPackage = packageManager.getPackageInfo(this.cordova.getActivity().getPackageName(), PackageManager.GET_PERMISSIONS).requestedPermissions; + if (permissionsInPackage != null) { + for (String permission : permissionsInPackage) { + if (permission.equals(Manifest.permission.CAMERA)) { + takePicturePermission = false; + break; + } + } + } + } catch (NameNotFoundException e) { + // We are requesting the info for our package, so this should + // never be caught + } + } + + if (takePicturePermission && saveAlbumPermission) { + takePicture(returnType, encodingType); + } else if (saveAlbumPermission && !takePicturePermission) { + PermissionHelper.requestPermission(this, TAKE_PIC_SEC, Manifest.permission.CAMERA); + } else if (!saveAlbumPermission && takePicturePermission) { + PermissionHelper.requestPermissions(this, TAKE_PIC_SEC, + new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}); + } else { + PermissionHelper.requestPermissions(this, TAKE_PIC_SEC, permissions); + } + } + + public void takePicture(int returnType, int encodingType) + { + // Save the number of images currently on disk for later + this.numPics = queryImgDB(whichContentStore()).getCount(); + + // Let's use the intent and see what happens + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + + // Specify file so that large image is captured and returned + File photo = createCaptureFile(encodingType); + this.imageUri = new CordovaUri(FileProvider.getUriForFile(cordova.getActivity(), + applicationId + ".provider", + photo)); + intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageUri.getCorrectUri()); + //We can write to this URI, this will hopefully allow us to write files to get to the next step + intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); + + if (this.cordova != null) { + // Let's check to make sure the camera is actually installed. (Legacy Nexus 7 code) + PackageManager mPm = this.cordova.getActivity().getPackageManager(); + if(intent.resolveActivity(mPm) != null) + { + + this.cordova.startActivityForResult((CordovaPlugin) this, intent, (CAMERA + 1) * 16 + returnType + 1); + } + else + { + LOG.d(LOG_TAG, "Error: You don't have a default camera. Your device may not be CTS complaint."); + } + } +// else +// LOG.d(LOG_TAG, "ERROR: You must use the CordovaInterface for this to work correctly. Please implement it in your activity"); + } + + /** + * Create a file in the applications temporary directory based upon the supplied encoding. + * + * @param encodingType of the image to be taken + * @return a File object pointing to the temporary picture + */ + private File createCaptureFile(int encodingType) { + return createCaptureFile(encodingType, ""); + } + + /** + * Create a file in the applications temporary directory based upon the supplied encoding. + * + * @param encodingType of the image to be taken + * @param fileName or resultant File object. + * @return a File object pointing to the temporary picture + */ + private File createCaptureFile(int encodingType, String fileName) { + if (fileName.isEmpty()) { + fileName = ".Pic"; + } + + if (encodingType == JPEG) { + fileName = fileName + ".jpg"; + } else if (encodingType == PNG) { + fileName = fileName + ".png"; + } else { + throw new IllegalArgumentException("Invalid Encoding Type: " + encodingType); + } + + return new File(getTempDirectoryPath(), fileName); + } + + + + /** + * Get image from photo library. + * + * @param srcType The album to get image from. + * @param returnType Set the type of image to return. + * @param encodingType + */ + // TODO: Images selected from SDCARD don't display correctly, but from CAMERA ALBUM do! + // TODO: Images from kitkat filechooser not going into crop function + public void getImage(int srcType, int returnType, int encodingType) { + Intent intent = new Intent(); + String title = GET_PICTURE; + croppedUri = null; + if (this.mediaType == PICTURE) { + intent.setType("image/*"); + if (this.allowEdit) { + intent.setAction(Intent.ACTION_PICK); + intent.putExtra("crop", "true"); + if (targetWidth > 0) { + intent.putExtra("outputX", targetWidth); + } + if (targetHeight > 0) { + intent.putExtra("outputY", targetHeight); + } + if (targetHeight > 0 && targetWidth > 0 && targetWidth == targetHeight) { + intent.putExtra("aspectX", 1); + intent.putExtra("aspectY", 1); + } + File photo = createCaptureFile(JPEG); + croppedUri = Uri.fromFile(photo); + intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, croppedUri); + } else { + intent.setAction(Intent.ACTION_GET_CONTENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + } + } else if (this.mediaType == VIDEO) { + intent.setType("video/*"); + title = GET_VIDEO; + intent.setAction(Intent.ACTION_GET_CONTENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + } else if (this.mediaType == ALLMEDIA) { + // I wanted to make the type 'image/*, video/*' but this does not work on all versions + // of android so I had to go with the wildcard search. + intent.setType("*/*"); + title = GET_All; + intent.setAction(Intent.ACTION_GET_CONTENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + } + if (this.cordova != null) { + this.cordova.startActivityForResult((CordovaPlugin) this, Intent.createChooser(intent, + new String(title)), (srcType + 1) * 16 + returnType + 1); + } + } + + + /** + * Brings up the UI to perform crop on passed image URI + * + * @param picUri + */ + private void performCrop(Uri picUri, int destType, Intent cameraIntent) { + try { + Intent cropIntent = new Intent("com.android.camera.action.CROP"); + // indicate image type and Uri + cropIntent.setDataAndType(picUri, "image/*"); + // set crop properties + cropIntent.putExtra("crop", "true"); + + + // indicate output X and Y + if (targetWidth > 0) { + cropIntent.putExtra("outputX", targetWidth); + } + if (targetHeight > 0) { + cropIntent.putExtra("outputY", targetHeight); + } + if (targetHeight > 0 && targetWidth > 0 && targetWidth == targetHeight) { + cropIntent.putExtra("aspectX", 1); + cropIntent.putExtra("aspectY", 1); + } + // create new file handle to get full resolution crop + croppedUri = Uri.fromFile(createCaptureFile(this.encodingType, System.currentTimeMillis() + "")); + cropIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + cropIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); + cropIntent.putExtra("output", croppedUri); + + + // start the activity - we handle returning in onActivityResult + + if (this.cordova != null) { + this.cordova.startActivityForResult((CordovaPlugin) this, + cropIntent, CROP_CAMERA + destType); + } + } catch (ActivityNotFoundException anfe) { + LOG.e(LOG_TAG, "Crop operation not supported on this device"); + try { + processResultFromCamera(destType, cameraIntent); + } + catch (IOException e) + { + e.printStackTrace(); + LOG.e(LOG_TAG, "Unable to write to file"); + } + } + } + + /** + * Applies all needed transformation to the image received from the camera. + * + * @param destType In which form should we return the image + * @param intent An Intent, which can return result data to the caller (various data can be attached to Intent "extras"). + */ + private void processResultFromCamera(int destType, Intent intent) throws IOException { + int rotate = 0; + + // Create an ExifHelper to save the exif data that is lost during compression + ExifHelper exif = new ExifHelper(); + + String sourcePath = (this.allowEdit && this.croppedUri != null) ? + FileHelper.stripFileProtocol(this.croppedUri.toString()) : + this.imageUri.getFilePath(); + + + if (this.encodingType == JPEG) { + try { + //We don't support PNG, so let's not pretend we do + exif.createInFile(sourcePath); + exif.readExifData(); + rotate = exif.getOrientation(); + + } catch (IOException e) { + e.printStackTrace(); + } + } + + Bitmap bitmap = null; + Uri galleryUri = null; + + // CB-5479 When this option is given the unchanged image should be saved + // in the gallery and the modified image is saved in the temporary + // directory + if (this.saveToPhotoAlbum) { + galleryUri = Uri.fromFile(new File(getPicturesPath())); + + if (this.allowEdit && this.croppedUri != null) { + writeUncompressedImage(croppedUri, galleryUri); + } else { + Uri imageUri = this.imageUri.getFileUri(); + writeUncompressedImage(imageUri, galleryUri); + } + + refreshGallery(galleryUri); + } + + // If sending base64 image back + if (destType == DATA_URL) { + bitmap = getScaledAndRotatedBitmap(sourcePath); + + if (bitmap == null) { + // Try to get the bitmap from intent. + bitmap = (Bitmap) intent.getExtras().get("data"); + } + + // Double-check the bitmap. + if (bitmap == null) { + LOG.d(LOG_TAG, "I either have a null image path or bitmap"); + this.failPicture("Unable to create bitmap!"); + return; + } + + + this.processPicture(bitmap, this.encodingType); + + if (!this.saveToPhotoAlbum) { + checkForDuplicateImage(DATA_URL); + } + } + + // If sending filename back + else if (destType == FILE_URI || destType == NATIVE_URI) { + // If all this is true we shouldn't compress the image. + if (this.targetHeight == -1 && this.targetWidth == -1 && this.mQuality == 100 && + !this.correctOrientation) { + + // If we saved the uncompressed photo to the album, we can just + // return the URI we already created + if (this.saveToPhotoAlbum) { + this.callbackContext.success(galleryUri.toString()); + } else { + Uri uri = Uri.fromFile(createCaptureFile(this.encodingType, System.currentTimeMillis() + "")); + + if (this.allowEdit && this.croppedUri != null) { + Uri croppedUri = Uri.fromFile(new File(getFileNameFromUri(this.croppedUri))); + writeUncompressedImage(croppedUri, uri); + } else { + Uri imageUri = this.imageUri.getFileUri(); + writeUncompressedImage(imageUri, uri); + } + + this.callbackContext.success(uri.toString()); + } + } else { + Uri uri = Uri.fromFile(createCaptureFile(this.encodingType, System.currentTimeMillis() + "")); + bitmap = getScaledAndRotatedBitmap(sourcePath); + + // Double-check the bitmap. + if (bitmap == null) { + LOG.d(LOG_TAG, "I either have a null image path or bitmap"); + this.failPicture("Unable to create bitmap!"); + return; + } + + + // Add compressed version of captured image to returned media store Uri + OutputStream os = this.cordova.getActivity().getContentResolver().openOutputStream(uri); + CompressFormat compressFormat = encodingType == JPEG ? + CompressFormat.JPEG : + CompressFormat.PNG; + + bitmap.compress(compressFormat, this.mQuality, os); + os.close(); + + // Restore exif data to file + if (this.encodingType == JPEG) { + String exifPath; + exifPath = uri.getPath(); + //We just finished rotating it by an arbitrary orientation, just make sure it's normal + if(rotate != ExifInterface.ORIENTATION_NORMAL) + exif.resetOrientation(); + exif.createOutFile(exifPath); + exif.writeExifData(); + } + + // Send Uri back to JavaScript for viewing image + this.callbackContext.success(uri.toString()); + + } + } else { + throw new IllegalStateException(); + } + + this.cleanup(FILE_URI, this.imageUri.getFileUri(), galleryUri, bitmap); + bitmap = null; + } + + private String getPicturesPath() { + String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); + String imageFileName = "IMG_" + timeStamp + (this.encodingType == JPEG ? ".jpg" : ".png"); + File storageDir = Environment.getExternalStoragePublicDirectory( + Environment.DIRECTORY_PICTURES); + storageDir.mkdirs(); + String galleryPath = storageDir.getAbsolutePath() + "/" + imageFileName; + return galleryPath; + } + + private void refreshGallery(Uri contentUri) { + Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); + mediaScanIntent.setData(contentUri); + this.cordova.getActivity().sendBroadcast(mediaScanIntent); + } + + /** + * Converts output image format int value to string value of mime type. + * @param outputFormat int Output format of camera API. + * Must be value of either JPEG or PNG constant + * @return String String value of mime type or empty string if mime type is not supported + */ + private String getMimetypeForFormat(int outputFormat) { + if (outputFormat == PNG) return "image/png"; + if (outputFormat == JPEG) return "image/jpeg"; + return ""; + } + + + private String outputModifiedBitmap(Bitmap bitmap, Uri uri) throws IOException { + // Some content: URIs do not map to file paths (e.g. picasa). + String realPath = FileHelper.getRealPath(uri, this.cordova); + + // Get filename from uri + String fileName = realPath != null ? + realPath.substring(realPath.lastIndexOf('/') + 1) : + "modified." + (this.encodingType == JPEG ? "jpg" : "png"); + + String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); + //String fileName = "IMG_" + timeStamp + (this.encodingType == JPEG ? ".jpg" : ".png"); + String modifiedPath = getTempDirectoryPath() + "/" + fileName; + + OutputStream os = new FileOutputStream(modifiedPath); + CompressFormat compressFormat = this.encodingType == JPEG ? + CompressFormat.JPEG : + CompressFormat.PNG; + + bitmap.compress(compressFormat, this.mQuality, os); + os.close(); + + if (exifData != null && this.encodingType == JPEG) { + try { + if (this.correctOrientation && this.orientationCorrected) { + exifData.resetOrientation(); + } + exifData.createOutFile(modifiedPath); + exifData.writeExifData(); + exifData = null; + } catch (IOException e) { + e.printStackTrace(); + } + } + return modifiedPath; + } + + + /** + * Applies all needed transformation to the image received from the gallery. + * + * @param destType In which form should we return the image + * @param intent An Intent, which can return result data to the caller (various data can be attached to Intent "extras"). + */ + private void processResultFromGallery(int destType, Intent intent) { + Uri uri = intent.getData(); + if (uri == null) { + if (croppedUri != null) { + uri = croppedUri; + } else { + this.failPicture("null data from photo library"); + return; + } + } + int rotate = 0; + + String fileLocation = FileHelper.getRealPath(uri, this.cordova); + LOG.d(LOG_TAG, "File locaton is: " + fileLocation); + + // If you ask for video or all media type you will automatically get back a file URI + // and there will be no attempt to resize any returned data + if (this.mediaType != PICTURE) { + this.callbackContext.success(fileLocation); + } + else { + String uriString = uri.toString(); + // Get the path to the image. Makes loading so much easier. + String mimeType = FileHelper.getMimeType(uriString, this.cordova); + + // This is a special case to just return the path as no scaling, + // rotating, nor compressing needs to be done + if (this.targetHeight == -1 && this.targetWidth == -1 && + (destType == FILE_URI || destType == NATIVE_URI) && !this.correctOrientation && + mimeType.equalsIgnoreCase(getMimetypeForFormat(encodingType))) + { + this.callbackContext.success(uriString); + } else { + // If we don't have a valid image so quit. + if (!("image/jpeg".equalsIgnoreCase(mimeType) || "image/png".equalsIgnoreCase(mimeType))) { + LOG.d(LOG_TAG, "I either have a null image path or bitmap"); + this.failPicture("Unable to retrieve path to picture!"); + return; + } + Bitmap bitmap = null; + try { + bitmap = getScaledAndRotatedBitmap(uriString); + } catch (IOException e) { + e.printStackTrace(); + } + if (bitmap == null) { + LOG.d(LOG_TAG, "I either have a null image path or bitmap"); + this.failPicture("Unable to create bitmap!"); + return; + } + + // If sending base64 image back + if (destType == DATA_URL) { + this.processPicture(bitmap, this.encodingType); + } + + // If sending filename back + else if (destType == FILE_URI || destType == NATIVE_URI) { + // Did we modify the image? + if ( (this.targetHeight > 0 && this.targetWidth > 0) || + (this.correctOrientation && this.orientationCorrected) || + !mimeType.equalsIgnoreCase(getMimetypeForFormat(encodingType))) + { + try { + String modifiedPath = this.outputModifiedBitmap(bitmap, uri); + // The modified image is cached by the app in order to get around this and not have to delete you + // application cache I'm adding the current system time to the end of the file url. + this.callbackContext.success("file://" + modifiedPath + "?" + System.currentTimeMillis()); + + } catch (Exception e) { + e.printStackTrace(); + this.failPicture("Error retrieving image."); + } + } else { + this.callbackContext.success(fileLocation); + } + } + if (bitmap != null) { + bitmap.recycle(); + bitmap = null; + } + System.gc(); + } + } + } + + /** + * Called when the camera view exits. + * + * @param requestCode The request code originally supplied to startActivityForResult(), + * allowing you to identify who this result came from. + * @param resultCode The integer result code returned by the child activity through its setResult(). + * @param intent An Intent, which can return result data to the caller (various data can be attached to Intent "extras"). + */ + public void onActivityResult(int requestCode, int resultCode, Intent intent) { + + // Get src and dest types from request code for a Camera Activity + int srcType = (requestCode / 16) - 1; + int destType = (requestCode % 16) - 1; + + // If Camera Crop + if (requestCode >= CROP_CAMERA) { + if (resultCode == Activity.RESULT_OK) { + + // Because of the inability to pass through multiple intents, this hack will allow us + // to pass arcane codes back. + destType = requestCode - CROP_CAMERA; + try { + processResultFromCamera(destType, intent); + } catch (IOException e) { + e.printStackTrace(); + LOG.e(LOG_TAG, "Unable to write to file"); + } + + }// If cancelled + else if (resultCode == Activity.RESULT_CANCELED) { + this.failPicture("No Image Selected"); + } + + // If something else + else { + this.failPicture("Did not complete!"); + } + } + // If CAMERA + else if (srcType == CAMERA) { + // If image available + if (resultCode == Activity.RESULT_OK) { + try { + if (this.allowEdit) { + Uri tmpFile = FileProvider.getUriForFile(cordova.getActivity(), + applicationId + ".provider", + createCaptureFile(this.encodingType)); + performCrop(tmpFile, destType, intent); + } else { + this.processResultFromCamera(destType, intent); + } + } catch (IOException e) { + e.printStackTrace(); + this.failPicture("Error capturing image."); + } + } + + // If cancelled + else if (resultCode == Activity.RESULT_CANCELED) { + this.failPicture("No Image Selected"); + } + + // If something else + else { + this.failPicture("Did not complete!"); + } + } + // If retrieving photo from library + else if ((srcType == PHOTOLIBRARY) || (srcType == SAVEDPHOTOALBUM)) { + if (resultCode == Activity.RESULT_OK && intent != null) { + final Intent i = intent; + final int finalDestType = destType; + cordova.getThreadPool().execute(new Runnable() { + public void run() { + processResultFromGallery(finalDestType, i); + } + }); + } else if (resultCode == Activity.RESULT_CANCELED) { + this.failPicture("No Image Selected"); + } else { + this.failPicture("Selection did not complete!"); + } + } + } + + private int exifToDegrees(int exifOrientation) { + if (exifOrientation == ExifInterface.ORIENTATION_ROTATE_90) { + return 90; + } else if (exifOrientation == ExifInterface.ORIENTATION_ROTATE_180) { + return 180; + } else if (exifOrientation == ExifInterface.ORIENTATION_ROTATE_270) { + return 270; + } else { + return 0; + } + } + + /** + * Write an inputstream to local disk + * + * @param fis - The InputStream to write + * @param dest - Destination on disk to write to + * @throws FileNotFoundException + * @throws IOException + */ + private void writeUncompressedImage(InputStream fis, Uri dest) throws FileNotFoundException, + IOException { + OutputStream os = null; + try { + os = this.cordova.getActivity().getContentResolver().openOutputStream(dest); + byte[] buffer = new byte[4096]; + int len; + while ((len = fis.read(buffer)) != -1) { + os.write(buffer, 0, len); + } + os.flush(); + } finally { + if (os != null) { + try { + os.close(); + } catch (IOException e) { + LOG.d(LOG_TAG, "Exception while closing output stream."); + } + } + if (fis != null) { + try { + fis.close(); + } catch (IOException e) { + LOG.d(LOG_TAG, "Exception while closing file input stream."); + } + } + } + } + /** + * In the special case where the default width, height and quality are unchanged + * we just write the file out to disk saving the expensive Bitmap.compress function. + * + * @param src + * @throws FileNotFoundException + * @throws IOException + */ + private void writeUncompressedImage(Uri src, Uri dest) throws FileNotFoundException, + IOException { + + FileInputStream fis = new FileInputStream(FileHelper.stripFileProtocol(src.toString())); + writeUncompressedImage(fis, dest); + + } + + /** + * Create entry in media store for image + * + * @return uri + */ + private Uri getUriFromMediaStore() { + ContentValues values = new ContentValues(); + values.put(android.provider.MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); + Uri uri; + try { + uri = this.cordova.getActivity().getContentResolver().insert(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); + } catch (RuntimeException e) { + LOG.d(LOG_TAG, "Can't write to external media storage."); + try { + uri = this.cordova.getActivity().getContentResolver().insert(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI, values); + } catch (RuntimeException ex) { + LOG.d(LOG_TAG, "Can't write to internal media storage."); + return null; + } + } + return uri; + } + + /** + * Return a scaled and rotated bitmap based on the target width and height + * + * @param imageUrl + * @return + * @throws IOException + */ + private Bitmap getScaledAndRotatedBitmap(String imageUrl) throws IOException { + // If no new width or height were specified, and orientation is not needed return the original bitmap + if (this.targetWidth <= 0 && this.targetHeight <= 0 && !(this.correctOrientation)) { + InputStream fileStream = null; + Bitmap image = null; + try { + fileStream = FileHelper.getInputStreamFromUriString(imageUrl, cordova); + image = BitmapFactory.decodeStream(fileStream); + } catch (OutOfMemoryError e) { + callbackContext.error(e.getLocalizedMessage()); + } catch (Exception e){ + callbackContext.error(e.getLocalizedMessage()); + } + finally { + if (fileStream != null) { + try { + fileStream.close(); + } catch (IOException e) { + LOG.d(LOG_TAG, "Exception while closing file input stream."); + } + } + } + return image; + } + + + /* Copy the inputstream to a temporary file on the device. + We then use this temporary file to determine the width/height/orientation. + This is the only way to determine the orientation of the photo coming from 3rd party providers (Google Drive, Dropbox,etc) + This also ensures we create a scaled bitmap with the correct orientation + + We delete the temporary file once we are done + */ + File localFile = null; + Uri galleryUri = null; + int rotate = 0; + try { + InputStream fileStream = FileHelper.getInputStreamFromUriString(imageUrl, cordova); + if (fileStream != null) { + // Generate a temporary file + String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); + String fileName = "IMG_" + timeStamp + (this.encodingType == JPEG ? ".jpg" : ".png"); + localFile = new File(getTempDirectoryPath() + fileName); + galleryUri = Uri.fromFile(localFile); + writeUncompressedImage(fileStream, galleryUri); + try { + String mimeType = FileHelper.getMimeType(imageUrl.toString(), cordova); + if ("image/jpeg".equalsIgnoreCase(mimeType)) { + // ExifInterface doesn't like the file:// prefix + String filePath = galleryUri.toString().replace("file://", ""); + // read exifData of source + exifData = new ExifHelper(); + exifData.createInFile(filePath); + // Use ExifInterface to pull rotation information + if (this.correctOrientation) { + ExifInterface exif = new ExifInterface(filePath); + rotate = exifToDegrees(exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED)); + } + } + } catch (Exception oe) { + LOG.w(LOG_TAG,"Unable to read Exif data: "+ oe.toString()); + rotate = 0; + } + } + } + catch (Exception e) + { + LOG.e(LOG_TAG,"Exception while getting input stream: "+ e.toString()); + return null; + } + + + + try { + // figure out the original width and height of the image + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inJustDecodeBounds = true; + InputStream fileStream = null; + try { + fileStream = FileHelper.getInputStreamFromUriString(galleryUri.toString(), cordova); + BitmapFactory.decodeStream(fileStream, null, options); + } finally { + if (fileStream != null) { + try { + fileStream.close(); + } catch (IOException e) { + LOG.d(LOG_TAG, "Exception while closing file input stream."); + } + } + } + + + //CB-2292: WTF? Why is the width null? + if (options.outWidth == 0 || options.outHeight == 0) { + return null; + } + + // User didn't specify output dimensions, but they need orientation + if (this.targetWidth <= 0 && this.targetHeight <= 0) { + this.targetWidth = options.outWidth; + this.targetHeight = options.outHeight; + } + + // Setup target width/height based on orientation + int rotatedWidth, rotatedHeight; + boolean rotated= false; + if (rotate == 90 || rotate == 270) { + rotatedWidth = options.outHeight; + rotatedHeight = options.outWidth; + rotated = true; + } else { + rotatedWidth = options.outWidth; + rotatedHeight = options.outHeight; + } + + // determine the correct aspect ratio + int[] widthHeight = calculateAspectRatio(rotatedWidth, rotatedHeight); + + + // Load in the smallest bitmap possible that is closest to the size we want + options.inJustDecodeBounds = false; + options.inSampleSize = calculateSampleSize(rotatedWidth, rotatedHeight, widthHeight[0], widthHeight[1]); + Bitmap unscaledBitmap = null; + try { + fileStream = FileHelper.getInputStreamFromUriString(galleryUri.toString(), cordova); + unscaledBitmap = BitmapFactory.decodeStream(fileStream, null, options); + } finally { + if (fileStream != null) { + try { + fileStream.close(); + } catch (IOException e) { + LOG.d(LOG_TAG, "Exception while closing file input stream."); + } + } + } + if (unscaledBitmap == null) { + return null; + } + + int scaledWidth = (!rotated) ? widthHeight[0] : widthHeight[1]; + int scaledHeight = (!rotated) ? widthHeight[1] : widthHeight[0]; + + Bitmap scaledBitmap = Bitmap.createScaledBitmap(unscaledBitmap, scaledWidth, scaledHeight, true); + if (scaledBitmap != unscaledBitmap) { + unscaledBitmap.recycle(); + unscaledBitmap = null; + } + if (this.correctOrientation && (rotate != 0)) { + Matrix matrix = new Matrix(); + matrix.setRotate(rotate); + try { + scaledBitmap = Bitmap.createBitmap(scaledBitmap, 0, 0, scaledBitmap.getWidth(), scaledBitmap.getHeight(), matrix, true); + this.orientationCorrected = true; + } catch (OutOfMemoryError oom) { + this.orientationCorrected = false; + } + } + return scaledBitmap; + } + finally { + // delete the temporary copy + if (localFile != null) { + localFile.delete(); + } + } + + } + + /** + * Maintain the aspect ratio so the resulting image does not look smooshed + * + * @param origWidth + * @param origHeight + * @return + */ + public int[] calculateAspectRatio(int origWidth, int origHeight) { + int newWidth = this.targetWidth; + int newHeight = this.targetHeight; + + // If no new width or height were specified return the original bitmap + if (newWidth <= 0 && newHeight <= 0) { + newWidth = origWidth; + newHeight = origHeight; + } + // Only the width was specified + else if (newWidth > 0 && newHeight <= 0) { + newHeight = (int)((double)(newWidth / (double)origWidth) * origHeight); + } + // only the height was specified + else if (newWidth <= 0 && newHeight > 0) { + newWidth = (int)((double)(newHeight / (double)origHeight) * origWidth); + } + // If the user specified both a positive width and height + // (potentially different aspect ratio) then the width or height is + // scaled so that the image fits while maintaining aspect ratio. + // Alternatively, the specified width and height could have been + // kept and Bitmap.SCALE_TO_FIT specified when scaling, but this + // would result in whitespace in the new image. + else { + double newRatio = newWidth / (double) newHeight; + double origRatio = origWidth / (double) origHeight; + + if (origRatio > newRatio) { + newHeight = (newWidth * origHeight) / origWidth; + } else if (origRatio < newRatio) { + newWidth = (newHeight * origWidth) / origHeight; + } + } + + int[] retval = new int[2]; + retval[0] = newWidth; + retval[1] = newHeight; + return retval; + } + + /** + * Figure out what ratio we can load our image into memory at while still being bigger than + * our desired width and height + * + * @param srcWidth + * @param srcHeight + * @param dstWidth + * @param dstHeight + * @return + */ + public static int calculateSampleSize(int srcWidth, int srcHeight, int dstWidth, int dstHeight) { + final float srcAspect = (float) srcWidth / (float) srcHeight; + final float dstAspect = (float) dstWidth / (float) dstHeight; + + if (srcAspect > dstAspect) { + return srcWidth / dstWidth; + } else { + return srcHeight / dstHeight; + } + } + + /** + * Creates a cursor that can be used to determine how many images we have. + * + * @return a cursor + */ + private Cursor queryImgDB(Uri contentStore) { + return this.cordova.getActivity().getContentResolver().query( + contentStore, + new String[]{MediaStore.Images.Media._ID}, + null, + null, + null); + } + + /** + * Cleans up after picture taking. Checking for duplicates and that kind of stuff. + * + * @param newImage + */ + private void cleanup(int imageType, Uri oldImage, Uri newImage, Bitmap bitmap) { + if (bitmap != null) { + bitmap.recycle(); + } + + // Clean up initial camera-written image file. + (new File(FileHelper.stripFileProtocol(oldImage.toString()))).delete(); + + checkForDuplicateImage(imageType); + // Scan for the gallery to update pic refs in gallery + if (this.saveToPhotoAlbum && newImage != null) { + this.scanForGallery(newImage); + } + + System.gc(); + } + + /** + * Used to find out if we are in a situation where the Camera Intent adds to images + * to the content store. If we are using a FILE_URI and the number of images in the DB + * increases by 2 we have a duplicate, when using a DATA_URL the number is 1. + * + * @param type FILE_URI or DATA_URL + */ + private void checkForDuplicateImage(int type) { + int diff = 1; + Uri contentStore = whichContentStore(); + Cursor cursor = queryImgDB(contentStore); + int currentNumOfImages = cursor.getCount(); + + if (type == FILE_URI && this.saveToPhotoAlbum) { + diff = 2; + } + + // delete the duplicate file if the difference is 2 for file URI or 1 for Data URL + if ((currentNumOfImages - numPics) == diff) { + cursor.moveToLast(); + int id = Integer.valueOf(cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media._ID))); + if (diff == 2) { + id--; + } + Uri uri = Uri.parse(contentStore + "/" + id); + this.cordova.getActivity().getContentResolver().delete(uri, null, null); + cursor.close(); + } + } + + /** + * Determine if we are storing the images in internal or external storage + * + * @return Uri + */ + private Uri whichContentStore() { + if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { + return android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI; + } else { + return android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI; + } + } + + /** + * Compress bitmap using jpeg, convert to Base64 encoded string, and return to JavaScript. + * + * @param bitmap + */ + public void processPicture(Bitmap bitmap, int encodingType) { + ByteArrayOutputStream jpeg_data = new ByteArrayOutputStream(); + CompressFormat compressFormat = encodingType == JPEG ? + CompressFormat.JPEG : + CompressFormat.PNG; + + try { + if (bitmap.compress(compressFormat, mQuality, jpeg_data)) { + byte[] code = jpeg_data.toByteArray(); + byte[] output = Base64.encode(code, Base64.NO_WRAP); + String js_out = new String(output); + this.callbackContext.success(js_out); + js_out = null; + output = null; + code = null; + } + } catch (Exception e) { + this.failPicture("Error compressing image."); + } + jpeg_data = null; + } + + /** + * Send error message to JavaScript. + * + * @param err + */ + public void failPicture(String err) { + this.callbackContext.error(err); + } + + private void scanForGallery(Uri newImage) { + this.scanMe = newImage; + if (this.conn != null) { + this.conn.disconnect(); + } + this.conn = new MediaScannerConnection(this.cordova.getActivity().getApplicationContext(), this); + conn.connect(); + } + + public void onMediaScannerConnected() { + try { + this.conn.scanFile(this.scanMe.toString(), "image/*"); + } catch (java.lang.IllegalStateException e) { + LOG.e(LOG_TAG, "Can't scan file in MediaScanner after taking picture"); + } + + } + + public void onScanCompleted(String path, Uri uri) { + this.conn.disconnect(); + } + + + public void onRequestPermissionResult(int requestCode, String[] permissions, + int[] grantResults) throws JSONException { + for (int r : grantResults) { + if (r == PackageManager.PERMISSION_DENIED) { + this.callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ERROR, PERMISSION_DENIED_ERROR)); + return; + } + } + switch (requestCode) { + case TAKE_PIC_SEC: + takePicture(this.destType, this.encodingType); + break; + case SAVE_TO_ALBUM_SEC: + this.getImage(this.srcType, this.destType, this.encodingType); + break; + } + } + + /** + * Taking or choosing a picture launches another Activity, so we need to implement the + * save/restore APIs to handle the case where the CordovaActivity is killed by the OS + * before we get the launched Activity's result. + */ + public Bundle onSaveInstanceState() { + Bundle state = new Bundle(); + state.putInt("destType", this.destType); + state.putInt("srcType", this.srcType); + state.putInt("mQuality", this.mQuality); + state.putInt("targetWidth", this.targetWidth); + state.putInt("targetHeight", this.targetHeight); + state.putInt("encodingType", this.encodingType); + state.putInt("mediaType", this.mediaType); + state.putInt("numPics", this.numPics); + state.putBoolean("allowEdit", this.allowEdit); + state.putBoolean("correctOrientation", this.correctOrientation); + state.putBoolean("saveToPhotoAlbum", this.saveToPhotoAlbum); + + if (this.croppedUri != null) { + state.putString("croppedUri", this.croppedUri.toString()); + } + + if (this.imageUri != null) { + state.putString("imageUri", this.imageUri.getFileUri().toString()); + } + + return state; + } + + public void onRestoreStateForActivityResult(Bundle state, CallbackContext callbackContext) { + this.destType = state.getInt("destType"); + this.srcType = state.getInt("srcType"); + this.mQuality = state.getInt("mQuality"); + this.targetWidth = state.getInt("targetWidth"); + this.targetHeight = state.getInt("targetHeight"); + this.encodingType = state.getInt("encodingType"); + this.mediaType = state.getInt("mediaType"); + this.numPics = state.getInt("numPics"); + this.allowEdit = state.getBoolean("allowEdit"); + this.correctOrientation = state.getBoolean("correctOrientation"); + this.saveToPhotoAlbum = state.getBoolean("saveToPhotoAlbum"); + + if (state.containsKey("croppedUri")) { + this.croppedUri = Uri.parse(state.getString("croppedUri")); + } + + if (state.containsKey("imageUri")) { + //I have no idea what type of URI is being passed in + this.imageUri = new CordovaUri(Uri.parse(state.getString("imageUri"))); + } + + this.callbackContext = callbackContext; + } + + /* + * This is dirty, but it does the job. + * + * Since the FilesProvider doesn't really provide you a way of getting a URL from the file, + * and since we actually need the Camera to create the file for us most of the time, we don't + * actually write the file, just generate the location based on a timestamp, we need to get it + * back from the Intent. + * + * However, the FilesProvider preserves the path, so we can at least write to it from here, since + * we own the context in this case. + */ + + private String getFileNameFromUri(Uri uri) { + String fullUri = uri.toString(); + String partial_path = fullUri.split("external_files")[1]; + File external_storage = Environment.getExternalStorageDirectory(); + String path = external_storage.getAbsolutePath() + partial_path; + return path; + + } + + +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/camera/CordovaUri.java b/platforms/android/app/src/main/java/org/apache/cordova/camera/CordovaUri.java new file mode 100755 index 00000000..5c2224d4 --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/camera/CordovaUri.java @@ -0,0 +1,104 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova.camera; + +import android.net.Uri; +import android.os.Build; +import android.os.Environment; +import android.support.v4.content.FileProvider; + +import java.io.File; + +/* + * This class exists because Andorid FilesProvider doesn't work on Android 4.4.4 and below and throws + * weird errors. I'm not sure why writing to shared cache directories is somehow verboten, but it is + * and this error is irritating for a Compatibility library to have. + * + */ + +public class CordovaUri { + + private Uri androidUri; + private String fileName; + private Uri fileUri; + + /* + * We always expect a FileProvider string to be passed in for the file that we create + * + */ + CordovaUri (Uri inputUri) + { + //Determine whether the file is a content or file URI + if(inputUri.getScheme().equals("content")) + { + androidUri = inputUri; + fileName = getFileNameFromUri(androidUri); + fileUri = Uri.parse("file://" + fileName); + } + else + { + fileUri = inputUri; + fileName = FileHelper.stripFileProtocol(inputUri.toString()); + } + } + + public Uri getFileUri() + { + return fileUri; + } + + public String getFilePath() + { + return fileName; + } + + /* + * This only gets called by takePicture + */ + + public Uri getCorrectUri() + { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + return androidUri; + else + return fileUri; + } + + /* + * This is dirty, but it does the job. + * + * Since the FilesProvider doesn't really provide you a way of getting a URL from the file, + * and since we actually need the Camera to create the file for us most of the time, we don't + * actually write the file, just generate the location based on a timestamp, we need to get it + * back from the Intent. + * + * However, the FilesProvider preserves the path, so we can at least write to it from here, since + * we own the context in this case. + */ + + private String getFileNameFromUri(Uri uri) { + String fullUri = uri.toString(); + String partial_path = fullUri.split("external_files")[1]; + File external_storage = Environment.getExternalStorageDirectory(); + String path = external_storage.getAbsolutePath() + partial_path; + return path; + + } +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/camera/ExifHelper.java b/platforms/android/app/src/main/java/org/apache/cordova/camera/ExifHelper.java new file mode 100755 index 00000000..5160a2f6 --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/camera/ExifHelper.java @@ -0,0 +1,185 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova.camera; + +import java.io.IOException; + +import android.media.ExifInterface; + +public class ExifHelper { + private String aperture = null; + private String datetime = null; + private String exposureTime = null; + private String flash = null; + private String focalLength = null; + private String gpsAltitude = null; + private String gpsAltitudeRef = null; + private String gpsDateStamp = null; + private String gpsLatitude = null; + private String gpsLatitudeRef = null; + private String gpsLongitude = null; + private String gpsLongitudeRef = null; + private String gpsProcessingMethod = null; + private String gpsTimestamp = null; + private String iso = null; + private String make = null; + private String model = null; + private String orientation = null; + private String whiteBalance = null; + + private ExifInterface inFile = null; + private ExifInterface outFile = null; + + /** + * The file before it is compressed + * + * @param filePath + * @throws IOException + */ + public void createInFile(String filePath) throws IOException { + this.inFile = new ExifInterface(filePath); + } + + /** + * The file after it has been compressed + * + * @param filePath + * @throws IOException + */ + public void createOutFile(String filePath) throws IOException { + this.outFile = new ExifInterface(filePath); + } + + /** + * Reads all the EXIF data from the input file. + */ + public void readExifData() { + this.aperture = inFile.getAttribute(ExifInterface.TAG_APERTURE); + this.datetime = inFile.getAttribute(ExifInterface.TAG_DATETIME); + this.exposureTime = inFile.getAttribute(ExifInterface.TAG_EXPOSURE_TIME); + this.flash = inFile.getAttribute(ExifInterface.TAG_FLASH); + this.focalLength = inFile.getAttribute(ExifInterface.TAG_FOCAL_LENGTH); + this.gpsAltitude = inFile.getAttribute(ExifInterface.TAG_GPS_ALTITUDE); + this.gpsAltitudeRef = inFile.getAttribute(ExifInterface.TAG_GPS_ALTITUDE_REF); + this.gpsDateStamp = inFile.getAttribute(ExifInterface.TAG_GPS_DATESTAMP); + this.gpsLatitude = inFile.getAttribute(ExifInterface.TAG_GPS_LATITUDE); + this.gpsLatitudeRef = inFile.getAttribute(ExifInterface.TAG_GPS_LATITUDE_REF); + this.gpsLongitude = inFile.getAttribute(ExifInterface.TAG_GPS_LONGITUDE); + this.gpsLongitudeRef = inFile.getAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF); + this.gpsProcessingMethod = inFile.getAttribute(ExifInterface.TAG_GPS_PROCESSING_METHOD); + this.gpsTimestamp = inFile.getAttribute(ExifInterface.TAG_GPS_TIMESTAMP); + this.iso = inFile.getAttribute(ExifInterface.TAG_ISO); + this.make = inFile.getAttribute(ExifInterface.TAG_MAKE); + this.model = inFile.getAttribute(ExifInterface.TAG_MODEL); + this.orientation = inFile.getAttribute(ExifInterface.TAG_ORIENTATION); + this.whiteBalance = inFile.getAttribute(ExifInterface.TAG_WHITE_BALANCE); + } + + /** + * Writes the previously stored EXIF data to the output file. + * + * @throws IOException + */ + public void writeExifData() throws IOException { + // Don't try to write to a null file + if (this.outFile == null) { + return; + } + + if (this.aperture != null) { + this.outFile.setAttribute(ExifInterface.TAG_APERTURE, this.aperture); + } + if (this.datetime != null) { + this.outFile.setAttribute(ExifInterface.TAG_DATETIME, this.datetime); + } + if (this.exposureTime != null) { + this.outFile.setAttribute(ExifInterface.TAG_EXPOSURE_TIME, this.exposureTime); + } + if (this.flash != null) { + this.outFile.setAttribute(ExifInterface.TAG_FLASH, this.flash); + } + if (this.focalLength != null) { + this.outFile.setAttribute(ExifInterface.TAG_FOCAL_LENGTH, this.focalLength); + } + if (this.gpsAltitude != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_ALTITUDE, this.gpsAltitude); + } + if (this.gpsAltitudeRef != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_ALTITUDE_REF, this.gpsAltitudeRef); + } + if (this.gpsDateStamp != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_DATESTAMP, this.gpsDateStamp); + } + if (this.gpsLatitude != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_LATITUDE, this.gpsLatitude); + } + if (this.gpsLatitudeRef != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_LATITUDE_REF, this.gpsLatitudeRef); + } + if (this.gpsLongitude != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, this.gpsLongitude); + } + if (this.gpsLongitudeRef != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF, this.gpsLongitudeRef); + } + if (this.gpsProcessingMethod != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_PROCESSING_METHOD, this.gpsProcessingMethod); + } + if (this.gpsTimestamp != null) { + this.outFile.setAttribute(ExifInterface.TAG_GPS_TIMESTAMP, this.gpsTimestamp); + } + if (this.iso != null) { + this.outFile.setAttribute(ExifInterface.TAG_ISO, this.iso); + } + if (this.make != null) { + this.outFile.setAttribute(ExifInterface.TAG_MAKE, this.make); + } + if (this.model != null) { + this.outFile.setAttribute(ExifInterface.TAG_MODEL, this.model); + } + if (this.orientation != null) { + this.outFile.setAttribute(ExifInterface.TAG_ORIENTATION, this.orientation); + } + if (this.whiteBalance != null) { + this.outFile.setAttribute(ExifInterface.TAG_WHITE_BALANCE, this.whiteBalance); + } + + this.outFile.saveAttributes(); + } + + public int getOrientation() { + int o = Integer.parseInt(this.orientation); + + if (o == ExifInterface.ORIENTATION_NORMAL) { + return 0; + } else if (o == ExifInterface.ORIENTATION_ROTATE_90) { + return 90; + } else if (o == ExifInterface.ORIENTATION_ROTATE_180) { + return 180; + } else if (o == ExifInterface.ORIENTATION_ROTATE_270) { + return 270; + } else { + return 0; + } + } + + public void resetOrientation() { + this.orientation = "" + ExifInterface.ORIENTATION_NORMAL; + } +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/camera/FileHelper.java b/platforms/android/app/src/main/java/org/apache/cordova/camera/FileHelper.java new file mode 100755 index 00000000..ccc5e3e7 --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/camera/FileHelper.java @@ -0,0 +1,319 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ +package org.apache.cordova.camera; + +import android.annotation.SuppressLint; +import android.content.ContentUris; +import android.content.Context; +import android.content.CursorLoader; +import android.database.Cursor; +import android.net.Uri; +import android.os.Build; +import android.os.Environment; +import android.provider.DocumentsContract; +import android.provider.MediaStore; +import android.webkit.MimeTypeMap; + +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.LOG; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Locale; + +public class FileHelper { + private static final String LOG_TAG = "FileUtils"; + private static final String _DATA = "_data"; + + /** + * Returns the real path of the given URI string. + * If the given URI string represents a content:// URI, the real path is retrieved from the media store. + * + * @param uriString the URI string of the audio/image/video + * @param cordova the current application context + * @return the full path to the file + */ + @SuppressWarnings("deprecation") + public static String getRealPath(Uri uri, CordovaInterface cordova) { + String realPath = null; + + if (Build.VERSION.SDK_INT < 11) + realPath = FileHelper.getRealPathFromURI_BelowAPI11(cordova.getActivity(), uri); + + // SDK >= 11 + else + realPath = FileHelper.getRealPathFromURI_API11_And_Above(cordova.getActivity(), uri); + + return realPath; + } + + /** + * Returns the real path of the given URI. + * If the given URI is a content:// URI, the real path is retrieved from the media store. + * + * @param uri the URI of the audio/image/video + * @param cordova the current application context + * @return the full path to the file + */ + public static String getRealPath(String uriString, CordovaInterface cordova) { + return FileHelper.getRealPath(Uri.parse(uriString), cordova); + } + + @SuppressLint("NewApi") + public static String getRealPathFromURI_API11_And_Above(final Context context, final Uri uri) { + + final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; + // DocumentProvider + if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { + + // ExternalStorageProvider + if (isExternalStorageDocument(uri)) { + final String docId = DocumentsContract.getDocumentId(uri); + final String[] split = docId.split(":"); + final String type = split[0]; + + if ("primary".equalsIgnoreCase(type)) { + return Environment.getExternalStorageDirectory() + "/" + split[1]; + } + + // TODO handle non-primary volumes + } + // DownloadsProvider + else if (isDownloadsDocument(uri)) { + + final String id = DocumentsContract.getDocumentId(uri); + final Uri contentUri = ContentUris.withAppendedId( + Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); + + return getDataColumn(context, contentUri, null, null); + } + // MediaProvider + else if (isMediaDocument(uri)) { + final String docId = DocumentsContract.getDocumentId(uri); + final String[] split = docId.split(":"); + final String type = split[0]; + + Uri contentUri = null; + if ("image".equals(type)) { + contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; + } else if ("video".equals(type)) { + contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; + } else if ("audio".equals(type)) { + contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; + } + + final String selection = "_id=?"; + final String[] selectionArgs = new String[] { + split[1] + }; + + return getDataColumn(context, contentUri, selection, selectionArgs); + } + } + // MediaStore (and general) + else if ("content".equalsIgnoreCase(uri.getScheme())) { + + // Return the remote address + if (isGooglePhotosUri(uri)) + return uri.getLastPathSegment(); + + return getDataColumn(context, uri, null, null); + } + // File + else if ("file".equalsIgnoreCase(uri.getScheme())) { + return uri.getPath(); + } + + return null; + } + + public static String getRealPathFromURI_BelowAPI11(Context context, Uri contentUri) { + String[] proj = { MediaStore.Images.Media.DATA }; + String result = null; + + try { + Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null); + int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); + cursor.moveToFirst(); + result = cursor.getString(column_index); + + } catch (Exception e) { + result = null; + } + return result; + } + + /** + * Returns an input stream based on given URI string. + * + * @param uriString the URI string from which to obtain the input stream + * @param cordova the current application context + * @return an input stream into the data at the given URI or null if given an invalid URI string + * @throws IOException + */ + public static InputStream getInputStreamFromUriString(String uriString, CordovaInterface cordova) + throws IOException { + InputStream returnValue = null; + if (uriString.startsWith("content")) { + Uri uri = Uri.parse(uriString); + returnValue = cordova.getActivity().getContentResolver().openInputStream(uri); + } else if (uriString.startsWith("file://")) { + int question = uriString.indexOf("?"); + if (question > -1) { + uriString = uriString.substring(0, question); + } + if (uriString.startsWith("file:///android_asset/")) { + Uri uri = Uri.parse(uriString); + String relativePath = uri.getPath().substring(15); + returnValue = cordova.getActivity().getAssets().open(relativePath); + } else { + // might still be content so try that first + try { + returnValue = cordova.getActivity().getContentResolver().openInputStream(Uri.parse(uriString)); + } catch (Exception e) { + returnValue = null; + } + if (returnValue == null) { + returnValue = new FileInputStream(getRealPath(uriString, cordova)); + } + } + } else { + returnValue = new FileInputStream(uriString); + } + return returnValue; + } + + /** + * Removes the "file://" prefix from the given URI string, if applicable. + * If the given URI string doesn't have a "file://" prefix, it is returned unchanged. + * + * @param uriString the URI string to operate on + * @return a path without the "file://" prefix + */ + public static String stripFileProtocol(String uriString) { + if (uriString.startsWith("file://")) { + uriString = uriString.substring(7); + } + return uriString; + } + + public static String getMimeTypeForExtension(String path) { + String extension = path; + int lastDot = extension.lastIndexOf('.'); + if (lastDot != -1) { + extension = extension.substring(lastDot + 1); + } + // Convert the URI string to lower case to ensure compatibility with MimeTypeMap (see CB-2185). + extension = extension.toLowerCase(Locale.getDefault()); + if (extension.equals("3ga")) { + return "audio/3gpp"; + } + return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); + } + + /** + * Returns the mime type of the data specified by the given URI string. + * + * @param uriString the URI string of the data + * @return the mime type of the specified data + */ + public static String getMimeType(String uriString, CordovaInterface cordova) { + String mimeType = null; + + Uri uri = Uri.parse(uriString); + if (uriString.startsWith("content://")) { + mimeType = cordova.getActivity().getContentResolver().getType(uri); + } else { + mimeType = getMimeTypeForExtension(uri.getPath()); + } + + return mimeType; + } + + /** + * Get the value of the data column for this Uri. This is useful for + * MediaStore Uris, and other file-based ContentProviders. + * + * @param context The context. + * @param uri The Uri to query. + * @param selection (Optional) Filter used in the query. + * @param selectionArgs (Optional) Selection arguments used in the query. + * @return The value of the _data column, which is typically a file path. + * @author paulburke + */ + public static String getDataColumn(Context context, Uri uri, String selection, + String[] selectionArgs) { + + Cursor cursor = null; + final String column = "_data"; + final String[] projection = { + column + }; + + try { + cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, + null); + if (cursor != null && cursor.moveToFirst()) { + + final int column_index = cursor.getColumnIndexOrThrow(column); + return cursor.getString(column_index); + } + } catch (Exception e) { + return null; + } finally { + if (cursor != null) + cursor.close(); + } + return null; + } + + /** + * @param uri The Uri to check. + * @return Whether the Uri authority is ExternalStorageProvider. + * @author paulburke + */ + public static boolean isExternalStorageDocument(Uri uri) { + return "com.android.externalstorage.documents".equals(uri.getAuthority()); + } + + /** + * @param uri The Uri to check. + * @return Whether the Uri authority is DownloadsProvider. + * @author paulburke + */ + public static boolean isDownloadsDocument(Uri uri) { + return "com.android.providers.downloads.documents".equals(uri.getAuthority()); + } + + /** + * @param uri The Uri to check. + * @return Whether the Uri authority is MediaProvider. + * @author paulburke + */ + public static boolean isMediaDocument(Uri uri) { + return "com.android.providers.media.documents".equals(uri.getAuthority()); + } + + /** + * @param uri The Uri to check. + * @return Whether the Uri authority is Google Photos. + */ + public static boolean isGooglePhotosUri(Uri uri) { + return "com.google.android.apps.photos.content".equals(uri.getAuthority()); + } +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/camera/FileProvider.java b/platforms/android/app/src/main/java/org/apache/cordova/camera/FileProvider.java new file mode 100755 index 00000000..336f93ce --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/camera/FileProvider.java @@ -0,0 +1,21 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova.camera; + +public class FileProvider extends android.support.v4.content.FileProvider {} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/device/Device.java b/platforms/android/app/src/main/java/org/apache/cordova/device/Device.java new file mode 100755 index 00000000..e9efcb49 --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/device/Device.java @@ -0,0 +1,174 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova.device; + +import java.util.TimeZone; + +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaInterface; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.provider.Settings; + +public class Device extends CordovaPlugin { + public static final String TAG = "Device"; + + public static String platform; // Device OS + public static String uuid; // Device UUID + + private static final String ANDROID_PLATFORM = "Android"; + private static final String AMAZON_PLATFORM = "amazon-fireos"; + private static final String AMAZON_DEVICE = "Amazon"; + + /** + * Constructor. + */ + public Device() { + } + + /** + * Sets the context of the Command. This can then be used to do things like + * get file paths associated with the Activity. + * + * @param cordova The context of the main Activity. + * @param webView The CordovaWebView Cordova is running in. + */ + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + super.initialize(cordova, webView); + Device.uuid = getUuid(); + } + + /** + * Executes the request and returns PluginResult. + * + * @param action The action to execute. + * @param args JSONArry of arguments for the plugin. + * @param callbackContext The callback id used when calling back into JavaScript. + * @return True if the action was valid, false if not. + */ + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + if ("getDeviceInfo".equals(action)) { + JSONObject r = new JSONObject(); + r.put("uuid", Device.uuid); + r.put("version", this.getOSVersion()); + r.put("platform", this.getPlatform()); + r.put("model", this.getModel()); + r.put("manufacturer", this.getManufacturer()); + r.put("isVirtual", this.isVirtual()); + r.put("serial", this.getSerialNumber()); + callbackContext.success(r); + } + else { + return false; + } + return true; + } + + //-------------------------------------------------------------------------- + // LOCAL METHODS + //-------------------------------------------------------------------------- + + /** + * Get the OS name. + * + * @return + */ + public String getPlatform() { + String platform; + if (isAmazonDevice()) { + platform = AMAZON_PLATFORM; + } else { + platform = ANDROID_PLATFORM; + } + return platform; + } + + /** + * Get the device's Universally Unique Identifier (UUID). + * + * @return + */ + public String getUuid() { + String uuid = Settings.Secure.getString(this.cordova.getActivity().getContentResolver(), android.provider.Settings.Secure.ANDROID_ID); + return uuid; + } + + public String getModel() { + String model = android.os.Build.MODEL; + return model; + } + + public String getProductName() { + String productname = android.os.Build.PRODUCT; + return productname; + } + + public String getManufacturer() { + String manufacturer = android.os.Build.MANUFACTURER; + return manufacturer; + } + + public String getSerialNumber() { + String serial = android.os.Build.SERIAL; + return serial; + } + + /** + * Get the OS version. + * + * @return + */ + public String getOSVersion() { + String osversion = android.os.Build.VERSION.RELEASE; + return osversion; + } + + public String getSDKVersion() { + @SuppressWarnings("deprecation") + String sdkversion = android.os.Build.VERSION.SDK; + return sdkversion; + } + + public String getTimeZoneID() { + TimeZone tz = TimeZone.getDefault(); + return (tz.getID()); + } + + /** + * Function to check if the device is manufactured by Amazon + * + * @return + */ + public boolean isAmazonDevice() { + if (android.os.Build.MANUFACTURER.equals(AMAZON_DEVICE)) { + return true; + } + return false; + } + + public boolean isVirtual() { + return android.os.Build.FINGERPRINT.contains("generic") || + android.os.Build.PRODUCT.contains("sdk"); + } + +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/dialogs/Notification.java b/platforms/android/app/src/main/java/org/apache/cordova/dialogs/Notification.java new file mode 100755 index 00000000..f19bc888 --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/dialogs/Notification.java @@ -0,0 +1,513 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova.dialogs; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.LOG; +import org.apache.cordova.PluginResult; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.annotation.SuppressLint; +import android.app.AlertDialog; +import android.app.AlertDialog.Builder; +import android.app.ProgressDialog; +import android.content.DialogInterface; +import android.content.res.Resources; +import android.media.Ringtone; +import android.media.RingtoneManager; +import android.net.Uri; +import android.widget.EditText; +import android.widget.TextView; + + +/** + * This class provides access to notifications on the device. + * + * Be aware that this implementation gets called on + * navigator.notification.{alert|confirm|prompt}, and that there is a separate + * implementation in org.apache.cordova.CordovaChromeClient that gets + * called on a simple window.{alert|confirm|prompt}. + */ +public class Notification extends CordovaPlugin { + + private static final String LOG_TAG = "Notification"; + + public int confirmResult = -1; + public ProgressDialog spinnerDialog = null; + public ProgressDialog progressDialog = null; + + /** + * Constructor. + */ + public Notification() { + } + + /** + * Executes the request and returns PluginResult. + * + * @param action The action to execute. + * @param args JSONArray of arguments for the plugin. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return True when the action was valid, false otherwise. + */ + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + /* + * Don't run any of these if the current activity is finishing + * in order to avoid android.view.WindowManager$BadTokenException + * crashing the app. Just return true here since false should only + * be returned in the event of an invalid action. + */ + if(this.cordova.getActivity().isFinishing()) return true; + + if (action.equals("beep")) { + this.beep(args.getLong(0)); + } + else if (action.equals("alert")) { + this.alert(args.getString(0), args.getString(1), args.getString(2), callbackContext); + return true; + } + else if (action.equals("confirm")) { + this.confirm(args.getString(0), args.getString(1), args.getJSONArray(2), callbackContext); + return true; + } + else if (action.equals("prompt")) { + this.prompt(args.getString(0), args.getString(1), args.getJSONArray(2), args.getString(3), callbackContext); + return true; + } + else if (action.equals("activityStart")) { + this.activityStart(args.getString(0), args.getString(1)); + } + else if (action.equals("activityStop")) { + this.activityStop(); + } + else if (action.equals("progressStart")) { + this.progressStart(args.getString(0), args.getString(1)); + } + else if (action.equals("progressValue")) { + this.progressValue(args.getInt(0)); + } + else if (action.equals("progressStop")) { + this.progressStop(); + } + else { + return false; + } + + // Only alert and confirm are async. + callbackContext.success(); + return true; + } + + //-------------------------------------------------------------------------- + // LOCAL METHODS + //-------------------------------------------------------------------------- + + /** + * Beep plays the default notification ringtone. + * + * @param count Number of times to play notification + */ + public void beep(final long count) { + cordova.getThreadPool().execute(new Runnable() { + public void run() { + Uri ringtone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); + Ringtone notification = RingtoneManager.getRingtone(cordova.getActivity().getBaseContext(), ringtone); + + // If phone is not set to silent mode + if (notification != null) { + for (long i = 0; i < count; ++i) { + notification.play(); + long timeout = 5000; + while (notification.isPlaying() && (timeout > 0)) { + timeout = timeout - 100; + try { + Thread.sleep(100); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + } + } + } + }); + } + + /** + * Builds and shows a native Android alert with given Strings + * @param message The message the alert should display + * @param title The title of the alert + * @param buttonLabel The label of the button + * @param callbackContext The callback context + */ + public synchronized void alert(final String message, final String title, final String buttonLabel, final CallbackContext callbackContext) { + final CordovaInterface cordova = this.cordova; + + Runnable runnable = new Runnable() { + public void run() { + + AlertDialog.Builder dlg = createDialog(cordova); // new AlertDialog.Builder(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); + dlg.setMessage(message); + dlg.setTitle(title); + dlg.setCancelable(true); + dlg.setPositiveButton(buttonLabel, + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 0)); + } + }); + dlg.setOnCancelListener(new AlertDialog.OnCancelListener() { + public void onCancel(DialogInterface dialog) + { + dialog.dismiss(); + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 0)); + } + }); + + changeTextDirection(dlg); + }; + }; + this.cordova.getActivity().runOnUiThread(runnable); + } + + /** + * Builds and shows a native Android confirm dialog with given title, message, buttons. + * This dialog only shows up to 3 buttons. Any labels after that will be ignored. + * The index of the button pressed will be returned to the JavaScript callback identified by callbackId. + * + * @param message The message the dialog should display + * @param title The title of the dialog + * @param buttonLabels A comma separated list of button labels (Up to 3 buttons) + * @param callbackContext The callback context. + */ + public synchronized void confirm(final String message, final String title, final JSONArray buttonLabels, final CallbackContext callbackContext) { + final CordovaInterface cordova = this.cordova; + + Runnable runnable = new Runnable() { + public void run() { + AlertDialog.Builder dlg = createDialog(cordova); // new AlertDialog.Builder(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); + dlg.setMessage(message); + dlg.setTitle(title); + dlg.setCancelable(true); + + // First button + if (buttonLabels.length() > 0) { + try { + dlg.setNegativeButton(buttonLabels.getString(0), + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 1)); + } + }); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on first button."); + } + } + + // Second button + if (buttonLabels.length() > 1) { + try { + dlg.setNeutralButton(buttonLabels.getString(1), + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 2)); + } + }); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on second button."); + } + } + + // Third button + if (buttonLabels.length() > 2) { + try { + dlg.setPositiveButton(buttonLabels.getString(2), + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 3)); + } + }); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on third button."); + } + } + dlg.setOnCancelListener(new AlertDialog.OnCancelListener() { + public void onCancel(DialogInterface dialog) + { + dialog.dismiss(); + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 0)); + } + }); + + changeTextDirection(dlg); + }; + }; + this.cordova.getActivity().runOnUiThread(runnable); + } + + /** + * Builds and shows a native Android prompt dialog with given title, message, buttons. + * This dialog only shows up to 3 buttons. Any labels after that will be ignored. + * The following results are returned to the JavaScript callback identified by callbackId: + * buttonIndex Index number of the button selected + * input1 The text entered in the prompt dialog box + * + * @param message The message the dialog should display + * @param title The title of the dialog + * @param buttonLabels A comma separated list of button labels (Up to 3 buttons) + * @param callbackContext The callback context. + */ + public synchronized void prompt(final String message, final String title, final JSONArray buttonLabels, final String defaultText, final CallbackContext callbackContext) { + + final CordovaInterface cordova = this.cordova; + + Runnable runnable = new Runnable() { + public void run() { + final EditText promptInput = new EditText(cordova.getActivity()); + + /* CB-11677 - By default, prompt input text color is set according current theme. + But for some android versions is not visible (for example 5.1.1). + android.R.color.primary_text_light will make text visible on all versions. */ + Resources resources = cordova.getActivity().getResources(); + int promptInputTextColor = resources.getColor(android.R.color.primary_text_light); + promptInput.setTextColor(promptInputTextColor); + promptInput.setText(defaultText); + AlertDialog.Builder dlg = createDialog(cordova); // new AlertDialog.Builder(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); + dlg.setMessage(message); + dlg.setTitle(title); + dlg.setCancelable(true); + + dlg.setView(promptInput); + + final JSONObject result = new JSONObject(); + + // First button + if (buttonLabels.length() > 0) { + try { + dlg.setNegativeButton(buttonLabels.getString(0), + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + try { + result.put("buttonIndex",1); + result.put("input1", promptInput.getText().toString().trim().length()==0 ? defaultText : promptInput.getText()); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on first button.", e); + } + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, result)); + } + }); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on first button."); + } + } + + // Second button + if (buttonLabels.length() > 1) { + try { + dlg.setNeutralButton(buttonLabels.getString(1), + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + try { + result.put("buttonIndex",2); + result.put("input1", promptInput.getText().toString().trim().length()==0 ? defaultText : promptInput.getText()); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on second button.", e); + } + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, result)); + } + }); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on second button."); + } + } + + // Third button + if (buttonLabels.length() > 2) { + try { + dlg.setPositiveButton(buttonLabels.getString(2), + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + try { + result.put("buttonIndex",3); + result.put("input1", promptInput.getText().toString().trim().length()==0 ? defaultText : promptInput.getText()); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on third button.", e); + } + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, result)); + } + }); + } catch (JSONException e) { + LOG.d(LOG_TAG,"JSONException on third button."); + } + } + dlg.setOnCancelListener(new AlertDialog.OnCancelListener() { + public void onCancel(DialogInterface dialog){ + dialog.dismiss(); + try { + result.put("buttonIndex",0); + result.put("input1", promptInput.getText().toString().trim().length()==0 ? defaultText : promptInput.getText()); + } catch (JSONException e) { e.printStackTrace(); } + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, result)); + } + }); + + changeTextDirection(dlg); + }; + }; + this.cordova.getActivity().runOnUiThread(runnable); + } + + /** + * Show the spinner. + * + * @param title Title of the dialog + * @param message The message of the dialog + */ + public synchronized void activityStart(final String title, final String message) { + if (this.spinnerDialog != null) { + this.spinnerDialog.dismiss(); + this.spinnerDialog = null; + } + final Notification notification = this; + final CordovaInterface cordova = this.cordova; + Runnable runnable = new Runnable() { + public void run() { + notification.spinnerDialog = createProgressDialog(cordova); // new ProgressDialog(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); + notification.spinnerDialog.setTitle(title); + notification.spinnerDialog.setMessage(message); + notification.spinnerDialog.setCancelable(true); + notification.spinnerDialog.setIndeterminate(true); + notification.spinnerDialog.setOnCancelListener( + new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + notification.spinnerDialog = null; + } + }); + notification.spinnerDialog.show(); + } + }; + this.cordova.getActivity().runOnUiThread(runnable); + } + + /** + * Stop spinner. + */ + public synchronized void activityStop() { + if (this.spinnerDialog != null) { + this.spinnerDialog.dismiss(); + this.spinnerDialog = null; + } + } + + /** + * Show the progress dialog. + * + * @param title Title of the dialog + * @param message The message of the dialog + */ + public synchronized void progressStart(final String title, final String message) { + if (this.progressDialog != null) { + this.progressDialog.dismiss(); + this.progressDialog = null; + } + final Notification notification = this; + final CordovaInterface cordova = this.cordova; + Runnable runnable = new Runnable() { + public void run() { + notification.progressDialog = createProgressDialog(cordova); // new ProgressDialog(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); + notification.progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + notification.progressDialog.setTitle(title); + notification.progressDialog.setMessage(message); + notification.progressDialog.setCancelable(true); + notification.progressDialog.setMax(100); + notification.progressDialog.setProgress(0); + notification.progressDialog.setOnCancelListener( + new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + notification.progressDialog = null; + } + }); + notification.progressDialog.show(); + } + }; + this.cordova.getActivity().runOnUiThread(runnable); + } + + /** + * Set value of progress bar. + * + * @param value 0-100 + */ + public synchronized void progressValue(int value) { + if (this.progressDialog != null) { + this.progressDialog.setProgress(value); + } + } + + /** + * Stop progress dialog. + */ + public synchronized void progressStop() { + if (this.progressDialog != null) { + this.progressDialog.dismiss(); + this.progressDialog = null; + } + } + + @SuppressLint("NewApi") + private AlertDialog.Builder createDialog(CordovaInterface cordova) { + int currentapiVersion = android.os.Build.VERSION.SDK_INT; + if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) { + return new AlertDialog.Builder(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); + } else { + return new AlertDialog.Builder(cordova.getActivity()); + } + } + + @SuppressLint("InlinedApi") + private ProgressDialog createProgressDialog(CordovaInterface cordova) { + int currentapiVersion = android.os.Build.VERSION.SDK_INT; + if (currentapiVersion >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + return new ProgressDialog(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); + } else { + return new ProgressDialog(cordova.getActivity()); + } + } + + @SuppressLint("NewApi") + private void changeTextDirection(Builder dlg){ + int currentapiVersion = android.os.Build.VERSION.SDK_INT; + dlg.create(); + AlertDialog dialog = dlg.show(); + if (currentapiVersion >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) { + TextView messageview = (TextView)dialog.findViewById(android.R.id.message); + messageview.setTextDirection(android.view.View.TEXT_DIRECTION_LOCALE); + } + } +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/geolocation/Geolocation.java b/platforms/android/app/src/main/java/org/apache/cordova/geolocation/Geolocation.java new file mode 100755 index 00000000..6452170a --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/geolocation/Geolocation.java @@ -0,0 +1,107 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ + + +package org.apache.cordova.geolocation; + +import android.content.pm.PackageManager; +import android.Manifest; +import android.os.Build; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaArgs; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.PermissionHelper; +import org.apache.cordova.PluginResult; +import org.apache.cordova.LOG; +import org.json.JSONArray; +import org.json.JSONException; + +import javax.security.auth.callback.Callback; + +public class Geolocation extends CordovaPlugin { + + String TAG = "GeolocationPlugin"; + CallbackContext context; + + String [] permissions = { Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION }; + + + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + LOG.d(TAG, "We are entering execute"); + context = callbackContext; + if(action.equals("getPermission")) + { + if(hasPermisssion()) + { + PluginResult r = new PluginResult(PluginResult.Status.OK); + context.sendPluginResult(r); + return true; + } + else { + PermissionHelper.requestPermissions(this, 0, permissions); + } + return true; + } + return false; + } + + + public void onRequestPermissionResult(int requestCode, String[] permissions, + int[] grantResults) throws JSONException + { + PluginResult result; + //This is important if we're using Cordova without using Cordova, but we have the geolocation plugin installed + if(context != null) { + for (int r : grantResults) { + if (r == PackageManager.PERMISSION_DENIED) { + LOG.d(TAG, "Permission Denied!"); + result = new PluginResult(PluginResult.Status.ILLEGAL_ACCESS_EXCEPTION); + context.sendPluginResult(result); + return; + } + + } + result = new PluginResult(PluginResult.Status.OK); + context.sendPluginResult(result); + } + } + + public boolean hasPermisssion() { + for(String p : permissions) + { + if(!PermissionHelper.hasPermission(this, p)) + { + return false; + } + } + return true; + } + + /* + * We override this so that we can access the permissions variable, which no longer exists in + * the parent class, since we can't initialize it reliably in the constructor! + */ + + public void requestPermissions(int requestCode) + { + PermissionHelper.requestPermissions(this, requestCode, permissions); + } + + + +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/splashscreen/SplashScreen.java b/platforms/android/app/src/main/java/org/apache/cordova/splashscreen/SplashScreen.java new file mode 100755 index 00000000..6f56c6c6 --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/splashscreen/SplashScreen.java @@ -0,0 +1,413 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova.splashscreen; + +import android.app.Dialog; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.res.Configuration; +import android.content.res.ColorStateList; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Handler; +import android.view.Display; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.view.WindowManager; +import android.view.animation.Animation; +import android.view.animation.AlphaAnimation; +import android.view.animation.DecelerateInterpolator; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.RelativeLayout; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaWebView; +import org.json.JSONArray; +import org.json.JSONException; + +public class SplashScreen extends CordovaPlugin { + private static final String LOG_TAG = "SplashScreen"; + // Cordova 3.x.x has a copy of this plugin bundled with it (SplashScreenInternal.java). + // Enable functionality only if running on 4.x.x. + private static final boolean HAS_BUILT_IN_SPLASH_SCREEN = Integer.valueOf(CordovaWebView.CORDOVA_VERSION.split("\\.")[0]) < 4; + private static final int DEFAULT_SPLASHSCREEN_DURATION = 3000; + private static final int DEFAULT_FADE_DURATION = 500; + private static Dialog splashDialog; + private static ProgressDialog spinnerDialog; + private static boolean firstShow = true; + private static boolean lastHideAfterDelay; // https://issues.apache.org/jira/browse/CB-9094 + + /** + * Displays the splash drawable. + */ + private ImageView splashImageView; + + /** + * Remember last device orientation to detect orientation changes. + */ + private int orientation; + + // Helper to be compile-time compatible with both Cordova 3.x and 4.x. + private View getView() { + try { + return (View)webView.getClass().getMethod("getView").invoke(webView); + } catch (Exception e) { + return (View)webView; + } + } + + private int getSplashId() { + int drawableId = 0; + String splashResource = preferences.getString("SplashScreen", "screen"); + if (splashResource != null) { + drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getClass().getPackage().getName()); + if (drawableId == 0) { + drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getPackageName()); + } + } + return drawableId; + } + + @Override + protected void pluginInitialize() { + if (HAS_BUILT_IN_SPLASH_SCREEN) { + return; + } + // Make WebView invisible while loading URL + // CB-11326 Ensure we're calling this on UI thread + cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + getView().setVisibility(View.INVISIBLE); + } + }); + int drawableId = getSplashId(); + + // Save initial orientation. + orientation = cordova.getActivity().getResources().getConfiguration().orientation; + + if (firstShow) { + boolean autoHide = preferences.getBoolean("AutoHideSplashScreen", true); + showSplashScreen(autoHide); + } + + if (preferences.getBoolean("SplashShowOnlyFirstTime", true)) { + firstShow = false; + } + } + + /** + * Shorter way to check value of "SplashMaintainAspectRatio" preference. + */ + private boolean isMaintainAspectRatio () { + return preferences.getBoolean("SplashMaintainAspectRatio", false); + } + + private int getFadeDuration () { + int fadeSplashScreenDuration = preferences.getBoolean("FadeSplashScreen", true) ? + preferences.getInteger("FadeSplashScreenDuration", DEFAULT_FADE_DURATION) : 0; + + if (fadeSplashScreenDuration < 30) { + // [CB-9750] This value used to be in decimal seconds, so we will assume that if someone specifies 10 + // they mean 10 seconds, and not the meaningless 10ms + fadeSplashScreenDuration *= 1000; + } + + return fadeSplashScreenDuration; + } + + @Override + public void onPause(boolean multitasking) { + if (HAS_BUILT_IN_SPLASH_SCREEN) { + return; + } + // hide the splash screen to avoid leaking a window + this.removeSplashScreen(true); + } + + @Override + public void onDestroy() { + if (HAS_BUILT_IN_SPLASH_SCREEN) { + return; + } + // hide the splash screen to avoid leaking a window + this.removeSplashScreen(true); + // If we set this to true onDestroy, we lose track when we go from page to page! + //firstShow = true; + } + + @Override + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + if (action.equals("hide")) { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + webView.postMessage("splashscreen", "hide"); + } + }); + } else if (action.equals("show")) { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + webView.postMessage("splashscreen", "show"); + } + }); + } else { + return false; + } + + callbackContext.success(); + return true; + } + + @Override + public Object onMessage(String id, Object data) { + if (HAS_BUILT_IN_SPLASH_SCREEN) { + return null; + } + if ("splashscreen".equals(id)) { + if ("hide".equals(data.toString())) { + this.removeSplashScreen(false); + } else { + this.showSplashScreen(false); + } + } else if ("spinner".equals(id)) { + if ("stop".equals(data.toString())) { + getView().setVisibility(View.VISIBLE); + } + } else if ("onReceivedError".equals(id)) { + this.spinnerStop(); + } + return null; + } + + // Don't add @Override so that plugin still compiles on 3.x.x for a while + public void onConfigurationChanged(Configuration newConfig) { + if (newConfig.orientation != orientation) { + orientation = newConfig.orientation; + + // Splash drawable may change with orientation, so reload it. + if (splashImageView != null) { + int drawableId = getSplashId(); + if (drawableId != 0) { + splashImageView.setImageDrawable(cordova.getActivity().getResources().getDrawable(drawableId)); + } + } + } + } + + private void removeSplashScreen(final boolean forceHideImmediately) { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + if (splashDialog != null && splashDialog.isShowing()) { + final int fadeSplashScreenDuration = getFadeDuration(); + // CB-10692 If the plugin is being paused/destroyed, skip the fading and hide it immediately + if (fadeSplashScreenDuration > 0 && forceHideImmediately == false) { + AlphaAnimation fadeOut = new AlphaAnimation(1, 0); + fadeOut.setInterpolator(new DecelerateInterpolator()); + fadeOut.setDuration(fadeSplashScreenDuration); + + splashImageView.setAnimation(fadeOut); + splashImageView.startAnimation(fadeOut); + + fadeOut.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + spinnerStop(); + } + + @Override + public void onAnimationEnd(Animation animation) { + if (splashDialog != null && splashDialog.isShowing()) { + splashDialog.dismiss(); + splashDialog = null; + splashImageView = null; + } + } + + @Override + public void onAnimationRepeat(Animation animation) { + } + }); + } else { + spinnerStop(); + splashDialog.dismiss(); + splashDialog = null; + splashImageView = null; + } + } + } + }); + } + + /** + * Shows the splash screen over the full Activity + */ + @SuppressWarnings("deprecation") + private void showSplashScreen(final boolean hideAfterDelay) { + final int splashscreenTime = preferences.getInteger("SplashScreenDelay", DEFAULT_SPLASHSCREEN_DURATION); + final int drawableId = getSplashId(); + + final int fadeSplashScreenDuration = getFadeDuration(); + final int effectiveSplashDuration = Math.max(0, splashscreenTime - fadeSplashScreenDuration); + + lastHideAfterDelay = hideAfterDelay; + + // Prevent to show the splash dialog if the activity is in the process of finishing + if (cordova.getActivity().isFinishing()) { + return; + } + // If the splash dialog is showing don't try to show it again + if (splashDialog != null && splashDialog.isShowing()) { + return; + } + if (drawableId == 0 || (splashscreenTime <= 0 && hideAfterDelay)) { + return; + } + + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + // Get reference to display + Display display = cordova.getActivity().getWindowManager().getDefaultDisplay(); + Context context = webView.getContext(); + + // Use an ImageView to render the image because of its flexible scaling options. + splashImageView = new ImageView(context); + splashImageView.setImageResource(drawableId); + LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); + splashImageView.setLayoutParams(layoutParams); + + splashImageView.setMinimumHeight(display.getHeight()); + splashImageView.setMinimumWidth(display.getWidth()); + + // TODO: Use the background color of the webView's parent instead of using the preference. + splashImageView.setBackgroundColor(preferences.getInteger("backgroundColor", Color.BLACK)); + + if (isMaintainAspectRatio()) { + // CENTER_CROP scale mode is equivalent to CSS "background-size:cover" + splashImageView.setScaleType(ImageView.ScaleType.CENTER_CROP); + } + else { + // FIT_XY scales image non-uniformly to fit into image view. + splashImageView.setScaleType(ImageView.ScaleType.FIT_XY); + } + + // Create and show the dialog + splashDialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar); + // check to see if the splash screen should be full screen + if ((cordova.getActivity().getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) + == WindowManager.LayoutParams.FLAG_FULLSCREEN) { + splashDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + splashDialog.setContentView(splashImageView); + splashDialog.setCancelable(false); + splashDialog.show(); + + if (preferences.getBoolean("ShowSplashScreenSpinner", true)) { + spinnerStart(); + } + + // Set Runnable to remove splash screen just in case + if (hideAfterDelay) { + final Handler handler = new Handler(); + handler.postDelayed(new Runnable() { + public void run() { + if (lastHideAfterDelay) { + removeSplashScreen(false); + } + } + }, effectiveSplashDuration); + } + } + }); + } + + // Show only spinner in the center of the screen + private void spinnerStart() { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + spinnerStop(); + + spinnerDialog = new ProgressDialog(webView.getContext()); + spinnerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + spinnerDialog = null; + } + }); + + spinnerDialog.setCancelable(false); + spinnerDialog.setIndeterminate(true); + + RelativeLayout centeredLayout = new RelativeLayout(cordova.getActivity()); + centeredLayout.setGravity(Gravity.CENTER); + centeredLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); + + ProgressBar progressBar = new ProgressBar(webView.getContext()); + RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); + layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); + progressBar.setLayoutParams(layoutParams); + + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { + String colorName = preferences.getString("SplashScreenSpinnerColor", null); + if(colorName != null){ + int[][] states = new int[][] { + new int[] { android.R.attr.state_enabled}, // enabled + new int[] {-android.R.attr.state_enabled}, // disabled + new int[] {-android.R.attr.state_checked}, // unchecked + new int[] { android.R.attr.state_pressed} // pressed + }; + int progressBarColor = Color.parseColor(colorName); + int[] colors = new int[] { + progressBarColor, + progressBarColor, + progressBarColor, + progressBarColor + }; + ColorStateList colorStateList = new ColorStateList(states, colors); + progressBar.setIndeterminateTintList(colorStateList); + } + } + + centeredLayout.addView(progressBar); + + spinnerDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); + spinnerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + + spinnerDialog.show(); + spinnerDialog.setContentView(centeredLayout); + } + }); + } + + private void spinnerStop() { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + if (spinnerDialog != null && spinnerDialog.isShowing()) { + spinnerDialog.dismiss(); + spinnerDialog = null; + } + } + }); + } +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/statusbar/StatusBar.java b/platforms/android/app/src/main/java/org/apache/cordova/statusbar/StatusBar.java new file mode 100755 index 00000000..714c30e8 --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/statusbar/StatusBar.java @@ -0,0 +1,276 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.cordova.statusbar; + +import android.app.Activity; +import android.graphics.Color; +import android.os.Build; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaArgs; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.LOG; +import org.apache.cordova.PluginResult; +import org.json.JSONException; +import java.util.Arrays; + +public class StatusBar extends CordovaPlugin { + private static final String TAG = "StatusBar"; + + /** + * Sets the context of the Command. This can then be used to do things like + * get file paths associated with the Activity. + * + * @param cordova The context of the main Activity. + * @param webView The CordovaWebView Cordova is running in. + */ + @Override + public void initialize(final CordovaInterface cordova, CordovaWebView webView) { + LOG.v(TAG, "StatusBar: initialization"); + super.initialize(cordova, webView); + + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + // Clear flag FLAG_FORCE_NOT_FULLSCREEN which is set initially + // by the Cordova. + Window window = cordova.getActivity().getWindow(); + window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); + + // Read 'StatusBarBackgroundColor' from config.xml, default is #000000. + setStatusBarBackgroundColor(preferences.getString("StatusBarBackgroundColor", "#000000")); + + // Read 'StatusBarStyle' from config.xml, default is 'lightcontent'. + setStatusBarStyle(preferences.getString("StatusBarStyle", "lightcontent")); + } + }); + } + + /** + * Executes the request and returns PluginResult. + * + * @param action The action to execute. + * @param args JSONArry of arguments for the plugin. + * @param callbackContext The callback id used when calling back into JavaScript. + * @return True if the action was valid, false otherwise. + */ + @Override + public boolean execute(final String action, final CordovaArgs args, final CallbackContext callbackContext) throws JSONException { + LOG.v(TAG, "Executing action: " + action); + final Activity activity = this.cordova.getActivity(); + final Window window = activity.getWindow(); + + if ("_ready".equals(action)) { + boolean statusBarVisible = (window.getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) == 0; + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, statusBarVisible)); + return true; + } + + if ("show".equals(action)) { + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + // SYSTEM_UI_FLAG_FULLSCREEN is available since JellyBean, but we + // use KitKat here to be aligned with "Fullscreen" preference + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + int uiOptions = window.getDecorView().getSystemUiVisibility(); + uiOptions &= ~View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; + uiOptions &= ~View.SYSTEM_UI_FLAG_FULLSCREEN; + + window.getDecorView().setSystemUiVisibility(uiOptions); + } + + // CB-11197 We still need to update LayoutParams to force status bar + // to be hidden when entering e.g. text fields + window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + }); + return true; + } + + if ("hide".equals(action)) { + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + // SYSTEM_UI_FLAG_FULLSCREEN is available since JellyBean, but we + // use KitKat here to be aligned with "Fullscreen" preference + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + int uiOptions = window.getDecorView().getSystemUiVisibility() + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_FULLSCREEN; + + window.getDecorView().setSystemUiVisibility(uiOptions); + } + + // CB-11197 We still need to update LayoutParams to force status bar + // to be hidden when entering e.g. text fields + window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + }); + return true; + } + + if ("backgroundColorByHexString".equals(action)) { + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + try { + setStatusBarBackgroundColor(args.getString(0)); + } catch (JSONException ignore) { + LOG.e(TAG, "Invalid hexString argument, use f.i. '#777777'"); + } + } + }); + return true; + } + + if ("overlaysWebView".equals(action)) { + if (Build.VERSION.SDK_INT >= 21) { + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + try { + setStatusBarTransparent(args.getBoolean(0)); + } catch (JSONException ignore) { + LOG.e(TAG, "Invalid boolean argument"); + } + } + }); + return true; + } + else return args.getBoolean(0) == false; + } + + if ("styleDefault".equals(action)) { + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + setStatusBarStyle("default"); + } + }); + return true; + } + + if ("styleLightContent".equals(action)) { + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + setStatusBarStyle("lightcontent"); + } + }); + return true; + } + + if ("styleBlackTranslucent".equals(action)) { + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + setStatusBarStyle("blacktranslucent"); + } + }); + return true; + } + + if ("styleBlackOpaque".equals(action)) { + this.cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + setStatusBarStyle("blackopaque"); + } + }); + return true; + } + + return false; + } + + private void setStatusBarBackgroundColor(final String colorPref) { + if (Build.VERSION.SDK_INT >= 21) { + if (colorPref != null && !colorPref.isEmpty()) { + final Window window = cordova.getActivity().getWindow(); + // Method and constants not available on all SDKs but we want to be able to compile this code with any SDK + window.clearFlags(0x04000000); // SDK 19: WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + window.addFlags(0x80000000); // SDK 21: WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + try { + // Using reflection makes sure any 5.0+ device will work without having to compile with SDK level 21 + window.getClass().getMethod("setStatusBarColor", int.class).invoke(window, Color.parseColor(colorPref)); + } catch (IllegalArgumentException ignore) { + LOG.e(TAG, "Invalid hexString argument, use f.i. '#999999'"); + } catch (Exception ignore) { + // this should not happen, only in case Android removes this method in a version > 21 + LOG.w(TAG, "Method window.setStatusBarColor not found for SDK level " + Build.VERSION.SDK_INT); + } + } + } + } + + private void setStatusBarTransparent(final boolean transparent) { + if (Build.VERSION.SDK_INT >= 21) { + final Window window = cordova.getActivity().getWindow(); + if (transparent) { + window.getDecorView().setSystemUiVisibility( + View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); + window.setStatusBarColor(Color.TRANSPARENT); + } + else { + window.getDecorView().setSystemUiVisibility( + View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_VISIBLE); + } + } + } + + private void setStatusBarStyle(final String style) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (style != null && !style.isEmpty()) { + View decorView = cordova.getActivity().getWindow().getDecorView(); + int uiOptions = decorView.getSystemUiVisibility(); + + String[] darkContentStyles = { + "default", + }; + + String[] lightContentStyles = { + "lightcontent", + "blacktranslucent", + "blackopaque", + }; + + if (Arrays.asList(darkContentStyles).contains(style.toLowerCase())) { + decorView.setSystemUiVisibility(uiOptions | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + return; + } + + if (Arrays.asList(lightContentStyles).contains(style.toLowerCase())) { + decorView.setSystemUiVisibility(uiOptions & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + return; + } + + LOG.e(TAG, "Invalid style, must be either 'default', 'lightcontent' or the deprecated 'blacktranslucent' and 'blackopaque'"); + } + } + } +} diff --git a/platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java b/platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java new file mode 100755 index 00000000..36567886 --- /dev/null +++ b/platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java @@ -0,0 +1,161 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova.whitelist; + +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.ConfigXmlParser; +import org.apache.cordova.LOG; +import org.apache.cordova.Whitelist; +import org.xmlpull.v1.XmlPullParser; + +import android.content.Context; + +public class WhitelistPlugin extends CordovaPlugin { + private static final String LOG_TAG = "WhitelistPlugin"; + private Whitelist allowedNavigations; + private Whitelist allowedIntents; + private Whitelist allowedRequests; + + // Used when instantiated via reflection by PluginManager + public WhitelistPlugin() { + } + // These can be used by embedders to allow Java-configuration of whitelists. + public WhitelistPlugin(Context context) { + this(new Whitelist(), new Whitelist(), null); + new CustomConfigXmlParser().parse(context); + } + public WhitelistPlugin(XmlPullParser xmlParser) { + this(new Whitelist(), new Whitelist(), null); + new CustomConfigXmlParser().parse(xmlParser); + } + public WhitelistPlugin(Whitelist allowedNavigations, Whitelist allowedIntents, Whitelist allowedRequests) { + if (allowedRequests == null) { + allowedRequests = new Whitelist(); + allowedRequests.addWhiteListEntry("file:///*", false); + allowedRequests.addWhiteListEntry("data:*", false); + } + this.allowedNavigations = allowedNavigations; + this.allowedIntents = allowedIntents; + this.allowedRequests = allowedRequests; + } + @Override + public void pluginInitialize() { + if (allowedNavigations == null) { + allowedNavigations = new Whitelist(); + allowedIntents = new Whitelist(); + allowedRequests = new Whitelist(); + new CustomConfigXmlParser().parse(webView.getContext()); + } + } + + private class CustomConfigXmlParser extends ConfigXmlParser { + @Override + public void handleStartTag(XmlPullParser xml) { + String strNode = xml.getName(); + if (strNode.equals("content")) { + String startPage = xml.getAttributeValue(null, "src"); + allowedNavigations.addWhiteListEntry(startPage, false); + } else if (strNode.equals("allow-navigation")) { + String origin = xml.getAttributeValue(null, "href"); + if ("*".equals(origin)) { + allowedNavigations.addWhiteListEntry("http://*/*", false); + allowedNavigations.addWhiteListEntry("https://*/*", false); + allowedNavigations.addWhiteListEntry("data:*", false); + } else { + allowedNavigations.addWhiteListEntry(origin, false); + } + } else if (strNode.equals("allow-intent")) { + String origin = xml.getAttributeValue(null, "href"); + allowedIntents.addWhiteListEntry(origin, false); + } else if (strNode.equals("access")) { + String origin = xml.getAttributeValue(null, "origin"); + String subdomains = xml.getAttributeValue(null, "subdomains"); + boolean external = (xml.getAttributeValue(null, "launch-external") != null); + if (origin != null) { + if (external) { + LOG.w(LOG_TAG, "Found within config.xml. Please use instead."); + allowedIntents.addWhiteListEntry(origin, (subdomains != null) && (subdomains.compareToIgnoreCase("true") == 0)); + } else { + if ("*".equals(origin)) { + allowedRequests.addWhiteListEntry("http://*/*", false); + allowedRequests.addWhiteListEntry("https://*/*", false); + } else { + allowedRequests.addWhiteListEntry(origin, (subdomains != null) && (subdomains.compareToIgnoreCase("true") == 0)); + } + } + } + } + } + @Override + public void handleEndTag(XmlPullParser xml) { + } + } + + @Override + public Boolean shouldAllowNavigation(String url) { + if (allowedNavigations.isUrlWhiteListed(url)) { + return true; + } + return null; // Default policy + } + + @Override + public Boolean shouldAllowRequest(String url) { + if (Boolean.TRUE == shouldAllowNavigation(url)) { + return true; + } + if (allowedRequests.isUrlWhiteListed(url)) { + return true; + } + return null; // Default policy + } + + @Override + public Boolean shouldOpenExternalUrl(String url) { + if (allowedIntents.isUrlWhiteListed(url)) { + return true; + } + return null; // Default policy + } + + public Whitelist getAllowedNavigations() { + return allowedNavigations; + } + + public void setAllowedNavigations(Whitelist allowedNavigations) { + this.allowedNavigations = allowedNavigations; + } + + public Whitelist getAllowedIntents() { + return allowedIntents; + } + + public void setAllowedIntents(Whitelist allowedIntents) { + this.allowedIntents = allowedIntents; + } + + public Whitelist getAllowedRequests() { + return allowedRequests; + } + + public void setAllowedRequests(Whitelist allowedRequests) { + this.allowedRequests = allowedRequests; + } +} diff --git a/platforms/android/app/src/main/java/uk/co/workingedge/phonegap/plugin/LaunchNavigator.java b/platforms/android/app/src/main/java/uk/co/workingedge/phonegap/plugin/LaunchNavigator.java new file mode 100755 index 00000000..17851475 --- /dev/null +++ b/platforms/android/app/src/main/java/uk/co/workingedge/phonegap/plugin/LaunchNavigator.java @@ -0,0 +1,1758 @@ +/* + * LaunchNavigator Plugin for Phonegap + * + * Copyright (c) 2014 Dave Alden (http://github.com/dpa99c) + * Copyright (c) 2014 Working Edge Ltd. (http://www.workingedge.co.uk) + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ +package uk.co.workingedge.phonegap.plugin; + +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CallbackContext; + +import org.apache.cordova.CordovaWebView; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.content.Context; +import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.Uri; +import android.util.Log; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; + + +public class LaunchNavigator extends CordovaPlugin { + + private static final String LOG_TAG = "LaunchNavigator"; + private static final String NO_APP_FOUND = "No Activity found to handle Intent"; + private static final String MAPS_PROTOCOL = "http://maps.google.com/maps?"; + private static final String TURN_BY_TURN_PROTOCOL = "google.navigation:"; + + // Explicitly supported apps + private static final String GEO = "geo"; // Use native app choose for geo: intent + private static final String GOOGLE_MAPS = "google_maps"; + private static final String CITYMAPPER = "citymapper"; + private static final String UBER = "uber"; + private static final String WAZE = "waze"; + private static final String YANDEX = "yandex"; + private static final String SYGIC = "sygic"; + private static final String HERE_MAPS = "here_maps"; + private static final String MOOVIT = "moovit"; + private static final String LYFT = "lyft"; + private static final String MAPS_ME = "maps_me"; + private static final String CABIFY = "cabify"; + private static final String BAIDU = "baidu"; + private static final String TAXIS_99 = "taxis_99"; + private static final String GAODE = "gaode"; + + + private static final Map supportedAppPackages; + static { + Map _supportedAppPackages = new HashMap(); + _supportedAppPackages.put(GOOGLE_MAPS, "com.google.android.apps.maps"); + _supportedAppPackages.put(CITYMAPPER, "com.citymapper.app.release"); + _supportedAppPackages.put(UBER, "com.ubercab"); + _supportedAppPackages.put(WAZE, "com.waze"); + _supportedAppPackages.put(YANDEX, "ru.yandex.yandexnavi"); + _supportedAppPackages.put(SYGIC, "com.sygic.aura"); + _supportedAppPackages.put(HERE_MAPS, "com.here.app.maps"); + _supportedAppPackages.put(MOOVIT, "com.tranzmate"); + _supportedAppPackages.put(LYFT, "me.lyft.android"); + _supportedAppPackages.put(MAPS_ME, "com.mapswithme.maps.pro"); + _supportedAppPackages.put(CABIFY, "com.cabify.rider"); + _supportedAppPackages.put(BAIDU, "com.baidu.BaiduMap"); + _supportedAppPackages.put(TAXIS_99, "com.taxis99"); + _supportedAppPackages.put(GAODE, "com.autonavi.minimap"); + supportedAppPackages = Collections.unmodifiableMap(_supportedAppPackages); + } + + private static final Map supportedAppNames; + static { + Map _supportedAppNames = new HashMap(); + _supportedAppNames.put(GOOGLE_MAPS, "Google Maps"); + _supportedAppNames.put(CITYMAPPER, "Citymapper"); + _supportedAppNames.put(UBER, "Uber"); + _supportedAppNames.put(WAZE, "Waze"); + _supportedAppNames.put(YANDEX, "Yandex Navigator"); + _supportedAppNames.put(SYGIC, "Sygic"); + _supportedAppNames.put(HERE_MAPS, "HERE Maps"); + _supportedAppNames.put(MOOVIT, "Moovit"); + _supportedAppNames.put(LYFT, "Lyft"); + _supportedAppNames.put(MAPS_ME, "MAPS.ME"); + _supportedAppNames.put(CABIFY, "Cabify"); + _supportedAppNames.put(BAIDU, "Baidu Maps"); + _supportedAppNames.put(TAXIS_99, "99 Taxi"); + _supportedAppNames.put(GAODE, "Gaode Maps (Amap)"); + supportedAppNames = Collections.unmodifiableMap(_supportedAppNames); + } + + private static final String GEO_URI = "geo:"; + + PackageManager packageManager; + Context context; + + OkHttpClient httpClient = new OkHttpClient(); + + boolean enableDebug = false; + boolean enableGeocoding = true; + + // Map of app name to package name + Map availableApps; + + + @Override + protected void pluginInitialize() { + Log.i(LOG_TAG, "pluginInitialize()"); + discoverAvailableApps(); + } + + @Override + public boolean execute(String action, JSONArray args, + CallbackContext callbackContext) throws JSONException { + try { + logDebug("Plugin action="+action); + if ("navigate".equals(action)) { + /** + * args[] + * args[0] - app + * args[1] - dType + * args[2] - dest + * args[3] - destNickname + * args[4] - sType + * args[5] - start + * args[6] - startNickname + * args[7] - transportMode + * args[8] - launchMode + * args[9] - enableDebug + * args[10] - extras + * args[11] - enableGeolocation + */ + if(args.get(11) != null){ + enableGeocoding = args.getBoolean(11); + } + enableDebug = args.getBoolean(9); + if(enableDebug){ + String navigateArgs = "Called navigate() with args" + + ": app="+ args.getString(0) + + "; dType="+ args.getString(1) + + "; dest="+ args.getString(2) + + "; destNickname="+ args.getString(3) + + "; sType="+ args.getString(4) + + "; start="+ args.getString(5) + + "; startNickname="+ args.getString(6) + + "; transportMode="+ args.getString(7) + + "; launchMode="+ args.getString(8) + + "; extras="+ args.getString(10) + + "; enableGeocoding="+ args.getString(11); + logDebug(navigateArgs); + } + this.navigate(args, callbackContext); + } else if ("discoverSupportedApps".equals(action)) { + // This is called by plugin JS on initialisation + this.discoverSupportedApps(args, callbackContext); + } else if ("availableApps".equals(action)) { + this.availableApps(args, callbackContext); + } else if ("isAppAvailable".equals(action)) { + this.isAppAvailable(args, callbackContext); + }else { + String msg = "Invalid action"; + logError(msg); + callbackContext.error(msg); + return false; + } + }catch(Exception e){ + handleException(e.getMessage(), callbackContext); + } + return true; + } + + /* + * Plugin API + */ + private void discoverSupportedApps(JSONArray args, CallbackContext callbackContext) throws JSONException{ + JSONObject apps = new JSONObject(); + + // Dynamically populate from discovered available apps that support geo: protocol + for (Map.Entry entry : availableApps.entrySet()) { + String appName = entry.getKey(); + String packageName = entry.getValue(); + // If it's not already an explicitly supported app + if(!supportedAppPackages.containsValue(packageName)){ + apps.put(appName, packageName); + } + } + + callbackContext.success(apps); + } + + private void availableApps(JSONArray args, CallbackContext callbackContext) throws Exception{ + JSONObject apps = new JSONObject(); + + // Add explicitly supported apps first + for (Map.Entry entry : supportedAppPackages.entrySet()) { + String _appName = entry.getKey(); + String _packageName = entry.getValue(); + apps.put(_appName, availableApps.containsValue(_packageName)); + } + + // Iterate over available apps and add any dynamically discovered ones + for (Map.Entry entry : availableApps.entrySet()) { + String _packageName = entry.getValue(); + // If it's not already present + if(!apps.has(_packageName) && !supportedAppPackages.containsValue(_packageName)){ + apps.put(_packageName, true); + } + } + callbackContext.success(apps); + } + + private void isAppAvailable(JSONArray args, CallbackContext callbackContext) throws Exception{ + String appName = args.getString(0); + if(supportedAppPackages.containsKey(appName)){ + appName = supportedAppPackages.get(appName); + } + + if(availableApps.containsValue(appName)){ + callbackContext.success(1); + }else{ + callbackContext.success(0); + } + } + + private void navigate(JSONArray args, CallbackContext callbackContext) throws Exception{ + String appName = args.getString(0); + String launchMode = args.getString(8); + + if(appName.equals(GOOGLE_MAPS) && !launchMode.equals("geo")){ + launchGoogleMaps(args, callbackContext); + }else if(appName.equals(CITYMAPPER)){ + launchCitymapper(args, callbackContext); + }else if(appName.equals(UBER)){ + launchUber(args, callbackContext); + }else if(appName.equals(WAZE)){ + launchWaze(args, callbackContext); + }else if(appName.equals(YANDEX)){ + launchYandex(args, callbackContext); + }else if(appName.equals(SYGIC)){ + launchSygic(args, callbackContext); + }else if(appName.equals(HERE_MAPS)){ + launchHereMaps(args, callbackContext); + }else if(appName.equals(MOOVIT)){ + launchMoovit(args, callbackContext); + }else if(appName.equals(LYFT)){ + launchLyft(args, callbackContext); + }else if(appName.equals(MAPS_ME)){ + launchMapsMe(args, callbackContext); + }else if(appName.equals(CABIFY)){ + launchCabify(args, callbackContext); + }else if(appName.equals(BAIDU)){ + launchBaidu(args, callbackContext); + }else if(appName.equals(GAODE)){ + launchGaode(args, callbackContext); + }else if(appName.equals(TAXIS_99)){ + launch99Taxis(args, callbackContext); + }else{ + launchApp(args, callbackContext); + } + } + + + /* + * Launch apps + */ + private void launchApp(JSONArray args, CallbackContext callbackContext) throws Exception{ + String appName = args.getString(0); + String dType = args.getString(1); + String dNickName = args.getString(3); + + String logMsg = "Using " + getAppDisplayName(appName)+" to navigate to "; + String destLatLon = null; + String destName = null; + String dest; + + if(dType.equals("name")){ + destName = getLocationFromName(args, 2); + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(destLatLon == null){ + return; + } + logMsg += destName; + if(!isNull(destLatLon)){ + logMsg += "["+destLatLon+"]"; + } + + }else{ + destLatLon = getLocationFromPos(args, 2); + logMsg += "["+destLatLon+"]"; + } + + if(!isNull(destLatLon)){ + dest = destLatLon; + }else{ + dest = destName; + } + + String uri = GEO_URI+destLatLon+"?q="+dest; + if(!isNull(dNickName)){ + uri += "("+dNickName+")"; + logMsg += "("+dNickName+")"; + } + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + uri += extras; + logMsg += " - extras="+extras; + } + + logDebug(logMsg); + logDebug("URI: " + uri); + + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); + if(!appName.equals(GEO)){ + if(appName.equals(GOOGLE_MAPS)) { + appName = supportedAppPackages.get(GOOGLE_MAPS); + } + intent.setPackage(appName); + } + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + } + + private void launchGoogleMaps(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destination; + String start = null; + + String dType = args.getString(1); + if(dType.equals("pos")){ + destination = getLocationFromPos(args, 2); + }else{ + destination = getLocationFromName(args, 2); + } + + String sType = args.getString(4); + if(sType.equals("pos")){ + start = getLocationFromPos(args, 5); + }else if(sType.equals("name")){ + start = getLocationFromName(args, 5); + } + String transportMode = args.getString(7); + String launchMode = args.getString(8); + + String logMsg = "Using Google Maps to navigate to "+destination; + String url; + + if(launchMode.equals("turn-by-turn")){ + url = TURN_BY_TURN_PROTOCOL + "q=" + destination; + if(!isNull(transportMode)){ + logMsg += " by transportMode=" + transportMode; + url += "&mode=" + transportMode; + } + logMsg += " in turn-by-turn mode"; + }else{ + url = MAPS_PROTOCOL + "daddr=" + destination; + if(!isNull(start)){ + logMsg += " from " + start; + url += "&saddr=" + start; + }else{ + logMsg += " from current location"; + } + logMsg += " in maps mode"; + } + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + url += extras; + logMsg += " - extras="+extras; + } + + logDebug(logMsg); + logDebug("URI: " + url); + + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + intent.setClassName(supportedAppPackages.get(GOOGLE_MAPS), "com.google.android.maps.MapsActivity"); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Google Maps app is not installed on this device"; + } + logError("Exception occurred: ".concat(msg)); + callbackContext.error(msg); + } + } + + private void launchCitymapper(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress = null; + String destLatLon = null; + String startAddress = null; + String startLatLon = null; + String destNickname = args.getString(3); + String startNickname = args.getString(6); + + String dType = args.getString(1); + String sType = args.getString(4); + + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + }else{ + destLatLon = getLocationFromPos(args, 2); + } + + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + } + + String url = "https://citymapper.com/directions?"; + String logMsg = "Using Citymapper to navigate to"; + if(!isNull(destAddress)){ + url += "&endaddress="+Uri.encode(destAddress); + logMsg += " '"+destAddress+"'"; + } + if(isNull(destLatLon)){ + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + } + url += "&endcoord="+destLatLon; + logMsg += " ["+destLatLon+"]"; + if(!isNull(destNickname)){ + url += "&endname="+Uri.encode(destNickname); + logMsg += " ("+destNickname+")"; + } + + if(!sType.equals("none")){ + logMsg += " from"; + if(!isNull(startAddress)){ + url += "&startaddress="+Uri.encode(startAddress); + logMsg += " '"+startAddress+"'"; + } + if(isNull(startLatLon)){ + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + if(isNull(startLatLon)){ + return; + } + } + url += "&startcoord="+startLatLon; + logMsg += " ["+startLatLon+"]"; + if(!isNull(startNickname)){ + url += "&startname="+Uri.encode(startNickname); + logMsg += " ("+startNickname+")"; + } + } + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + url += extras; + logMsg += " - extras="+extras; + } + + logDebug(logMsg); + logDebug("URI: " + url); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Citymapper app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchUber(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress = null; + String destLatLon = null; + String startAddress = null; + String startLatLon = null; + String destNickname = args.getString(3); + String startNickname = args.getString(6); + + String dType = args.getString(1); + String sType = args.getString(4); + + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + }else{ + destLatLon = getLocationFromPos(args, 2); + } + + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + } + + String url = "uber://?action=setPickup"; + String logMsg = "Using Uber to navigate to"; + if(!isNull(destAddress)){ + url += "&dropoff[formatted_address]="+destAddress; + logMsg += " '"+destAddress+"'"; + } + if(!isNull(destLatLon)){ + String[] parts = splitLatLon(destLatLon); + url += "&dropoff[latitude]="+parts[0]+"&dropoff[longitude]="+parts[1]; + logMsg += " ["+destLatLon+"]"; + } + if(!isNull(destNickname)){ + url += "&dropoff[nickname]="+destNickname; + logMsg += " ("+destNickname+")"; + } + + logMsg += " from"; + if(!sType.equals("none")){ + if(!isNull(startAddress)){ + url += "&pickup[formatted_address]=="+startAddress; + logMsg += " '"+startAddress+"'"; + } + if(!isNull(startLatLon)){ + String[] parts = splitLatLon(startLatLon); + url += "&pickup[latitude]="+parts[0]+"&pickup[longitude]="+parts[1]; + logMsg += " ["+startLatLon+"]"; + } + if(!isNull(startNickname)){ + url += "&pickup[nickname]="+startNickname; + logMsg += " ("+startNickname+")"; + } + }else{ + url += "&pickup=my_location"; + logMsg += " current location"; + } + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + url += extras; + logMsg += " - extras="+extras; + } + + logDebug(logMsg); + logDebug("URI: " + url); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Uber app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchWaze(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress = null; + String destLatLon = null; + + String dType = args.getString(1); + + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + }else{ + destLatLon = getLocationFromPos(args, 2); + } + + String url = "waze://?"; + String logMsg = "Using Waze to navigate to"; + if(!isNull(destLatLon)){ + url += "ll="+destLatLon+"&navigate=yes"; + logMsg += " ["+destLatLon+"]"; + }else{ + url += "q="+destAddress; + logMsg += " '"+destAddress+"'"; + } + + logMsg += " from current location"; + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + url += extras; + logMsg += " - extras="+extras; + } + + logDebug(logMsg); + logDebug("URI: " + url); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Waze app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchYandex(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress = null; + String destLatLon = null; + String startAddress = null; + String startLatLon = null; + + String dType = args.getString(1); + String sType = args.getString(4); + + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + if(isNull(startLatLon)){ + return; + } + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + } + + Intent intent = new Intent(supportedAppPackages.get(YANDEX)+".action.BUILD_ROUTE_ON_MAP"); + intent.setPackage(supportedAppPackages.get(YANDEX)); + String logMsg = "Using Yandex to navigate to"; + + String[] parts = splitLatLon(destLatLon); + intent.putExtra("lat_to", parts[0]); + intent.putExtra("lon_to", parts[1]); + logMsg += " ["+destLatLon+"]"; + + if(!isNull(destAddress)){ + logMsg += " ('"+destAddress+"')"; + } + + + logMsg += " from"; + if(!sType.equals("none")){ + parts = splitLatLon(startLatLon); + intent.putExtra("lat_from", parts[0]); + intent.putExtra("lon_from", parts[1]); + logMsg += " ["+startLatLon+"]"; + if(!isNull(startAddress)){ + logMsg += " ('"+startAddress+"')"; + } + }else{ + logMsg += " current location"; + } + + String jsonStringExtras = args.getString(10); + JSONObject oExtras = null; + if(!isNull(jsonStringExtras)){ + oExtras = new JSONObject(jsonStringExtras); + } + + if(oExtras != null){ + Iterator keys = oExtras.keys(); + while( keys.hasNext() ) { + String key = (String)keys.next(); + String value = oExtras.getString(key); + intent.putExtra(key, value); + } + } + logDebug(logMsg); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Yandex app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchSygic(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress = null; + String destLatLon = null; + + String dType = args.getString(1); + String transportMode = args.getString(7); + String url = supportedAppPackages.get(SYGIC)+"://coordinate|"; + String logMsg = "Using Sygic to navigate to"; + + if(transportMode.equals("w")){ + transportMode = "walk"; + }else{ + transportMode = "drive"; + } + + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + logMsg += " '"+destAddress+"'"; + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + + logMsg += " ["+destLatLon+"]"; + + String[] pos = splitLatLon(destLatLon); + url += pos[1]+"|"+pos[0]+"|"+transportMode; + + logMsg += " by " + transportMode; + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + url += extras; + logMsg += " - extras="+extras; + } + + logDebug(logMsg); + logDebug("URI: " + url); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Sygic app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchHereMaps(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress; + String destLatLon = null; + String startAddress; + String startLatLon = null; + String destNickname = args.getString(3); + String startNickname = args.getString(6); + + String dType = args.getString(1); + String sType = args.getString(4); + + String url = "https://share.here.com/r/"; + String logMsg = "Using HERE Maps to navigate"; + + logMsg += " from"; + if(sType.equals("none")){ + url += "mylocation"; + logMsg += " Current Location"; + + }else{ + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + logMsg += " '"+startAddress+"'"; + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + if(isNull(startLatLon)){ + return; + } + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + } + + url += startLatLon; + logMsg += " ["+startLatLon+"]"; + + if(!isNull(startNickname)){ + url += ","+startNickname; + logMsg += " ("+startNickname+")"; + } + } + + url += "/"; + logMsg += " to"; + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + logMsg += " '"+destAddress+"'"; + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + logMsg += " ["+destLatLon+"]"; + url += destLatLon; + + if(!isNull(destNickname)){ + url += ","+destNickname; + logMsg += " ("+destNickname+")"; + } + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + url += "?" + extras; + logMsg += " - extras="+extras; + } + + logDebug(logMsg); + logDebug("URI: " + url); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "HERE Maps app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchMoovit(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress; + String destLatLon = null; + String startAddress; + String startLatLon = null; + String destNickname = args.getString(3); + String startNickname = args.getString(6); + + String dType = args.getString(1); + String sType = args.getString(4); + + String url = "moovit://directions"; + String logMsg = "Using Moovit to navigate"; + + + logMsg += " to"; + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + logMsg += " '"+destAddress+"'"; + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + logMsg += " ["+destLatLon+"]"; + + String[] destPos = splitLatLon(destLatLon); + url += "?dest_lat=" + destPos[0] + "&dest_lon=" + destPos[1]; + + if(!isNull(destNickname)){ + url += "&dest_name="+destNickname; + logMsg += " ("+destNickname+")"; + } + + logMsg += " from"; + if(sType.equals("none")){ + logMsg += " Current Location"; + }else{ + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + logMsg += " '"+startAddress+"'"; + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + if(isNull(startLatLon)){ + return; + } + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + } + + String[] startPos = splitLatLon(startLatLon); + url += "&orig_lat=" + startPos[0] + "&orig_lon=" + startPos[1]; + logMsg += " ["+startLatLon+"]"; + + if(!isNull(startNickname)){ + url += "&orig_name="+startNickname; + logMsg += " ("+startNickname+")"; + } + } + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + url += extras; + logMsg += " - extras="+extras; + } + + logDebug(logMsg); + logDebug("URI: " + url); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Moovit app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchLyft(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress; + String destLatLon = null; + String startAddress; + String startLatLon = null; + + String dType = args.getString(1); + String sType = args.getString(4); + + String url = "lyft://ridetype?"; + String logMsg = "Using Lyft to navigate"; + + String extras = parseExtrasToUrl(args); + if(!isNull(extras)){ + url += extras; + logMsg += " - extras="+extras; + } + + if(isNull(extras) || !extras.contains("id=")){ + url += "id=lyft"; + } + + logMsg += " to"; + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + logMsg += " '"+destAddress+"'"; + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + logMsg += " ["+destLatLon+"]"; + + String[] destPos = splitLatLon(destLatLon); + url += "&destination[latitude]=" + destPos[0] + "&destination[longitude]=" + destPos[1]; + + logMsg += " from"; + if(sType.equals("none")){ + logMsg += " Current Location"; + }else{ + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + logMsg += " '"+startAddress+"'"; + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + if(isNull(startLatLon)){ + return; + } + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + } + + String[] startPos = splitLatLon(startLatLon); + url += "&pickup[latitude]=" + startPos[0] + "&pickup[longitude]=" + startPos[1]; + logMsg += " ["+startLatLon+"]"; + + } + + logDebug(logMsg); + logDebug("URI: " + url); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Lyft app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchMapsMe(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress; + String destLatLon = null; + String startAddress; + String startLatLon = null; + + String dType = args.getString(1); + String sType = args.getString(4); + String transportMode = args.getString(7); + + Intent intent = new Intent(supportedAppPackages.get(MAPS_ME).concat(".action.BUILD_ROUTE")); + intent.setPackage(supportedAppPackages.get(MAPS_ME)); + + String logMsg = "Using MAPs.ME to navigate"; + + logMsg += " to"; + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + logMsg += " '"+destAddress+"'"; + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + logMsg += " ["+destLatLon+"]"; + + String[] destPos = splitLatLon(destLatLon); + intent.putExtra("lat_to", Double.parseDouble(destPos[0])); + intent.putExtra("lon_to", Double.parseDouble(destPos[1])); + + logMsg += " from"; + if(sType.equals("none")){ + logMsg += " Current Location"; + }else{ + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + logMsg += " '"+startAddress+"'"; + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + if(isNull(startLatLon)){ + return; + } + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + } + + String[] startPos = splitLatLon(startLatLon); + intent.putExtra("lat_from", Double.parseDouble(startPos[0])); + intent.putExtra("lon_from", Double.parseDouble(startPos[1])); + logMsg += " ["+startLatLon+"]"; + } + + + + if(transportMode.equals("d")){ + transportMode = "vehicle"; + }else if(transportMode.equals("w")){ + transportMode = "pedestrian"; + }else if(transportMode.equals("b")){ + transportMode = "bicycle"; + }else if(transportMode.equals("t")){ + transportMode = "taxi"; + } + + if(!isNull(transportMode)){ + intent.putExtra("router", transportMode); + logMsg += " by transportMode=" + transportMode; + } + + logDebug(logMsg); + + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "MAPS.ME app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchCabify(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress; + String destLatLon = null; + String startAddress; + String startLatLon = null; + String destNickname = args.getString(3); + String startNickname = args.getString(6); + + String dType = args.getString(1); + String sType = args.getString(4); + + String url = "cabify://cabify/journey?json="; + String logMsg = "Using Cabify to navigate"; + JSONObject oJson = new JSONObject(); + + // Parse dest + JSONObject oDest = new JSONObject(); + logMsg += " to"; + + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + logMsg += " '"+destAddress+"'"; + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + logMsg += " ["+destLatLon+"]"; + String[] destPos = splitLatLon(destLatLon); + + JSONObject oDestLoc = new JSONObject(); + oDestLoc.put("latitude", destPos[0]); + oDestLoc.put("longitude", destPos[1]); + oDest.put("loc", oDestLoc); + + if(!isNull(destNickname)){ + oDest.put("name", destNickname); + logMsg += " ("+destNickname+")"; + } + + // Parse start + JSONObject oStart = new JSONObject(); + logMsg += " from"; + + if(sType.equals("none")){ + logMsg += " Current Location"; + oStart.put("loc", "current"); + }else{ + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + logMsg += " '"+startAddress+"'"; + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + if(isNull(startLatLon)){ + return; + } + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + } + logMsg += " ["+startLatLon+"]"; + String[] startPos = splitLatLon(startLatLon); + + JSONObject oStartLoc = new JSONObject(); + oStartLoc.put("latitude", startPos[0]); + oStartLoc.put("longitude", startPos[1]); + oStart.put("loc", oStartLoc); + } + + if(!isNull(startNickname)){ + oStart.put("name", startNickname); + logMsg += " ("+startNickname+")"; + } + + String extras = args.getString(10); + if(!isNull(extras)){ + oJson = new JSONObject(extras); + logMsg += " - extras="+extras; + } + + // Assemble JSON + JSONArray aStops = new JSONArray(); + aStops.put(oStart); + if(oJson.has("stops")){ + JSONArray stops = oJson.getJSONArray("stops"); + for (int i = 0; i < stops.length(); i++) { + aStops.put(stops.getJSONObject(i)); + } + } + aStops.put(oDest); + oJson.put("stops", aStops); + + url += oJson.toString(); + + logDebug(logMsg); + logDebug("URI: " + url); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Cabify app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchBaidu(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String start; + String dest; + String destNickname = args.getString(3); + String startNickname = args.getString(6); + + String dType = args.getString(1); + String sType = args.getString(4); + String transportMode = args.getString(7); + + + String url = "baidumap://map/direction"; + String logMsg = "Using Baidu Maps to navigate"; + + String extras = parseExtrasToUrl(args); + if(isNull(extras)){ + extras = ""; + } + + if(!extras.contains("coord_type=")){ + extras += "&coord_type=wgs84"; + } + + // Destination + logMsg += " to"; + if(dType.equals("name")){ + dest = getLocationFromName(args, 2); + logMsg += dest; + }else{ + dest = getLocationFromPos(args, 2); + logMsg += " ["+dest+"]"; + if(!isNull(destNickname)){ + dest = "latlng:" + dest + "|name:" + destNickname; + logMsg += " ("+destNickname+")"; + } + } + url += "?destination=" + dest; + + // Start + logMsg += " from"; + if(sType.equals("none")){ + logMsg += " Current Location"; + }else{ + if(sType.equals("name")){ + start = getLocationFromName(args, 5); + logMsg += start; + }else{ + start = getLocationFromPos(args, 5); + logMsg += " ["+start+"]"; + if(!isNull(startNickname)){ + start = "latlng:" + start + "|name:" + startNickname; + logMsg += " ("+startNickname+")"; + } + } + url += "&origin=" + start; + } + + // Transport mode + if(transportMode.equals("d")){ + transportMode = "driving"; + }else if(transportMode.equals("w")){ + transportMode = "walking"; + }else if(transportMode.equals("b")){ + transportMode = "riding"; + }else if(transportMode.equals("t")){ + transportMode = "transit"; + }else{ + transportMode = "driving"; + } + + url += "&mode="+transportMode; + logMsg += " by transportMode=" + transportMode; + + // Extras + url += extras; + logMsg += " - extras="+extras; + + + logDebug(logMsg); + logDebug("URI: " + url); + + Intent intent = new Intent(); + intent.setData(Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Baidu Maps app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launchGaode(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress = null; + String destLatLon = null; + String startAddress = null; + String startLatLon = null; + String destNickname = args.getString(3); + String startNickname = args.getString(6); + + String dType = args.getString(1); + String sType = args.getString(4); + String transportMode = args.getString(7); + + + String url = "amapuri://route/plan/?"; + String logMsg = "Using Gaode Maps to navigate"; + + String extras = parseExtrasToUrl(args); + if(isNull(extras)){ + extras = ""; + } + + if(!extras.contains("sourceApplication=")){ + extras += "&sourceApplication="+Uri.encode(getThisAppName()); + } + + // Destination + logMsg += " to"; + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + logMsg += " '"+destAddress+"'"; + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + logMsg += " ["+destLatLon+"]"; + String[] pos = splitLatLon(destLatLon); + url += "dlat="+pos[0]+"&dlon="+pos[1]; + + // Dest name + if(!isNull(destNickname)){ + logMsg += " ("+destNickname+")"; + url += "&dname="+destNickname; + } + + // Start + logMsg += " from"; + if(sType.equals("none")){ + logMsg += " Current Location"; + }else { + if (sType.equals("name")) { + startAddress = getLocationFromName(args, 5); + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + logMsg += " '" + startAddress + "'"; + } else{ + startLatLon = getLocationFromPos(args, 5); + } + if (!isNull(startLatLon)) { + logMsg += " [" + startLatLon + "]"; + pos = splitLatLon(startLatLon); + url += "&slat=" + pos[0] + "&slon=" + pos[1]; + + // Start name + if(!isNull(startNickname)){ + logMsg += " ("+startNickname+")"; + url += "&sname="+startNickname; + } + } + } + + + // Transport mode + String transportModeName; + if(transportMode.equals("d")){ + transportModeName = "driving"; + transportMode = "0"; + }else if(transportMode.equals("w")){ + transportModeName = "walking"; + transportMode = "2"; + }else if(transportMode.equals("b")){ + transportModeName = "bicycle"; + transportMode = "3"; + }else if(transportMode.equals("t")){ + transportModeName = "transit"; + transportMode = "1"; + }else{ + transportModeName = "driving"; + transportMode = "0"; + } + url += "&t="+transportMode; + logMsg += " by transportMode=" + transportModeName; + + // Extras + url += extras; + logMsg += " - extras="+extras; + + + logDebug(logMsg); + logDebug("URI: " + url); + + Intent intent = new Intent(); + intent.setData(Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "Gaode Maps app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + private void launch99Taxis(JSONArray args, CallbackContext callbackContext) throws Exception{ + try { + String destAddress = null; + String destLatLon = null; + String startAddress = null; + String startLatLon = null; + String destNickname = args.getString(3); + String startNickname = args.getString(6); + + String dType = args.getString(1); + String sType = args.getString(4); + + + String url = "taxis99://call?"; + String logMsg = "Using 99 Taxi to navigate"; + + String extras = parseExtrasToUrl(args); + if(isNull(extras)){ + extras = ""; + } + + if(!extras.contains("deep_link_product_id")){ + extras += "&deep_link_product_id=316"; + } + + if(!extras.contains("client_id")){ + extras += "&client_id=MAP_123"; + } + + // Destination + logMsg += " to"; + if(dType.equals("name")){ + destAddress = getLocationFromName(args, 2); + logMsg += " '"+destAddress+"'"; + destLatLon = geocodeAddressToLatLon(args.getString(2), callbackContext); + if(isNull(destLatLon)){ + return; + } + }else{ + destLatLon = getLocationFromPos(args, 2); + } + logMsg += " ["+destLatLon+"]"; + String[] pos = splitLatLon(destLatLon); + url += "dropoff_latitude="+pos[0]+"&dropoff_longitude="+pos[1]; + + // Dest name + if(isNull(destNickname)){ + if(!isNull(destAddress)){ + destNickname = destAddress; + }else{ + destNickname = "Dropoff"; + } + } + logMsg += " ("+destNickname+")"; + url += "&dropoff_title="+destNickname; + + // Start + logMsg += " from"; + if(sType.equals("name")){ + startAddress = getLocationFromName(args, 5); + startLatLon = geocodeAddressToLatLon(args.getString(5), callbackContext); + logMsg += " '"+startAddress+"'"; + if(isNull(startLatLon)){ + return; + } + }else if(sType.equals("pos")){ + startLatLon = getLocationFromPos(args, 5); + }else{ + handleError("start location is a required parameter for 99 Taxi and must be specified", callbackContext); + return; + } + logMsg += " ["+startLatLon+"]"; + pos = splitLatLon(startLatLon); + url += "&pickup_latitude="+pos[0]+"&pickup_longitude="+pos[1]; + + // Start name + if(isNull(startNickname)){ + if(!isNull(startAddress)){ + startNickname = startAddress; + }else{ + startNickname = "Pickup"; + } + } + logMsg += " ("+startNickname+")"; + url += "&pickup_title="+startNickname; + + + // Extras + url += extras; + logMsg += " - extras="+extras; + + logDebug(logMsg); + logDebug("URI: " + url); + + Intent intent = new Intent(); + intent.setData(Uri.parse(url)); + this.cordova.getActivity().startActivity(intent); + callbackContext.success(); + }catch( JSONException e ) { + String msg = e.getMessage(); + if(msg.contains(NO_APP_FOUND)){ + msg = "99 Taxis app is not installed on this device"; + } + handleException(msg, callbackContext); + } + } + + /* + * Utilities + */ + + private String parseExtrasToUrl(JSONArray args) throws JSONException{ + String extras = null; + String jsonStringExtras = args.getString(10); + JSONObject oExtras = null; + if(!isNull(jsonStringExtras)){ + oExtras = new JSONObject(jsonStringExtras); + } + + if(oExtras != null){ + Iterator keys = oExtras.keys(); + extras = ""; + while( keys.hasNext() ) { + String key = (String)keys.next(); + String value = oExtras.getString(key); + extras += "&"+key+"="+value; + } + } + return extras; + } + + private String getLocationFromPos(JSONArray args, int index) throws Exception{ + String location; + JSONArray pos = args.getJSONArray(index); + String lat = pos.getString(0); + String lon = pos.getString(1); + if (isNull(lat) || lat.length() == 0 || isNull(lon) || lon.length() == 0) { + throw new Exception("Expected two non-empty string arguments for lat/lon."); + } + location = lat + "," + lon; + return location; + } + + private String getLocationFromName(JSONArray args, int index) throws Exception{ + String name = args.getString(index); + if (isNull(name) || name.length() == 0) { + throw new Exception("Expected non-empty string argument for place name."); + } + return name; + } + + private String[] splitLatLon(String latlon){ + return latlon.split(","); + } + + private String getAppName(String packageName){ + ApplicationInfo ai; + try { + ai = packageManager.getApplicationInfo(packageName, 0); + } catch (final PackageManager.NameNotFoundException e) { + ai = null; + } + final String applicationName = (String) (ai != null ? packageManager.getApplicationLabel(ai) : null); + return applicationName; + } + + private void discoverAvailableApps(){ + context = this.cordova.getActivity().getApplicationContext(); + packageManager = context.getPackageManager(); + + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(GEO_URI)); + List resolveInfoList = packageManager.queryIntentActivities(intent, 0); + availableApps = new HashMap(); + for (ResolveInfo resolveInfo : resolveInfoList) { + String packageName = resolveInfo.activityInfo.packageName; + String appName = getAppName(packageName); + if(!supportedAppPackages.containsValue(packageName)) { // if it's not already an explicitly supported app + logDebug("Found available app supporting geo protocol: " + appName + " (" + packageName + ")"); + availableApps.put(appName, packageName); + } + } + + // Check if explicitly supported apps are installed + for (Map.Entry entry : supportedAppPackages.entrySet()) { + String _appName = entry.getKey(); + String _packageName = entry.getValue(); + if(isPackageInstalled(_packageName, packageManager)){ + availableApps.put(supportedAppNames.get(_appName), _packageName); + logDebug(_appName+" is available"); + }else{ + logDebug(_appName + " is not available"); + } + } + } + + private boolean isPackageInstalled(String packagename, PackageManager packageManager) { + try { + packageManager.getPackageInfo(packagename, PackageManager.GET_ACTIVITIES); + ApplicationInfo ai = packageManager.getApplicationInfo(packagename, 0); + return ai.enabled; + } catch (PackageManager.NameNotFoundException e) { + return false; + } + } + + private String geocodeAddressToLatLon(String address, CallbackContext callbackContext) throws Exception { + String result = null; + String errMsg = "Unable to geocode coords from address '"+address; + try { + + if(!enableGeocoding){ + handleError("Geocoding disabled: "+errMsg, callbackContext); + return result; + } + + if(!isNetworkAvailable()){ + handleError("No internet connection: "+errMsg, callbackContext); + return result; + } + + address = address.replaceAll(" ", "%20"); + + JSONObject oResponse = doGeocode("address=" + address); + + double longitude = oResponse + .getJSONObject("geometry").getJSONObject("location") + .getDouble("lng"); + + double latitude = oResponse + .getJSONObject("geometry").getJSONObject("location") + .getDouble("lat"); + + result = latitude+","+longitude; + logDebug("Geocoded '"+address+"' to '"+result+"'"); + return result; + }catch(Exception e){ + handleException(errMsg+": "+e.getMessage(), callbackContext); + return result; + } + } + + private String reverseGeocodeLatLonToAddress(String latLon, CallbackContext callbackContext) throws Exception { + String result = null; + String errMsg = "Unable to reverse geocode address from coords '"+latLon; + try { + if(!enableGeocoding){ + handleError("Geocoding disabled: "+errMsg, callbackContext); + return result; + } + + if(!isNetworkAvailable()){ + handleError("No internet connection: "+errMsg, callbackContext); + return result; + } + + JSONObject oResponse = doGeocode("latlng=" + latLon); + result = oResponse.getString("formatted_address"); + logDebug("Reverse geocoded '"+latLon+"' to '"+result+"'"); + return result; + }catch(Exception e){ + handleException(errMsg+": "+e.getMessage(), callbackContext); + return result; + } + } + + private JSONObject doGeocode(String query) throws Exception{ + String url = "http://maps.google.com/maps/api/geocode/json?" + query + "&sensor=false"; + Request request = new Request.Builder() + .url(url) + .build(); + + Response response = httpClient.newCall(request).execute(); + String responseBody = response.body().string(); + JSONObject oResponse = new JSONObject(responseBody); + return ((JSONArray)oResponse.get("results")).getJSONObject(0); + } + + private boolean isNull(String arg){ + return arg == null || arg.equals("null"); + } + + private void logDebug(String msg) { + if(enableDebug){ + Log.d(LOG_TAG, msg); + executeGlobalJavascript("console.log(\""+LOG_TAG+"[native]: "+escapeDoubleQuotes(msg)+"\")"); + } + } + + private void logError(String msg){ + Log.e(LOG_TAG, msg); + if(enableDebug){ + executeGlobalJavascript("console.error(\""+LOG_TAG+"[native]: "+escapeDoubleQuotes(msg)+"\")"); + } + } + + private void handleError(String msg, CallbackContext callbackContext){ + logError(msg); + callbackContext.error(msg); + } + + private void handleException(String msg, CallbackContext callbackContext){ + msg = "Exception occurred: ".concat(msg); + handleError(msg, callbackContext); + } + + private String escapeDoubleQuotes(String string){ + String escapedString = string.replace("\"", "\\\""); + escapedString = escapedString.replace("%22", "\\%22"); + return escapedString; + } + + private void executeGlobalJavascript(final String jsString){ + cordova.getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + webView.loadUrl("javascript:" + jsString); + } + }); + } + + private String getAppDisplayName(String packageName){ + String name = "[Not found]"; + if(packageName.equals(GEO)){ + return "[Native chooser]"; + } + for (Map.Entry entry : availableApps.entrySet()) { + String _appName = entry.getKey(); + String _packageName = entry.getValue(); + if(packageName.equals(_packageName)){ + name = _appName; + break; + } + } + return name; + } + + private String getThisAppName(){ + return this.context.getApplicationInfo().loadLabel(this.context.getPackageManager()).toString(); + } + + private boolean isNetworkAvailable() { + ConnectivityManager connectivityManager + = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); + return activeNetworkInfo != null && activeNetworkInfo.isConnected(); + } + +} \ No newline at end of file diff --git a/platforms/android/app/src/main/res/drawable-hdpi/ic_fp_40px.png b/platforms/android/app/src/main/res/drawable-hdpi/ic_fp_40px.png new file mode 100755 index 00000000..48ebd8ad Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-hdpi/ic_fp_40px.png differ diff --git a/platforms/android/app/src/main/res/drawable-land-hdpi/screen.png b/platforms/android/app/src/main/res/drawable-land-hdpi/screen.png new file mode 100755 index 00000000..ca478443 Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-land-hdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-land-ldpi/screen.png b/platforms/android/app/src/main/res/drawable-land-ldpi/screen.png new file mode 100755 index 00000000..3a19b0bd Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-land-ldpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-land-mdpi/screen.png b/platforms/android/app/src/main/res/drawable-land-mdpi/screen.png new file mode 100755 index 00000000..f566bff7 Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-land-mdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-land-xhdpi/screen.png b/platforms/android/app/src/main/res/drawable-land-xhdpi/screen.png new file mode 100755 index 00000000..d8c517dc Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-land-xhdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-land-xxhdpi/screen.png b/platforms/android/app/src/main/res/drawable-land-xxhdpi/screen.png new file mode 100755 index 00000000..5f8a0ef1 Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-land-xxhdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-land-xxxhdpi/screen.png b/platforms/android/app/src/main/res/drawable-land-xxxhdpi/screen.png new file mode 100755 index 00000000..50833d78 Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-land-xxxhdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-mdpi/ic_fp_40px.png b/platforms/android/app/src/main/res/drawable-mdpi/ic_fp_40px.png new file mode 100755 index 00000000..122f4425 Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-mdpi/ic_fp_40px.png differ diff --git a/platforms/android/app/src/main/res/drawable-nodpi/android_robot.png b/platforms/android/app/src/main/res/drawable-nodpi/android_robot.png new file mode 100755 index 00000000..40bf934b Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-nodpi/android_robot.png differ diff --git a/platforms/android/app/src/main/res/drawable-port-hdpi/screen.png b/platforms/android/app/src/main/res/drawable-port-hdpi/screen.png new file mode 100755 index 00000000..f5cb0f94 Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-port-hdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-port-ldpi/screen.png b/platforms/android/app/src/main/res/drawable-port-ldpi/screen.png new file mode 100755 index 00000000..d08a013d Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-port-ldpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-port-mdpi/screen.png b/platforms/android/app/src/main/res/drawable-port-mdpi/screen.png new file mode 100755 index 00000000..46e3c21d Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-port-mdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-port-xhdpi/screen.png b/platforms/android/app/src/main/res/drawable-port-xhdpi/screen.png new file mode 100755 index 00000000..0650a84c Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-port-xhdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-port-xxhdpi/screen.png b/platforms/android/app/src/main/res/drawable-port-xxhdpi/screen.png new file mode 100755 index 00000000..bc93368f Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-port-xxhdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-port-xxxhdpi/screen.png b/platforms/android/app/src/main/res/drawable-port-xxxhdpi/screen.png new file mode 100755 index 00000000..d169a9da Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-port-xxxhdpi/screen.png differ diff --git a/platforms/android/app/src/main/res/drawable-xhdpi/ic_fp_40px.png b/platforms/android/app/src/main/res/drawable-xhdpi/ic_fp_40px.png new file mode 100755 index 00000000..e1c9590b Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-xhdpi/ic_fp_40px.png differ diff --git a/platforms/android/app/src/main/res/drawable-xxhdpi/ic_fp_40px.png b/platforms/android/app/src/main/res/drawable-xxhdpi/ic_fp_40px.png new file mode 100755 index 00000000..f7e87240 Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-xxhdpi/ic_fp_40px.png differ diff --git a/platforms/android/app/src/main/res/drawable-xxxhdpi/ic_fp_40px.png b/platforms/android/app/src/main/res/drawable-xxxhdpi/ic_fp_40px.png new file mode 100755 index 00000000..0fb85452 Binary files /dev/null and b/platforms/android/app/src/main/res/drawable-xxxhdpi/ic_fp_40px.png differ diff --git a/platforms/android/app/src/main/res/drawable/ic_fingerprint_error.xml b/platforms/android/app/src/main/res/drawable/ic_fingerprint_error.xml new file mode 100755 index 00000000..be46116d --- /dev/null +++ b/platforms/android/app/src/main/res/drawable/ic_fingerprint_error.xml @@ -0,0 +1,28 @@ + + + + + + diff --git a/platforms/android/app/src/main/res/drawable/ic_fingerprint_success.xml b/platforms/android/app/src/main/res/drawable/ic_fingerprint_success.xml new file mode 100755 index 00000000..261f3e7f --- /dev/null +++ b/platforms/android/app/src/main/res/drawable/ic_fingerprint_success.xml @@ -0,0 +1,28 @@ + + + + + + diff --git a/platforms/android/app/src/main/res/layout/fingerprint_dialog_container.xml b/platforms/android/app/src/main/res/layout/fingerprint_dialog_container.xml new file mode 100755 index 00000000..0c6face9 --- /dev/null +++ b/platforms/android/app/src/main/res/layout/fingerprint_dialog_container.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + +