!function(){function i(o,a,e){function t(r,c){if(!a[r]){if(!o[r]){var s="function"==typeof require&&require;if(!c&&s)return s(r,!0);if(n)return n(r,!0);var l=new Error("Cannot find module '"+r+"'");throw l.code="MODULE_NOT_FOUND",l}var d=a[r]={exports:{}};o[r][0].call(d.exports,function(i){return t(o[r][1][i]||i)},d,d.exports,i,o,a,e)}return a[r].exports}for(var n="function"==typeof require&&require,r=0;r<e.length;r++)t(e[r]);return t}return i}()({1:[function(i,o,a){function e(){throw new Error("setTimeout has not been defined")}function t(){throw new Error("clearTimeout has not been defined")}function n(i){if(u===setTimeout)return setTimeout(i,0);if((u===e||!u)&&setTimeout)return u=setTimeout,setTimeout(i,0);try{return u(i,0)}catch(o){try{return u.call(null,i,0)}catch(o){return u.call(this,i,0)}}}function r(i){if(p===clearTimeout)return clearTimeout(i);if((p===t||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(i);try{return p(i)}catch(o){try{return p.call(null,i)}catch(o){return p.call(this,i)}}}function c(){A&&f&&(A=!1,f.length?v=f.concat(v):m=-1,v.length&&s())}function s(){if(!A){var i=n(c);A=!0;for(var o=v.length;o;){for(f=v,v=[];++m<o;)f&&f[m].run();m=-1,o=v.length}f=null,A=!1,r(i)}}function l(i,o){this.fun=i,this.array=o}function d(){}var u,p,h=o.exports={};!function(){try{u="function"==typeof setTimeout?setTimeout:e}catch(i){u=e}try{p="function"==typeof clearTimeout?clearTimeout:t}catch(i){p=t}}();var f,v=[],A=!1,m=-1;h.nextTick=function(i){var o=new Array(arguments.length-1);if(arguments.length>1)for(var a=1;a<arguments.length;a++)o[a-1]=arguments[a];v.push(new l(i,o)),1!==v.length||A||n(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=d,h.addListener=d,h.once=d,h.off=d,h.removeListener=d,h.removeAllListeners=d,h.emit=d,h.prependListener=d,h.prependOnceListener=d,h.listeners=function(i){return[]},h.binding=function(i){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(i){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},{}],2:[function(i,o,a){"use strict";function e(i){for(var o in i)a.hasOwnProperty(o)||(a[o]=i[o])}Object.defineProperty(a,"__esModule",{value:!0}),e(i("./types/decimal")),e(i("./rules/inconsistencies")),e(i("./rules/rules")),e(i("./validator/base"))},{"./rules/inconsistencies":3,"./rules/rules":4,"./types/decimal":6,"./validator/base":7}],3:[function(i,o,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var e=function(){function i(){this.errors=[]}return i.prototype.add=function(i,o,a){this.errors.push({code:i,text:o,type:a})},i.prototype.size=function(){return this.errors.length},i}();a.Inconsistencies=e},{}],4:[function(i,o,a){"use strict";function e(i,o,a,e){return void 0===e&&(e=!1),function(t,n,r){c.addRule({name:i,fnName:n,tags:o,values:a,required:e})}}function t(i){c.addRuleSet(i)}Object.defineProperty(a,"__esModule",{value:!0});var n=i("./inconsistencies"),r=function(){function i(){this.definitions=[],this.names=[],this.instances={},window.Inconsistencies=n.Inconsistencies}return i.prototype.existRule=function(i,o){return this.definitions.filter(function(a){return a.name===i||a.fnName===o?a:null}).length>0},i.prototype.addRule=function(i){this.definitions.push(i)},i.prototype.addRuleSet=function(i){var o=new i,a=o.name();this.instances[a]=o,this.names.push(a);for(var e=0;e<this.definitions.length;e++){var t=this.definitions[e];this.register(o,t)}},i.prototype.register=function(i,o){null!=i[o.fnName]&&(i.addRule(o),window[o.fnName]=function(){i[o.fnName].apply(i,arguments)})},i.prototype.config=function(i){for(var o=0,a=this.names;o<a.length;o++){var e=a[o];this.instances[e].init(i)}},i.prototype.findInstance=function(i){if(!this.names.contains(i))throw"Validador no existe: "+i;return this.instances[i]},i.prototype.execute=function(i,o,a,e){this.findInstance(i).execute(o,a,e)},i.prototype.executeAll=function(i,o,a){for(var e=0,t=this.names;e<t.length;e++){var n=t[e];this.instances[n].execute(i,o,a)}},i.prototype.executeInstanceAll=function(i,o,a){this.findInstance(i).executeAll(o,a)},i.prototype.createNewInconsistencies=function(){return new n.Inconsistencies},i}(),c=null!==window.RULES?new r:window.RULES;window.RULES=c,window.cfgAll=function(i){c.config(i)},window.execute=function(i,o,a,e){c.execute(i,o,a,e)},window.executeAll=function(i,o,a){c.executeAll(i,o,a)},window.executeInstanceAll=function(i,o,a){c.executeInstanceAll(i,o,a)},a.Rule=e,a.RuleSet=t},{"./inconsistencies":3}],5:[function(i,o,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Array.prototype.hashCode=function(){return this.join("-")},Array.prototype.contains=function(i){for(var o=this.length;o--;)if(this[o]==i)return!0;return!1},Array.prototype.filter||(Array.prototype.filter=function(i){if(void 0===this||null===this)throw new TypeError;var o=Object(this),a=o.length>>>0;if("function"!=typeof i)throw new TypeError;for(var e=[],t=arguments.length>=2?arguments[1]:void 0,n=0;n<a;n++)if(n in o){var r=o[n];i.call(t,r,n,o)&&e.push(r)}return e}),Array.prototype.forEach||(Array.prototype.forEach=function(i,o){for(var a=0,e=this.length;a<e;++a)a in this&&i.call(o,this[a],a,this)})},{}],6:[function(i,o,a){(function(o){(function(){"use strict";function e(i){return i.prototype.subtract=i.prototype.sub,i.prototype.multiply=i.prototype.mul,i.prototype.divide=i.prototype.div,i}function t(){try{var a=null,t="N/A";void 0!==o&&void 0!==o.release&&"node"===o.release.name?(t="nodejs",a=e(i("bignumber.js"))):"undefined"==typeof java?(t="javascript",a=e(BigNumber)):(t="java",a=java.math.BigDecimal),window.Decimal=a;var n=new a("0.1"),r=new a("0.2");console.log("Decimal test["+t+"]: ",n.add(r).toString(),n.subtract(r).toString(),n.multiply(r).toString(),n.divide(r).toString(),"-",n.toString(),r.toString())}catch(i){console.log("Not Decimal support !!!",i)}}Object.defineProperty(a,"__esModule",{value:!0}),a.initBigNumber=t,t()}).call(this)}).call(this,i("_process"))},{_process:1,"bignumber.js":void 0}],7:[function(i,o,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),i("../types/arrays");var e=function(){function i(){this.WARNING="INF",this.ERROR="ERR"}return i}();a.ValidationType=e;var t=function(){function i(){this.cache={},this.rules=[],this.validationType=new e,this.init({})}return i.prototype.addRule=function(i){this.rules.push(i)},i.prototype.executeAll=function(i,o){null==this.fnAll&&(this.fnAll=this.crtExecFn(this.rules)),this.fnAll.apply(this,[i,o])},i.prototype.execute=function(i,o,a){var e=this,t=i.hashCode();if(null==this.cache[t]){i=this.mapArray(i);var n=this.rules.filter(function(o){return e.ruleContains(o,i)});this.cache[t]=this.crtExecFn(n)}this.cache[t].apply(this,[o,a])},i.prototype.mapArray=function(i){for(var o=[],a=0;a<i.length;a++)o.push(i[0]);return o},i.prototype.crtExecFn=function(i){var o=this;return function(a,e){i.forEach(function(i){console.log(i.fnName);var t=[],n=o.createArrayParams(i,a,t);n.length>0?e.add("000","La propiedad(es) ["+n.hashCode()+"] para la validacion "+i.name+" no debe ser nula(s)."):(t.push(e),o[i.fnName].apply(o,t))})}},i.prototype.createArrayParams=function(i,o,a){var e=[];return i.values.forEach(function(i){"this"==i?a.push(o):null==o[i]?e.push(i):a.push(o[i])}),e},i.prototype.ruleContains=function(i,o){return i.tags.filter(function(i){return o.contains(i)?i:null}).length>0?i:null},i}();a.BaseValidator=t},{"../types/arrays":5}],8:[function(i,o,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),function(i){for(var o in i)a.hasOwnProperty(o)||(a[o]=i[o])}(i("./vehiculo/datos.vehiculo"))},{"./vehiculo/datos.vehiculo":9}],9:[function(i,o,a){"use strict";var e=this&&this.__extends||function(){var i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,o){i.__proto__=o}||function(i,o){for(var a in o)o.hasOwnProperty(a)&&(i[a]=o[a])};return function(o,a){function e(){this.constructor=o}i(o,a),o.prototype=null===a?Object.create(a):(e.prototype=a.prototype,new e)}}(),t=this&&this.__decorate||function(i,o,a,e){var t,n=arguments.length,r=n<3?o:null===e?e=Object.getOwnPropertyDescriptor(o,a):e;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(i,o,a,e);else for(var c=i.length-1;c>=0;c--)(t=i[c])&&(r=(n<3?t(r):n>3?t(o,a,r):t(o,a))||r);return n>3&&r&&Object.defineProperty(o,a,r),r};Object.defineProperty(a,"__esModule",{value:!0}),i("../../model/model");var n=i("../../base"),r=["27006000","18029000","27450000","81065000","27073000","27099000","27425000","97161000","27160000","85015000","86219000","27205000","81220000","99773000","18205000","27245000","18247000","18256000","81300000","85125000","27361000","27372000","86757000","86865000","18410000","99524000","85136000","91001000","27413000","27135000","85139000","18460000","97001000","85162000","18479000","27491000","85225000","27495000","86320000","85230000","27600000","85250000","85263000","86568000","86569000","99001000","86571000","86573000","27430000","91540000","18592000","81591000","85279000","27615000","85300000","85315000","88001000","86755000","27660000","85325000","18753000","27250000","27580000","99624000","86760000","86749000","27745000","18756000","18785000","27787000","85400000","81794000","97666000","85410000","85430000","27800000","18860000","85440000","27050000","88564000","18094000","18150000","18610000","27001000","27001007","27001037","27001060","27025000","27025003","27025013","27075000","27075006","27077000","27077001","27150000","27491007","27810000","81065009","81794010","83247000","83256000","83410000","83592000","85001006","85225009","85300008","85430002","86760001","86885000","99496000"],c=["C","P","E","X","R","T","D","N","CA","PS","PO","NC"],s=[{cdPlan:"2",cdOperaciones:["1","6"],tiposPoliza:["IndividualPolicy","RiskPolicy"],dsMarcasNoPermitidas:["ALFA ROMEO","AUDI","BMW","CITROEN","DODGE","FERRARI","JAGUAR","JEEP","LAND ROVER","LEXUS","BYD","FOTON","FIAT","BRILLANCE","MASERATI","MERCEDES BENZ","MINI","PEUGEOT","PORSCHE","SEAT","SKODA","SSANGYONG","SUBARU","VOLVO","DFSK"],dsMarcasUnicasPermitidas:["CHEVROLET","MITSUBISHI","SUZUKI","RENAULT","KIA","MAZDA","FORD","NISSAN","HYUNDAI","TOYOTA","VOLKSWAGEN"],cdMarcaLineaXAntiguedadNoPermitidas:[{cdMarcaLinea:"64-2-12",dsAntiguedad:"%"},{cdMarcaLinea:"64-1-22",dsAntiguedad:"%"},{cdMarcaLinea:"53-2-7",dsAntiguedad:"%"},{cdMarcaLinea:"48-2-14",dsAntiguedad:"%"},{cdMarcaLinea:"37-1-18",dsAntiguedad:"%"},{cdMarcaLinea:"21-1-16",dsAntiguedad:"%"},{cdMarcaLinea:"12-2-35",dsAntiguedad:"%"},{cdMarcaLinea:"12-2-38",dsAntiguedad:"%"},{cdMarcaLinea:"12-1-15",dsAntiguedad:"%"},{cdMarcaLinea:"63-2-3",dsAntiguedad:"3"}]},{cdPlan:"47",cdOperaciones:["1","2"],tiposPoliza:["IndividualPolicy","RiskPolicy"],dsMarcasNoPermitidas:["ALFA ROMEO","AUDI","BMW","CITROEN","DODGE","FERRARI","JAGUAR","JEEP","LAND ROVER","LEXUS","BYD","FOTON","FIAT","BRILLANCE","MASERATI","MERCEDES BENZ","MINI","PEUGEOT","PORSCHE","SEAT","SKODA","SSANGYONG","SUBARU","VOLVO","DFSK"],cdMarcaLineaXAntiguedadNoPermitidas:[{cdMarcaLinea:"64-2-12",dsAntiguedad:"%"},{cdMarcaLinea:"64-1-22",dsAntiguedad:"%"},{cdMarcaLinea:"53-2-7",dsAntiguedad:"%"},{cdMarcaLinea:"48-2-14",dsAntiguedad:"%"},{cdMarcaLinea:"37-1-18",dsAntiguedad:"%"},{cdMarcaLinea:"21-1-16",dsAntiguedad:"%"},{cdMarcaLinea:"12-2-35",dsAntiguedad:"%"},{cdMarcaLinea:"12-2-38",dsAntiguedad:"%"},{cdMarcaLinea:"12-1-15",dsAntiguedad:"%"},{cdMarcaLinea:"63-2-3",dsAntiguedad:"3"}]},{cdPlan:"65",cdOperaciones:["1","2","4","6"],tiposPoliza:["IndividualPolicy","RiskPolicy"],dsMarcasUnicasPermitidas:["AUTECO","AUTECO BAJAJ","VICTORY","KYMCO","TVS","AKT","HONDA","SUZUKI","HERO"]}],l=[{cdPlan:"54",tiposPoliza:["IndividualPolicy","RiskPolicy"],cdOperaciones:["1","2","5","6","13","8","9"],antiguedadXClasesVehiculo:[{cdClasesVehiculo:["%"],rangoAntiguedad:{maxAntiguedad:"20",minAntiguedad:"-2"}}]},{cdPlan:"47",tiposPoliza:["IndividualPolicy","RiskPolicy"],cdOperaciones:["1","2","5","6","13","8","9"],antiguedadXClasesVehiculo:[{cdClasesVehiculo:["%"],rangoAntiguedad:{maxAntiguedad:"20",minAntiguedad:"0"}}]},{cdPlan:"2",tiposPoliza:["IndividualPolicy","RiskPolicy"],cdOperaciones:["1","6"],antiguedadXClasesVehiculo:[{cdClasesVehiculo:["%"],rangoAntiguedad:{maxAntiguedad:"20",minAntiguedad:"2"}}]},{cdPlan:"65",tiposPoliza:["IndividualPolicy","RiskPolicy"],cdOperaciones:["1","2","4","6"],antiguedadXClasesVehiculo:[{cdClasesVehiculo:["%"],rangoAntiguedad:{maxAntiguedad:"10",minAntiguedad:"-1"}}]}],d=[{cdPlan:"54",tiposPoliza:["IndividualPolicy","RiskPolicy"],cdOperaciones:["1","2","5","6","13","8","9"],rangoValorAsegurado:{maxValorAsegurado:4e8,minValorAsegurado:3e7}},{cdPlan:"47",tiposPoliza:["IndividualPolicy","RiskPolicy"],cdOperaciones:["1","2","5","6","13","8","9"],rangoValorAsegurado:{maxValorAsegurado:5e7}},{cdPlan:"2",tiposPoliza:["IndividualPolicy","RiskPolicy"],cdOperaciones:["1","6"],rangoValorAsegurado:{maxValorAsegurado:25e7}},{cdPlan:"65",tiposPoliza:["IndividualPolicy","RiskPolicy"],cdOperaciones:["1","6"],rangoValorAsegurado:{minValorAsegurado:2e6}}],u=[{cdPlan:"2",cdOperaciones:["1","6"],tiposPoliza:["IndividualPolicy","RiskPolicy"],tiposCombustible:["HYB","HIBRIDO","HBD","ELT","ELET","ELECTRIC","ELECTR","Elect","ELECT","ELEC","ELE","BEV","HEV","PHEV","MHEV","FCEV","EV","EREV"]}],p=["Mercedes Benz","Audi","BMW"],h=["PADanosCov","PASNDDeducible"],f=["C","E","D","X","P","TE"],v=["2","3","52","7"],A=function(i){function o(){return null!==i&&i.apply(this,arguments)||this}return e(o,i),o.prototype.name=function(){return"DatosVehiculoValidator"},o.prototype.init=function(i){this.valorAseguradoMinimoAutomovil=i.VALOR_ASEGURADO_MINIMO_AUTOMOVIL||3e8,this.valorAseguradoMinimoMoto=i.VALOR_ASEGURADO_MINIMO_MOTO||5e7,this.valorMaximoAsegurado1=i.TOPE_MAXIMO_VALOR_ASEGURADO_1||499999999,this.valorMaximoAsegurado2=i.TOPE_MAXIMO_VALOR_ASEGURADO_2||6e8,this.valorMaximoAsegurado3=i.TOPE_MAXIMO_VALOR_ASEGURADO_3||3e7,this.valorMaximoAsegurado4=i.TOPE_MAXIMO_VALOR_ASEGURADO_4||7e6,this.valorMaximoAsegurado5=i.TOPE_MAXIMO_VALOR_ASEGURADO_5||8e8,this.valorMinimoAsegurado1=i.TOPE_MINIMO_VALOR_ASEGURADO_1||2875e3,this.valorMinimoAsegurado2=i.TOPE_MINIMO_VALOR_ASEGURADO_2||2e6,this.valorMinimoAsegurado3=i.TOPE_MINIMO_VALOR_ASEGURADO_3||7e6,this.fasecoldaNoValido=i.FASECOLDA_NO_VALIDO||"69",this.ciudadesNoPermitidas=i.CIUDADES_NO_PERMITIDAS||r,this.tipoOperacionNuevo=i.TIPO_OPERACION_NUEVO||"1",this.tipoOperacionModificacion=i.TIPO_OPERACION_MODIFICACION||"2",this.tipoOperacionRenovacion=i.TIPO_OPERACION_RENOVACION||"4",this.tipoOperacionSustitucion=i.TIPO_OPERACION_SUSTITUCION||"5",this.tipoOperacionInclusion=i.TIPO_OPERACION_INCLUSION||"6",this.tipoOperacionInclusionModificacion=i.TIPO_OPERACION_INCLUSION_MODIFICACION||"7",this.tipoOperacionInclusionSustitucion=i.TIPO_OPERACION_INCLUSION_SUSTITUCIONES||"13",this.tipoOperacionConvenio=i.TIPO_OPERACION_CONVENIOS||"8",this.tipoOperacionConvenioSustitucion=i.TIPO_OPERACION_CONVENIOS_SUSTITUCIONES||"9",this.tipoOperacionConvenioModificacion=i.TIPO_OPERACION_CONVENIOS_MODIFICACIONES||"11",this.edadMinimaTomador=i.EDAD_MINIMA_TOMADOR||16,this.porcentajeMaximoTomador=i.PORCENTAJE_MAXIMO_BONIFICACION||60,this.tipoDocumentoEdadTomador=i.TIPO_DOCUMENTO_EDAD_TOMADOR||c,this.porcentajeMaximoTomadorCambioPoliza=i.PORCENTAJE_MAXIMO_BONIFICACION_CAMBIO_POLIZA||67.5,this.diasTrascurridosPermitidos=i.DIAS_TRASNCURRIDOS_PERMITIDOS||90,this.marcasLimitadasNuevoDeNuevo=i.MARCAS_LIMITADAS_NUEVO_DE_NUEVO||p,this.tiposDocumentoPermitidoSeguroPorUso=i.TIPOS_DOCUMENTOS_PERMITIDOS_SEGURO_POR_USO||f,this.planesCoberturasCompletas=i.PLANES_COBERTURAS_COMPLETAS||v,this.valorAseguradoBiciEnValidacionDeducible=i.VALOR_ASEGURADO_BICI_VALIDACION_DEDUCIBLE||3e6,this.antiguedadMaximaBicicletas=i.ANTIGUEDAD_MAXIMA_BICICLETAS||5,this.marcasXPlan=i.MARCAS_X_PLAN||s,this.antiguedadesXPlan=i.ANTIGUEDADES_X_PLAN||l,this.valorAsegurado=i.VALOR_ASEGURADO_X_PLAN||d,this.tipoCombustible=i.TIPO_COMBUSTIBLE_X_PLAN||u},o.prototype.validarAccesoriosEspeciales=function(i,o){var a=i.condicionesParticulares;if((i.tipoOperacion!=this.tipoOperacionInclusion&&i.tipoOperacion!=this.tipoOperacionInclusionModificacion||a&&!a.condParticularAccesoriosEspeciales)&&i&&i.infoVehiculo&&"54"!=i.planSeleccionado.codigoPlan){var e=i.infoVehiculo;Math.abs(e.valorAccesoriosEspeciales)>Math.abs(e.valorAsegurado)&&o.add("001","El valor de los accesorios especiales es mayor al valor asegurado del vehículo.  Por favor verifique.",this.validationType.WARNING)}},o.prototype.validarValorVehiculo=function(i,o){var a=i.condicionesParticulares;if((i.tipoOperacion!=this.tipoOperacionInclusion&&i.tipoOperacion!=this.tipoOperacionInclusionModificacion||a&&!a.condParticularValorAsegurado)&&i&&i.infoVehiculo){var e=i.infoVehiculo,t=i.planSeleccionado,n=Math.abs(e.valorAsegurado);t&&"1"!=t.codigoPlan&&(("1"==e.cdClase||"2"==e.cdClase)&&this.valorMaximoAsegurado1<n?o.add("002","El valor asegurado del vehículo supera el límite máximo permitido por políticas.",this.validationType.WARNING):("7"==e.cdClase||"8"==e.cdClase||"12"==e.cdClase)&&this.valorMaximoAsegurado2<n?o.add("003","El valor asegurado del vehículo supera el límite máximo permitido por políticas.",this.validationType.WARNING):"13"==e.cdClase&&"4"==i.planSeleccionado.codigoPlan&&this.valorMaximoAsegurado3<n?o.add("010","El valor asegurado del vehículo supera el límite máximo permitido por políticas.",this.validationType.WARNING):"13"==e.cdClase&&"53"==i.planSeleccionado.codigoPlan&&this.valorMaximoAsegurado4<n?o.add("023","El valor asegurado del vehículo supera el límite máximo permitido por políticas.",this.validationType.WARNING):("9"==e.cdClase||"10"==e.cdClase||"11"==e.cdClase)&&this.valorMaximoAsegurado5<n&&o.add("003","El valor asegurado del vehículo supera el límite máximo permitido por políticas.",this.validationType.WARNING),("1"==e.cdClase||"2"==e.cdClase||"7"==e.cdClase||"8"==e.cdClase||"9"==e.cdClase||"10"==e.cdClase||"11"==e.cdClase||"12"==e.cdClase)&&this.valorMinimoAsegurado1>n?o.add("004","El valor del vehículo es inferior al tope mínimo. Por favor verifique.",this.validationType.WARNING):("3"==e.cdClase||"4"==e.cdClase)&&this.valorMinimoAsegurado2>n?o.add("005","El valor del vehículo es inferior al tope mínimo. Por favor verifique.",this.validationType.WARNING):("5"==e.cdClase||"6"==e.cdClase)&&this.valorMinimoAsegurado3>n&&o.add("006","El valor del vehículo es inferior al tope mínimo. Por favor verifique.",this.validationType.WARNING))}},o.prototype.validarCiudadPermitida=function(i,o){var a=i.condicionesParticulares;if((i.tipoOperacion!=this.tipoOperacionInclusion&&i.tipoOperacion!=this.tipoOperacionInclusionModificacion||a&&!a.condParticularZonaCirculacion)&&i){var e=i.infoVehiculo,t=i.planSeleccionado;t&&t.codigoPlan&&e&&this.ciudadesNoPermitidas.contains(e.codigoCiudad)&&o.add("008","Por política de la compañía no está permitido asegurar vehículos que circulen en esta zona.",this.validationType.WARNING)}},o.prototype.validarFasecolda=function(i,o){var a=i.condicionesParticulares;if((i.tipoOperacion!=this.tipoOperacionInclusion&&i.tipoOperacion!=this.tipoOperacionInclusionModificacion||a&&!a.condParticularMarca)&&i){var e=i.infoVehiculo;"1"!=i.planSeleccionado.codigoPlan&&e.fasecolda&&this.fasecoldaNoValido==e.fasecolda.substr(0,2)&&o.add("009","Por política de la compañía este vehículo no puede ser asegurado.",this.validationType.WARNING)}},o.prototype.validarCiudadPermitidaOperacion=function(i,o){if(i){var a=i.tipoOperacion;if(this.tipoOperacionNuevo==a)this.validarCiudadPermitida(i,o);else{var e=i.infoVehiculo;e&&e.codigoCiudad!=e.codigoCiudadAnterior&&this.validarCiudadPermitida(i,o)}}},o.prototype.validarEdadMinimaTomadores=function(i,o){if(i)for(var a=0,e=i.tomador;a<e.length;a++){var t=e[a];if(t.tipoDocumento){for(var n=!1,r=0,c=this.tipoDocumentoEdadTomador;r<c.length;r++){var s=c[r];if(s==t.tipoDocumento){n=!0;break}}if(n&&t.edad&&t.edad<this.edadMinimaTomador){o.add("011","Por política de la compañía no es posible crear una cuenta a una persona menor de "+this.edadMinimaTomador+" años.",this.validationType.ERROR);break}}}},o.prototype.validarValorSugerido=function(i,o){if(i&&i.infoVehiculo&&i.planSeleccionado&&"4"!=i.planSeleccionado.codigoPlan&&"13"!=i.infoVehiculo.cdClase){var a=Math.abs(i.infoVehiculo.valorAsegurado),e=i.infoVehiculo.valorSugerido,t=.1*e,n=.1*e,r=e+t,c=e-n;a<=r&&a>=c||o.add("012","El valor del vehículo no se encuentra en los rangos estimados por Suramericana.",this.validationType.WARNING)}},o.prototype.validarValorAccesorios=function(i,o){if(i&&i.infoVehiculo&&"54"!=i.planSeleccionado.codigoPlan){i.infoVehiculo.valorAccesorios>.1*Math.abs(i.infoVehiculo.valorAsegurado)&&o.add("013","El valor de los accesorios es mayor al 10% del valor asegurado.",this.validationType.WARNING)}},o.prototype.validarPorcentajeBonificacion=function(i,o){i&&i.porcentajeBonificacion&&((i.tipoOperacion==this.tipoOperacionNuevo||i.tipoOperacion==this.tipoOperacionInclusion||i.tipoOperacion==this.tipoOperacionConvenio)&&i.porcentajeBonificacion>this.porcentajeMaximoTomador?o.add("014","El porcentaje de bonificación no puede ser mayor a 60%",this.validationType.ERROR):(i.tipoOperacion==this.tipoOperacionInclusionModificacion||i.tipoOperacion==this.tipoOperacionModificacion||i.tipoOperacion==this.tipoOperacionRenovacion||i.tipoOperacion==this.tipoOperacionSustitucion||i.tipoOperacion==this.tipoOperacionInclusionSustitucion||i.tipoOperacion==this.tipoOperacionConvenioSustitucion||i.tipoOperacion==this.tipoOperacionConvenioModificacion)&&i.porcentajeBonificacion>this.porcentajeMaximoTomadorCambioPoliza&&o.add("015","El porcentaje de bonificación no puede ser mayor a 67.5%",this.validationType.ERROR))},o.prototype.validarMarcaPermitidaPlan=function(i,o){var a=this,e=this.filtrarXPlanYOperacion(i,this.marcasXPlan);if(e&&e.length>0){var t=i.infoVehiculo;e.forEach(function(i){return a.validarRegistroMarcasNoPermitidas(i,t,o)})}},o.prototype.validarMarcasUnicasPermitidasXPlan=function(i,o){var a=this,e=this.filtrarXPlanYOperacion(i,this.marcasXPlan);if((e=this.filtrarTipoPoliza(i,e))&&e.length>0){var t=i.infoVehiculo;e.forEach(function(i){return a.validarRegistroMarcasUnicasPermitidas(i,t,o)})}},o.prototype.validarMarcaPorZonas=function(i,o){var a=this,e=this.filtrarXPlanYOperacion(i,this.marcasXPlan);if(e&&e.length>0){var t=i.infoVehiculo;e.forEach(function(i){return a.validarRegistroMarcasPorZonas(i,t,o)})}},o.prototype.validarRegistroMarcasPorZonas=function(i,o,a){var e=this;i.dsMarcasXZonas&&i.dsMarcasXZonas.forEach(function(i){i.dsMarca==o.dsMarca&&i.cdZonas.contains(o.codigoZona)&&a.add("027","Por política de la compañía la marca cotizada no se permite ingresar en este producto bajo la zona de circulación seleccionada",e.validationType.ERROR)})},o.prototype.filtrarXPlanYOperacion=function(i,o){var a;return i&&i.planSeleccionado&&i.tipoOperacion?a=o.filter(function(o){return o.cdPlan==i.planSeleccionado.codigoPlan&&o.cdOperaciones.contains(i.tipoOperacion)}):i&&i.planSeleccionado&&i.operacion&&(a=o.filter(function(o){return o.cdPlan==i.planSeleccionado.codigoPlan&&o.cdOperaciones.contains(i.operacion)})),a},o.prototype.filtrarTipoPoliza=function(i,o){var a;return i&&i.tipoPoliza&&i.tipoPoliza.codigoTipoPoliza&&o?a=o.filter(function(o){return o.tiposPoliza.contains(i.tipoPoliza.codigoTipoPoliza)}):i&&i.codigoTipoPoliza&&o&&(a=o.filter(function(o){return o.tiposPoliza.contains(i.codigoTipoPoliza)})),a},o.prototype.validarRegistroMarcasNoPermitidas=function(i,o,a){if(i.dsMarcasNoPermitidas&&i.dsMarcasNoPermitidas.contains(o.dsMarca))a.add("016","Por política de la compañía la marca cotizada no se permite ingresar en este producto.",this.validationType.WARNING);else if(i.cdMarcaLineaXAntiguedadNoPermitidas&&o.infoFasecolda&&o.infoFasecolda.cdMarcaLinea){var e=i.cdMarcaLineaXAntiguedadNoPermitidas.filter(function(i){return i.cdMarcaLinea==o.infoFasecolda.cdMarcaLinea.trim()});if(e&&1==e.length)if("%"==e[0].dsAntiguedad)a.add("017","Por política de la compañía la marcaLinea cotizada no se permite ingresar en este producto.",this.validationType.WARNING);else if(o.modelo){var t=new Date,n=t.getFullYear(),r=n-Number(o.modelo),c=Number(e[0].dsAntiguedad);r<=c&&a.add("019","Por política de la compañía la marcaLinea-modelo cotizada no se permite ingresar en este producto.",this.validationType.WARNING)}}},o.prototype.validarRegistroMarcasUnicasPermitidas=function(i,o,a){i.dsMarcasUnicasPermitidas&&!i.dsMarcasUnicasPermitidas.contains(o.dsMarca)&&a.add("025","Por política de la compañía la marca cotizada no se permite ingresar en este producto.",this.validationType.ERROR)},o.prototype.validarCeroKms=function(i,o){if(i&&(i.tipoOperacion==this.tipoOperacionNuevo||i.tipoOperacion==this.tipoOperacionSustitucion)){var a=i.infoVehiculo;if(a.esCeroKms&&a.modelo){var e=new Date,t=e.getFullYear(),n=new Date(t,0,1),r=Number(a.modelo),c=Math.abs(e.getTime()-n.getTime()),s=Math.round(c/864e5);r!=t&&r!=t+1&&(r!=t-1||s>this.diasTrascurridosPermitidos)&&o.add("018","Por política de la compañía este vehículo no es considerado como 0 kms.",this.validationType.WARNING)}}},o.prototype.validarMarcaPermitidaCovNuevoDeNuevo=function(i,o){if(i&&(i.tipoOperacion==this.tipoOperacionNuevo||i.tipoOperacion==this.tipoOperacionSustitucion)&&i.infoVehiculo.dsMarca){var a=i.infoVehiculo.dsMarca,e=this.marcasLimitadasNuevoDeNuevo.filter(function(i){return i.toUpperCase().trim()==a.toUpperCase().trim()});if(e&&1==e.length){this.obtenerTermino(i,h[0],h[1])&&o.add("020","La cobertura nuevo de nuevo para este tipo de vehículo debe ser autorizada.",this.validationType.WARNING)}}},o.prototype.validarAseguradoConductorSeguroUso=function(i,o){if(i&&i.contacto&&"52"==i.planSeleccionado.codigoPlan)for(var a=0,e=i.contacto;a<e.length;a++){var t=e[a];"Asegurado"!=t.rol&&"Conductor"!=t.rol||this.tiposDocumentoPermitidoSeguroPorUso.contains(t.tipoDocumento)||o.add("021","Según las condiciones del producto, este plan no permite el tipo de documento seleccionado para el "+t.rol+".",this.validationType.ERROR)}},o.prototype.validarDeducibleXValorBicicleta=function(i,o){i&&i.planSeleccionado&&"4"==i.planSeleccionado.codigoPlan&&i.infoVehiculo&&i.tipoOperacion!=this.tipoOperacionRenovacion&&(i.infoVehiculo.valorAsegurado<=this.valorAseguradoBiciEnValidacionDeducible?o.add("020","El valor asegurado es inferior o igual a $3.000.000 debe seleccionar el deducible del 15%.",this.validationType.WARNING):o.add("020","El valor asegurado es mayor a $3.000.000 debe seleccionar el deducible del 15%- 1SMLMV.",this.validationType.WARNING))},o.prototype.validarAntiguedadPlanBicicletas=function(i,o){if(i&&i.planSeleccionado&&i.infoVehiculo&&i.infoVehiculo.modelo&&i.infoVehiculo.cdClase){var a=new Date,e=a.getFullYear(),t=e-Number(i.infoVehiculo.modelo);"13"==i.infoVehiculo.cdClase&&t>this.antiguedadMaximaBicicletas&&o.add("022","Por política de la compañía la antigüedad máxima permitida para el ingreso en este plan es de 5 años.",this.validationType.WARNING)}},o.prototype.obtenerTermino=function(i,o,a){var e;if(i.infoVehiculo.infoCoberturas)for(var t=i.infoVehiculo.infoCoberturas,n=0,r=t;n<r.length;n++){var c=r[n];if(c.patternCode==o)for(var s=0,l=c.terminos;s<l.length;s++){var d=l[s];if(d.patternCode==a){e=d;break}}}return e},o.prototype.obtenerCobertura=function(i,o){var a;if(i.infoVehiculo.infoCoberturas)for(var e=i.infoVehiculo.infoCoberturas,t=0,n=e;t<n.length;t++){var r=n[t];if(r.patternCode==o){a=r;break}}return a},o.prototype.validarCoberturasCompletas=function(i,o){if(i.infoVehiculo.infoCoberturas){var a=this.obtenerCobertura(i,"PADanosCov"),e=this.obtenerCobertura(i,"PAHurtoCov");if(e&&void 0===a||a&&void 0===e)o.add("020","Por política de la compañía, debido al valor asegurado del vehículo, se deben tomar las coberturas de hurto y daño tanto parciales como totales",this.validationType.ERROR);else if(e&&a){var t=this.obtenerTermino(i,"PADanosCov","PADanosPPDeduciblePorcMin"),n=this.obtenerTermino(i,"PADanosCov","PADanosPTDeduciblePorcMin"),r=this.obtenerTermino(i,"PAHurtoCov","PAHurtoPPDeduciblePorcMin"),c=this.obtenerTermino(i,"PAHurtoCov","PAHurtoPTDeduciblePorcMin");void 0!==t&&void 0!==n&&void 0!==r&&void 0!==c||o.add("020","Por política de la compañía, debido al valor asegurado del vehículo, se deben tomar las coberturas de hurto y daño tanto parciales como totales",this.validationType.ERROR)}}},o.prototype.validarPlanCoberturasCompletas=function(i){return!!(i.planSeleccionado&&i.planSeleccionado.codigoPlan&&this.planesCoberturasCompletas.contains(i.planSeleccionado.codigoPlan))},o.prototype.validarCoberturasCompletasVehiculos=function(i,o){if(i&&(i.tipoOperacion==this.tipoOperacionNuevo||i.tipoOperacion==this.tipoOperacionSustitucion)&&i.infoVehiculo&&i.infoVehiculo.cdClase&&i.infoVehiculo.valorAsegurado&&this.validarPlanCoberturasCompletas(i)){var a=i.infoVehiculo.cdClase,e=i.infoVehiculo.valorAsegurado;("1"==a||"2"==a)&&e>=this.valorAseguradoMinimoAutomovil&&this.validarCoberturasCompletas(i,o),"5"==a&&e>=this.valorAseguradoMinimoMoto&&this.validarCoberturasCompletas(i,o)}},o.prototype.validarAntiguedadXPlan=function(i,o){var a=this,e=this.filtrarXPlanYOperacion(i,this.antiguedadesXPlan);if((e=this.filtrarTipoPoliza(i,e))&&e.length>0){var t=i.infoVehiculo;e.forEach(function(i){return a.validarRegistroAntiguedadesXPlan(i,t,o)})}},o.prototype.validarRegistroAntiguedadesXPlan=function(i,o,a){var e=this;i.antiguedadXClasesVehiculo.forEach(function(i){return e.validarRegistroAntiguedadXClaseVehiculo(i,o,a)})},o.prototype.validarRegistroAntiguedadXClaseVehiculo=function(i,o,a){("%"==i.cdClasesVehiculo[0]||i.cdClasesVehiculo.contains(o.cdClase))&&(this.cumpleAntiguedadORangoAntiguedad(i.maxAntiguedad,i.rangoAntiguedad,Number(o.modelo))||a.add("024","Por política de la compañía la antiguedad del vehiculo no se permite ingresar en este plan.",this.validationType.ERROR))},o.prototype.cumpleAntiguedadORangoAntiguedad=function(i,o,a){var e=!0,t=new Date,n=t.getFullYear(),r=n-a;return i&&r>i?e=!1:o&&(r>o.maxAntiguedad||r<o.minAntiguedad)&&(e=!1),e},o.prototype.validarValorAseguradoXPlan=function(i,o){var a=this;if(i&&i.infoVehiculo&&i.infoVehiculo.valorAsegurado){var e=this.filtrarXPlanYOperacion(i,this.valorAsegurado);if((e=this.filtrarTipoPoliza(i,e))&&e.length>0){var t=i.infoVehiculo;e.forEach(function(i){return a.validarValorAsegurado(i,t,o)})}}},o.prototype.validarValorAsegurado=function(i,o,a){var e=i.rangoValorAsegurado.maxValorAsegurado?i.rangoValorAsegurado.maxValorAsegurado:999999999999,t=i.rangoValorAsegurado.minValorAsegurado?i.rangoValorAsegurado.minValorAsegurado:0;o.valorAsegurado<=e?o.valorAsegurado>=t||a.add("026","Por política de la compañía el valor asegurado del vehiculo se encuentra por debajo del permitido en este producto.",this.validationType.ERROR):a.add("026","Por política de la compañía el valor asegurado del vehiculo supera el permitido en este producto.",this.validationType.ERROR)},o.prototype.validarTipoCombustibleXPlan=function(i,o){var a=this,e=this.filtrarXPlanYOperacion(i,this.tipoCombustible);if((e=this.filtrarTipoPoliza(i,e))&&e.length>0){var t=i.infoVehiculo;e.forEach(function(i){return a.validarTiposDeCombustibles(i,t,o)})}},o.prototype.validarTiposDeCombustibles=function(i,o,a){i.tiposCombustible.contains(o.tipoCombustible)&&a.add("028","Por política de la compañía el tipo de combustible del vehículo no se permite ingresar en este plan.",this.validationType.ERROR)},t([n.Rule("accesoriosEspeciales",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarAccesoriosEspeciales",null),t([n.Rule("valorVehiculo",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarValorVehiculo",null),t([n.Rule("ciudadCirculacion",["cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarCiudadPermitida",null),t([n.Rule("codigoFasecolda",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarFasecolda",null),
t([n.Rule("ciudadCirculacionOperacion",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarCiudadPermitidaOperacion",null),t([n.Rule("validarEdadMinimaTomadores",["solicitudElectronica","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarEdadMinimaTomadores",null),t([n.Rule("validarValorSugerido",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarValorSugerido",null),t([n.Rule("validarValorAccesorios",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarValorAccesorios",null),t([n.Rule("validarPorcentajeBonificacion",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarPorcentajeBonificacion",null),t([n.Rule("validarMarcaPermitidaPlan",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarMarcaPermitidaPlan",null),t([n.Rule("validarMarcasUnicasPermitidasXPlan",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarMarcasUnicasPermitidasXPlan",null),t([n.Rule("validarMarcaPorZonas",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarMarcaPorZonas",null),t([n.Rule("validarCeroKms",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarCeroKms",null),t([n.Rule("validarMarcaPermitidaNuevoDeNuevo",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarMarcaPermitidaCovNuevoDeNuevo",null),t([n.Rule("validarAseguradoConductorSeguroUso",["solicitudElectronica"],["this"])],o.prototype,"validarAseguradoConductorSeguroUso",null),t([n.Rule("validarDeducibleXValorBicicleta",["datosBasicos"],["this"])],o.prototype,"validarDeducibleXValorBicicleta",null),t([n.Rule("validarAntiguedadPlanBicicletas",["datosBasicos"],["this"])],o.prototype,"validarAntiguedadPlanBicicletas",null),t([n.Rule("validarCoberturasCompletasVehiculos",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarCoberturasCompletasVehiculos",null),t([n.Rule("validarAntiguedadXPlan",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarAntiguedadXPlan",null),t([n.Rule("validarValorAseguradoXPlan",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarValorAseguradoXPlan",null),t([n.Rule("validarTipoCombustibleXPlan",["datosBasicos","cotizacionApi","expedicionApi"],["this"])],o.prototype,"validarTipoCombustibleXPlan",null),o=t([n.RuleSet],o)}(n.BaseValidator);a.DatosVehiculoValidator=A},{"../../base":2,"../../model/model":10}],10:[function(i,o,a){},{}]},{},[8]);