Cuenta;Categoría;Descripción;Asignado;Modificado;Codificado;Monto certificado;Comprometido;Devengado;Pagado;Saldo por comprometer;Saldo por devengar;Saldo por pagar;Porcentaje de ejecución;;;;;;;;;;;; 5101051700 001;EGRESOS EN PERSONAL;Remuneraciones Unificadas; 3.333.387,46 ; -516.932,32 ; 2.816.455,14 ; - ; 955.582,05 ; 955.582,05 ; 952.992,13 ; 1.860.873,09 ; 1.860.873,09 ; 2.589,92 ;33,93%;;;;;;;;;;;; 5101061700 001;EGRESOS EN PERSONAL;Salarios Unificados; 187.722,23 ; -5.934,75 ; 181.787,48 ; - ; 76.742,77 ; 76.742,77 ; 76.742,77 ; 105.044,71 ; 105.044,71 ; - ;42,22%;;;;;;;;;;;; 5102031700 001;EGRESOS EN PERSONAL;Decimo Tercer Sueldo; 592.729,56 ; 14.129,74 ; 606.859,30 ; - ; 79.749,92 ; 79.749,92 ; 79.699,02 ; 527.109,38 ; 527.109,38 ; 50,90 ;13,14%;;;;;;;;;;;; 5102041700 001;EGRESOS EN PERSONAL;Decimo Cuarto Sueldo; 168.565,00 ; 11.872,54 ; 180.437,54 ; - ; 22.982,49 ; 22.982,49 ; 22.758,88 ; 157.455,05 ; 157.455,05 ; 223,61 ;12,74%;;;;;;;;;;;; 5103061700 001;EGRESOS EN PERSONAL;Alimentacion; 14.787,00 ; 4.233,00 ; 19.020,00 ; - ; 5.745,00 ; 5.745,00 ; 5.745,00 ; 13.275,00 ; 13.275,00 ; - ;30,21%;;;;;;;;;;;; 5105091700 001;EGRESOS EN PERSONAL;Horas Extraordinarias y Suplementarias; - ; 23.500,00 ; 23.500,00 ; - ; 21.509,75 ; 21.509,75 ; 21.407,63 ; 1.990,25 ; 1.990,25 ; 102,12 ;91,53%;;;;;;;;;;;; 5105101700 001;EGRESOS EN PERSONAL;Servicios Personales por Contrato; 4.509.502,46 ; 84.489,54 ; 4.593.992,00 ; - ; 1.915.142,92 ; 1.915.142,92 ; 1.913.449,26 ; 2.678.849,08 ; 2.678.849,08 ; 1.693,66 ;41,69%;;;;;;;;;;;; 5105121700 001;EGRESOS EN PERSONAL;Subrogacion; 6.731,19 ; 11.936,72 ; 18.667,91 ; - ; 1.072,40 ; 1.072,40 ; 1.072,40 ; 17.595,51 ; 17.595,51 ; - ;5,74%;;;;;;;;;;;; 5105131700 001;EGRESOS EN PERSONAL;Encargos; 23.512,87 ; 29.803,08 ; 53.315,95 ; - ; 14.177,23 ; 14.177,23 ; 14.177,23 ; 39.138,72 ; 39.138,72 ; - ;26,59%;;;;;;;;;;;; 5106011700 001;EGRESOS EN PERSONAL;Aporte Patronal; 709.046,40 ; 1.263,72 ; 710.310,12 ; - ; 276.336,49 ; 276.336,49 ; 274.654,60 ; 433.973,63 ; 433.973,63 ; 1.681,89 ;38,90%;;;;;;;;;;;; 5106021700 001;EGRESOS EN PERSONAL;Fondo de Reserva; 503.778,53 ; -6.298,51 ; 497.480,02 ; - ; 169.321,26 ; 169.321,26 ; 169.321,26 ; 328.158,76 ; 328.158,76 ; - ;34,04%;;;;;;;;;;;; 5107071700 001;EGRESOS EN PERSONAL;Compensacion por Vacaciones no Gozadas por Cesacion de Funciones ; - ; 51.677,86 ; 51.677,86 ; - ; 12.167,88 ; 12.167,88 ; 6.040,54 ; 39.509,98 ; 39.509,98 ; 6.127,34 ;23,55%;;;;;;;;;;;; 5301011701 001;BIENES Y SERVICIOS DE CONSUMO;Agua Potable; 16.327,00 ; 394,43 ; 16.721,43 ; 11.367,11 ; 5.354,32 ; 5.354,32 ; 5.354,32 ; 11.367,11 ; 11.367,11 ; - ;32,02%;;;;;;;;;;;; 5301041701 001;BIENES Y SERVICIOS DE CONSUMO;Energia Electrica; 83.002,36 ; 1.871,94 ; 84.874,30 ; 56.934,04 ; 27.940,26 ; 27.940,26 ; 27.940,26 ; 56.934,04 ; 56.934,04 ; - ;32,92%;;;;;;;;;;;; 5301051701 001;BIENES Y SERVICIOS DE CONSUMO;Telecomunicaciones; 410.267,24 ; 20.215,25 ; 430.482,49 ; 100.788,17 ; 4.119,28 ; 4.119,21 ; 4.119,21 ; 426.363,21 ; 426.363,28 ; - ;0,96%;;;;;;;;;;;; 5301061701 001;BIENES Y SERVICIOS DE CONSUMO;Servicio de Correo; 6.283,54 ; -67,64 ; 6.215,90 ; 2.497,81 ; 2.375,09 ; 2.375,09 ; 1.523,74 ; 3.840,81 ; 3.840,81 ; 851,35 ;38,21%;;;;;;;;;;;; 5302011701 001;BIENES Y SERVICIOS DE CONSUMO;Transporte de Personal; 203.490,00 ; -107.598,41 ; 95.891,59 ; 0,22 ; 53.618,98 ; 53.415,49 ; 53.415,49 ; 42.272,61 ; 42.476,10 ; - ;55,70%;;;;;;;;;;;; 5302031701 001;BIENES Y SERVICIOS DE CONSUMO;Almacenamiento Embalaje Desembalaje Envase Desenvase y Recarga de Extintores; - ; 1.577,05 ; 1.577,05 ; 1.434,05 ; - ; - ; - ; 1.577,05 ; 1.577,05 ; - ;0,00%;;;;;;;;;;;; 5302041701 001;BIENES Y SERVICIOS DE CONSUMO;Edicion Impresion Reproduccion Publicaciones Suscripciones Fotocopiado Traduccion Empastado Enmarcacion Serigrafia Fotografia Carnetizacion Filmacion e Imagenes Satelitales; 7.028,70 ; 782,65 ; 7.811,35 ; 7.530,87 ; - ; - ; - ; 7.811,35 ; 7.811,35 ; - ;0,00%;;;;;;;;;;;; 5302071701 001;BIENES Y SERVICIOS DE CONSUMO;Difusion Informacion y Publicidad; - ; 1.105,47 ; 1.105,47 ; 1.068,48 ; - ; - ; - ; 1.105,47 ; 1.105,47 ; - ;0,00%;;;;;;;;;;;; 5302081701 001;BIENES Y SERVICIOS DE CONSUMO;Servicio de Seguridad y Vigilancia; 683.667,42 ; -134.458,43 ; 549.208,99 ; 1.453,60 ; 439.890,74 ; 125.149,79 ; 16.947,65 ; 109.318,25 ; 424.059,20 ; 108.202,14 ;22,79%;;;;;;;;;;;; 5302091701 001;BIENES Y SERVICIOS DE CONSUMO;Servicios de Aseo Lavado de Vestimenta de Trabajo Fumigacion Desinfeccion Limpieza de Instalaciones manejo de desechos contaminados recuperacion y clasificacion de materiales reciclables; 265.532,58 ; 7.178,53 ; 272.711,11 ; 203.041,58 ; 69.647,33 ; 69.647,33 ; 9.891,95 ; 203.063,78 ; 203.063,78 ; 59.755,38 ;25,54%;;;;;;;;;;;; 5302211701 001;BIENES Y SERVICIOS DE CONSUMO;Servicios Personales Eventuales sin Relacion de Dependencia; 973.618,52 ; 305.173,50 ; 1.278.792,02 ; 783.168,11 ; 486.077,78 ; 484.943,88 ; 482.994,95 ; 792.714,24 ; 793.848,14 ; 1.948,93 ;37,92%;;;;;;;;;;;; 5302281701 001;BIENES Y SERVICIOS DE CONSUMO;Servicios de Provision de Dispositivos Electronicos y Certificacion para Registro de Firmas Digitales; - ; 51,21 ; 51,21 ; - ; - ; - ; - ; 51,21 ; 51,21 ; - ;0,00%;;;;;;;;;;;; 5302431701 001;BIENES Y SERVICIOS DE CONSUMO;Garantia Extendida de Bienes; - ; 68,00 ; 68,00 ; - ; - ; - ; - ; 68,00 ; 68,00 ; - ;0,00%;;;;;;;;;;;; 5302441701 001;BIENES Y SERVICIOS DE CONSUMO;Servicio de Confeccion de Menaje de Hogar y/o Prendas de Proteccion; 151,20 ; - ; 151,20 ; - ; - ; - ; - ; 151,20 ; 151,20 ; - ;0,00%;;;;;;;;;;;; 5302481701 001;BIENES Y SERVICIOS DE CONSUMO;Eventos Oficiales; 1.685,60 ; 545,15 ; 2.230,75 ; 1.730,75 ; - ; - ; - ; 2.230,75 ; 2.230,75 ; - ;0,00%;;;;;;;;;;;; 5302551701 001;BIENES Y SERVICIOS DE CONSUMO;Combustibles; 1,00 ; 17.969,64 ; 17.970,64 ; 2.702,30 ; 15.267,66 ; 15.267,66 ; 15.267,66 ; 2.702,98 ; 2.702,98 ; - ;84,96%;;;;;;;;;;;; 5303011701 001;BIENES Y SERVICIOS DE CONSUMO;Pasajes al Interior; 6.301,00 ; 27.499,00 ; 33.800,00 ; 200,00 ; 21.514,67 ; 21.514,67 ; 21.514,67 ; 12.285,33 ; 12.285,33 ; - ;63,65%;;;;;;;;;;;; 5303021701 001;BIENES Y SERVICIOS DE CONSUMO;Pasajes al Exterior; 1,00 ; 11.200,00 ; 11.201,00 ; - ; - ; - ; - ; 11.201,00 ; 11.201,00 ; - ;0,00%;;;;;;;;;;;; 5303031701 001;BIENES Y SERVICIOS DE CONSUMO;Viaticos y Subsistencias en el Interior; 9.200,00 ; 37.380,00 ; 46.580,00 ; 30.467,15 ; 12.527,25 ; 12.527,25 ; 12.218,51 ; 34.052,75 ; 34.052,75 ; 308,74 ;26,89%;;;;;;;;;;;; 5303041701 001;BIENES Y SERVICIOS DE CONSUMO;Viaticos y Subsistencias en el Exterior; - ; 3.770,55 ; 3.770,55 ; - ; 3.770,55 ; 3.770,55 ; 3.770,55 ; - ; - ; - ;100,00%;;;;;;;;;;;; 5303061701 001;BIENES Y SERVICIOS DE CONSUMO;Viaticos por Gastos de Residencia; 7.788,00 ; 708,00 ; 8.496,00 ; - ; 3.540,00 ; 3.540,00 ; 2.832,00 ; 4.956,00 ; 4.956,00 ; 708,00 ;41,67%;;;;;;;;;;;; 5304021701 001;BIENES Y SERVICIOS DE CONSUMO;Edificios Locales Residencias y Cableado Estructurado (Instalacion Mantenimiento y Reparacion); 12.873,28 ; -4.599,28 ; 8.274,00 ; 3.001,10 ; 806,40 ; 806,40 ; 806,40 ; 7.467,60 ; 7.467,60 ; - ;9,75%;;;;;;;;;;;; 5304041701 001;BIENES Y SERVICIOS DE CONSUMO;Maquinarias y Equipos (Instalacion Mantenimiento y Reparacion); 29.947,11 ; 26.785,33 ; 56.732,44 ; 28.426,20 ; 12.448,80 ; 12.448,80 ; 12.448,80 ; 44.283,64 ; 44.283,64 ; - ;21,94%;;;;;;;;;;;; 5304051701 001;BIENES Y SERVICIOS DE CONSUMO;Vehiculos (Servicio para Mantenimiento y Reparacion); 3.840,53 ; 90.613,60 ; 94.454,13 ; 87.397,13 ; 7.056,00 ; 7.056,00 ; 7.056,00 ; 87.398,13 ; 87.398,13 ; - ;7,47%;;;;;;;;;;;; 5305021701 001;BIENES Y SERVICIOS DE CONSUMO;Edificios Locales y Residencias Parqueaderos Casilleros Judiciales y Bancarios (Arrendamiento); 308.715,53 ; -43.853,57 ; 264.861,96 ; 87.581,57 ; 130.919,22 ; 130.919,22 ; 97.668,08 ; 133.942,74 ; 133.942,74 ; 33.251,14 ;49,43%;;;;;;;;;;;; 5306041701 001;BIENES Y SERVICIOS DE CONSUMO;Fiscalizacion e Inspecciones Tecnicas; - ; 6.055,00 ; 6.055,00 ; 5.515,50 ; 539,50 ; 539,50 ; 539,50 ; 5.515,50 ; 5.515,50 ; - ;8,91%;;;;;;;;;;;; 5307011701 001;BIENES Y SERVICIOS DE CONSUMO;Desarrollo Actualizacion Asistencia Tecnica y Soporte de Sistemas Informaticos; 28.489,74 ; -4.546,03 ; 23.943,71 ; - ; - ; - ; - ; 23.943,71 ; 23.943,71 ; - ;0,00%;;;;;;;;;;;; 5307021701 001;BIENES Y SERVICIOS DE CONSUMO;Arrendamiento y Licencias de Uso de Paquetes Informaticos; 359.137,29 ; -182.835,72 ; 176.301,57 ; 66.434,18 ; 3.279,50 ; 3.279,50 ; 427,76 ; 173.022,07 ; 173.022,07 ; 2.851,74 ;1,86%;;;;;;;;;;;; 5307041701 001;BIENES Y SERVICIOS DE CONSUMO;Mantenimiento y Reparacion de Equipos y Sistemas Informaticos; 218.211,87 ; - ; 218.211,87 ; 21.250,62 ; - ; - ; - ; 218.211,87 ; 218.211,87 ; - ;0,00%;;;;;;;;;;;; 5308011701 001;BIENES Y SERVICIOS DE CONSUMO;Alimentos y Bebidas; 1.426,50 ; 4,84 ; 1.431,34 ; - ; 1.431,34 ; 1.431,34 ; 227,74 ; - ; - ; 1.203,60 ;100,00%;;;;;;;;;;;; 5308021701 001;BIENES Y SERVICIOS DE CONSUMO;Vestuario Lenceria Prendas de Proteccion Insumos y Accesorios para uniformes del personal de Proteccion Vigilancia y Seguridad; 4.080,29 ; - ; 4.080,29 ; - ; - ; - ; - ; 4.080,29 ; 4.080,29 ; - ;0,00%;;;;;;;;;;;; 5308041701 001;BIENES Y SERVICIOS DE CONSUMO;Materiales de Oficina; 9.215,32 ; 11.828,23 ; 21.043,55 ; 20.009,80 ; 100,00 ; 100,00 ; 100,00 ; 20.943,55 ; 20.943,55 ; - ;0,48%;;;;;;;;;;;; 5308051701 001;BIENES Y SERVICIOS DE CONSUMO;Materiales de Aseo; 242,98 ; -187,78 ; 55,20 ; 55,20 ; - ; - ; - ; 55,20 ; 55,20 ; - ;0,00%;;;;;;;;;;;; 5308071701 001;BIENES Y SERVICIOS DE CONSUMO;Materiales de Impresion Fotografia Reproduccion y Publicaciones; 68.005,95 ; 840,36 ; 68.846,31 ; 68.846,31 ; - ; - ; - ; 68.846,31 ; 68.846,31 ; - ;0,00%;;;;;;;;;;;; 5308091701 001;BIENES Y SERVICIOS DE CONSUMO;Medicamentos; 1.207,52 ; - ; 1.207,52 ; - ; - ; - ; - ; 1.207,52 ; 1.207,52 ; - ;0,00%;;;;;;;;;;;; 5308101701 001;BIENES Y SERVICIOS DE CONSUMO;Dispositivos Medicos para Laboratorio Clinico y de Patologia; - ; 2.872,24 ; 2.872,24 ; 2.872,24 ; - ; - ; - ; 2.872,24 ; 2.872,24 ; - ;0,00%;;;;;;;;;;;; 5308111701 001;BIENES Y SERVICIOS DE CONSUMO;Insumos Materiales y Suministros para Construccion Electricidad Plomeria Carpinteria Senalizacion Vial Navegacion Contra Incendios y placas; 34.829,56 ; 549,70 ; 35.379,26 ; 1.069,50 ; - ; - ; - ; 35.379,26 ; 35.379,26 ; - ;0,00%;;;;;;;;;;;; 5308131701 001;BIENES Y SERVICIOS DE CONSUMO;Repuestos y Accesorios; 18.064,95 ; 1.172,94 ; 19.237,89 ; 1.817,00 ; 12.883,06 ; 12.883,06 ; 1.680,40 ; 6.354,83 ; 6.354,83 ; 11.202,66 ;66,97%;;;;;;;;;;;; 5308191701 001;BIENES Y SERVICIOS DE CONSUMO;Accesorios e Insumos Quimicos y Organicos; - ; 31,05 ; 31,05 ; 31,05 ; - ; - ; - ; 31,05 ; 31,05 ; - ;0,00%;;;;;;;;;;;; 5308201701 001;BIENES Y SERVICIOS DE CONSUMO;Menaje y Accesorios Descartables; 124,00 ; -10,49 ; 113,51 ; 0,01 ; 113,50 ; 113,50 ; 14,80 ; 0,01 ; 0,01 ; 98,70 ;99,99%;;;;;;;;;;;; 5308261701 001;BIENES Y SERVICIOS DE CONSUMO;Dispositivos Medicos de Uso General; - ; 727,70 ; 727,70 ; 727,70 ; - ; - ; - ; 727,70 ; 727,70 ; - ;0,00%;;;;;;;;;;;; 5308321701 001;BIENES Y SERVICIOS DE CONSUMO;Dispositivos Medicos para Odontologia; - ; 2.201,42 ; 2.201,42 ; 2.201,42 ; - ; - ; - ; 2.201,42 ; 2.201,42 ; - ;0,00%;;;;;;;;;;;; 5314031701 001;BIENES Y SERVICIOS DE CONSUMO;Mobiliario; 12.447,82 ; 2.674,89 ; 15.122,71 ; 8.742,30 ; 6.325,00 ; 6.325,00 ; 825,00 ; 8.797,71 ; 8.797,71 ; 5.500,00 ;41,82%;;;;;;;;;;;; 5314041701 001;BIENES Y SERVICIOS DE CONSUMO;Maquinarias y Equipos; 6.445,60 ; -6.445,60 ; - ; - ; - ; - ; - ; - ; - ; - ;0,00%;;;;;;;;;;;; 5314061701 001;BIENES Y SERVICIOS DE CONSUMO;Herramientas y Equipos Menores; 302,40 ; -302,40 ; - ; - ; - ; - ; - ; - ; - ; - ;0,00%;;;;;;;;;;;; 5314081701 001;BIENES Y SERVICIOS DE CONSUMO;Bienes Artisticos Culturales Deportivos y Simbolos Patrios; 1.012,84 ; -1.012,84 ; - ; - ; - ; - ; - ; - ; - ; - ;0,00%;;;;;;;;;;;; 5314111701 001;BIENES Y SERVICIOS DE CONSUMO;Partes y Repuestos; 2.956,80 ; -2.956,80 ; - ; - ; - ; - ; - ; - ; - ; - ;0,00%;;;;;;;;;;;; 5701021701 001;OTROS EGRESOS CORRIENTES;Tasas Generales Impuestos Contribuciones Permisos Licencias y Patentes; 9.535,08 ; -150,20 ; 9.384,88 ; 2.168,56 ; 6.916,32 ; 6.916,32 ; 6.916,32 ; 2.468,56 ; 2.468,56 ; - ;73,70%;;;;;;;;;;;; 5702011701 001;OTROS EGRESOS CORRIENTES;Seguros; 155.173,40 ; 10.300,00 ; 165.473,40 ; 147.358,14 ; 1.869,28 ; 1.869,28 ; 1.869,28 ; 163.604,12 ; 163.604,12 ; - ;1,13%;;;;;;;;;;;; 5702031701 001;OTROS EGRESOS CORRIENTES;Comisiones Bancarias; 5.695,20 ; -98,16 ; 5.597,04 ; 4.342,28 ; 853,37 ; 853,37 ; 853,37 ; 4.743,67 ; 4.743,67 ; - ;15,25%;;;;;;;;;;;; 5702061701 001;OTROS EGRESOS CORRIENTES;Costas Judiciales Tramites Notariales Legalizacion de Documentos y Arreglos Extrajudiciales; 10.300,00 ; -9.196,00 ; 1.104,00 ; 1.068,48 ; - ; - ; - ; 1.104,00 ; 1.104,00 ; - ;0,00%;;;;;;;;;;;; 5702161701 001;OTROS EGRESOS CORRIENTES;Obligaciones con el IESS por Responsabilidad Patronal; - ; 6.732,80 ; 6.732,80 ; - ; 6.732,80 ; 6.732,80 ; 6.732,80 ; - ; - ; - ;100,00%;;;;;;;;;;;; 5703011701 001;OTROS EGRESOS CORRIENTES;Dietas; - ; 608,07 ; 608,07 ; 364,85 ; 243,22 ; 243,22 ; 243,22 ; 364,85 ; 364,85 ; - ;40,00%;;;;;;;;;;;; 5801061700 001;TRANSFERENCIAS O DONACIONES CORRIENTES;A Entidades Financieras Publicas; 4.002,16 ; - ; 4.002,16 ; - ; 374,01 ; 374,01 ; 374,01 ; 3.628,15 ; 3.628,15 ; - ;9,35%;;;;;;;;;;;; 5801081700 001;TRANSFERENCIAS O DONACIONES CORRIENTES;A Cuentas o Fondos Especiales ; - ; - ; - ; - ; - ; - ; - ; - ; - ; - ;0,00%;;;;;;;;;;;; 5801081701 001;TRANSFERENCIAS O DONACIONES CORRIENTES;A Cuentas o Fondos Especiales ; 4.301.189,86 ; -89.600,00 ; 4.211.589,86 ; - ; 656.553,93 ; 656.553,93 ; 656.553,93 ; 3.555.035,93 ; 3.555.035,93 ; - ;15,59%;;;;;;;;;;;; 5802091701 001;TRANSFERENCIAS O DONACIONES CORRIENTES;A Jubilados Patronales; 67.485,62 ; -1.376,77 ; 66.108,85 ; - ; 23.013,70 ; 23.013,70 ; 18.410,96 ; 43.095,15 ; 43.095,15 ; 4.602,74 ;34,81%;;;;;;;;;;;; 8401031701 001;EGRESOS DE CAPITAL;Mobiliarios; - ; 966,00 ; 966,00 ; 23,00 ; 943,00 ; 943,00 ; 123,00 ; 23,00 ; 23,00 ; 820,00 ;97,62%;;;;;;;;;;;; 9901011700 001;OTROS PASIVOS;Obligaciones de Ejercicios Anteriores por Egresos de Personal; - ; 21.704,02 ; 21.704,02 ; - ; - ; - ; - ; 21.704,02 ; 21.704,02 ; - ;0,00%;;;;;;;;;;;; 9901021701 001;OTROS PASIVOS;Obligaciones de Ejercicios Anteriores por Egresos en Servicios; - ; 121.645,50 ; 121.645,50 ; 1.259,01 ; 117.809,76 ; 117.809,76 ; 46.758,10 ; 3.835,74 ; 3.835,74 ; 71.051,66 ;96,85%;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;