{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/area/area.component.css","webpack:///./src/app/area/area.component.html","webpack:///./src/app/area/area.component.ts","webpack:///./src/app/calculation.service.ts","webpack:///./src/app/color/color.component.css","webpack:///./src/app/color/color.component.html","webpack:///./src/app/color/color.component.ts","webpack:///./src/app/currency/currency.component.css","webpack:///./src/app/currency/currency.component.html","webpack:///./src/app/currency/currency.component.ts","webpack:///./src/app/distance/distance.component.css","webpack:///./src/app/distance/distance.component.html","webpack:///./src/app/distance/distance.component.ts","webpack:///./src/app/menu/menu.component.css","webpack:///./src/app/menu/menu.component.html","webpack:///./src/app/menu/menu.component.ts","webpack:///./src/app/speed/speed.component.css","webpack:///./src/app/speed/speed.component.html","webpack:///./src/app/speed/speed.component.ts","webpack:///./src/app/temperature/temperature.component.css","webpack:///./src/app/temperature/temperature.component.html","webpack:///./src/app/temperature/temperature.component.ts","webpack:///./src/app/weight/weight.component.css","webpack:///./src/app/weight/weight.component.html","webpack:///./src/app/weight/weight.component.ts","webpack:///./src/app/welcome/welcome.component.css","webpack:///./src/app/welcome/welcome.component.html","webpack:///./src/app/welcome/welcome.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZyC;AACc;AACQ;AACG;AACT;AACG;AACe;AACrB;AACG;AACS;AAElE,IAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,2EAAgB;KAE9B;IACD;QACI,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,8EAAiB;KAC/B;IACD;QACI,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,qEAAc;KAC9B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,wEAAe;KAC3B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,uFAAoB;KAChC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,kEAAa;KACzB;IACD;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,qEAAc;KAC1B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,8EAAiB;KAC7B;CAAC,CAAC;AAML;IAAA;IAAgC,CAAC;IAApB,gBAAgB;QAJ5B,8DAAQ,CAAC;YACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,4DAAY,CAAC;SACxB,CAAC;OACW,gBAAgB,CAAI;IAAD,uBAAC;CAAA;AAAJ;;;;;;;;;;;;AClD7B,+DAA+D,+H;;;;;;;;;;;ACA/D,6J;;;;;;;;;;;;;;;;;;;;;ACA0C;AAQ1C;IALA;QAME,UAAK,GAAG,WAAW,CAAC;IACtB,CAAC;IAFY,YAAY;QALxB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;;;SAGrB,CAAC;OACW,YAAY,CAExB;IAAD,mBAAC;CAAA;AAFwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRiC;AACjB;AACI;AACW;AACA;AACT;AACO;AACY;AACT;AACM;AACH;AACe;AACrB;AACG;AACS;AAwBlE;IAAA;IAAyB,CAAC;IAAb,SAAS;QAtBrB,8DAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,2DAAY;gBACZ,kEAAa;gBACb,8EAAiB;gBACjB,qEAAc;gBACd,2EAAgB;gBAChB,yEAAe;gBACf,wFAAoB;gBACpB,mEAAa;gBACb,sEAAc;gBACd,+EAAiB;aAClB;YACD,OAAO,EAAE;gBACP,uEAAa;gBACb,0DAAW;gBACX,oEAAgB;gBAChB,qEAAgB;aACjB;YACD,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,2DAAY,CAAC;SAC1B,CAAC;OACW,SAAS,CAAI;IAAD,gBAAC;CAAA;AAAJ;;;;;;;;;;;;ACtCtB,+DAA+D,uI;;;;;;;;;;;ACA/D,yRAAyR,kBAAkB,oCAAoC,wPAAwP,YAAY,0EAA0E,WAAW,gBAAgB,6EAA6E,YAAY,iBAAiB,4CAA4C,sDAAsD,kMAAkM,UAAU,wFAAwF,4CAA4C,2BAA2B,SAAS,GAAG,UAAU,QAAQ,OAAO,GAAG,QAAQ,+DAA+D,mIAAmI,MAAM,sIAAsI,uBAAuB,cAAc,oCAAoC,iBAAiB,eAAe,YAAY,GAAG,UAAU,gCAAgC,gBAAgB,WAAW,MAAM,gCAAgC,GAAG,QAAQ,gD;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9xD;AAGZ;AAEW;AAQ5D;IAsBE,uBAAoB,KAAqB,EAAU,kBAAsC;QAArE,UAAK,GAAL,KAAK,CAAgB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QATzF,YAAO,GAAG,EAAE,CAAC;QACb,UAAK,GAAG,EAAE,CAAC;QAEX,SAAI,GAAG,CAAC,CAAC;IAMoF,CAAC;IAjB9F,sBAAI,mCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACnG,CAAC;;;OAAA;IAED,sBAAI,iCAAM;aAAV;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACjG,CAAC;;;OAAA;IAaD,gCAAQ,GAAR;QAAA,iBAwBC;QAvBC,qBAAqB;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YAChD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,mmEAAmmE,CAAC;QACrnE,IAAI,QAAQ,GAAG,mmEAAmmE,CAAC;QAEnnE,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAEhD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1J,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,4CAAoB,GAApB,UAAqB,KAAY;QAC/B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAA0C,EAA1C,SAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAA1C,cAA0C,EAA1C,IAA0C,EAAE;YAAxD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,0CAAkB,GAAlB,UAAmB,KAAY;QAC7B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAAwC,EAAxC,SAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAxC,cAAwC,EAAxC,IAAwC,EAAE;YAAtD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,uCAAe,GAAf,UAAgB,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,qCAAa,GAAb,UAAc,CAAC;IACf,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IA/FU,aAAa;QANzB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;;;SAGrB,CAAC;yCAwB2B,8DAAc,EAA8B,uEAAkB;OAtB9E,aAAa,CAgGzB;IAAD,oBAAC;CAAA;AAhGyB;;;;;;;;;;;;;;;;;;;;;;;;;ACbiB;AAM3C;IASE;IAEA,CAAC;IAEM,iCAAI,GAAX,UAAY,UAAkB,EAAE,QAAgB,EAAE,WAAmB,EAAE,SAAiB;QACtF,IAAI,CAAC,kBAAkB,GAA0B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAEvE,IAAI,CAAC,gBAAgB,GAA0B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEpE,IAAI,WAAW,KAAK,SAAS,EAAE;YAE7B,KAAiB,UAAuB,EAAvB,SAAI,CAAC,kBAAkB,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;gBAArC,IAAI,IAAI;gBACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;YACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,IAAI,KAAK,WAAW,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErF,iDAAiD;SAElD;QAED,IAAI,SAAS,KAAK,SAAS,EAAE;YAE3B,KAAiB,UAAqB,EAArB,SAAI,CAAC,gBAAgB,EAArB,cAAqB,EAArB,IAAqB,EAAE;gBAAnC,IAAI,IAAI;gBACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;YACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,IAAI,KAAK,SAAS,EAAvB,CAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAEjF,iDAAiD;SAElD;IAEH,CAAC;IAEM,sCAAS,GAAhB,UAAiB,KAAa;QAC5B,gCAAgC;QAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,EAAvB,CAAuB,CAAC,CAAC;QACrE,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACjC,WAAW,GAAG,IAAI,CAAC;gBACnB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtG,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;aACnH;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;YACpC,IAAI,WAAW,EAAE;gBACf,qBAAqB;gBACrB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACzB,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBACxC;qBACI,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9B,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBACxC;qBACI,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9B,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBACxC;qBACI,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9B,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBACxC;gBAED,sBAAsB;gBACtB,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC/B,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;iBAC1B;qBACI,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpC,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;iBAC1B;qBACI,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpC,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;iBAC1B;qBACI,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpC,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;iBAC1B;gBAED,yCAAyC;gBACzC,2BAA2B;aAC5B;iBACI;gBACH,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;aAExC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxB;QACD,wCAAwC;IAC1C,CAAC;IAEM,wCAAW,GAAlB;QAEE,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAG5E,KAAiB,UAAuB,EAAvB,SAAI,CAAC,kBAAkB,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;YAArC,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAGrF,KAAiB,UAAqB,EAArB,SAAI,CAAC,gBAAgB,EAArB,cAAqB,EAArB,IAAqB,EAAE;YAAnC,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAA3B,CAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvF,CAAC;IAzHU,kBAAkB;QAH9B,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;;OACW,kBAAkB,CA4H9B;IAAD,yBAAC;CAAA;AA5H8B;;;;;;;;;;;;ACN/B,gCAAgC,kBAAkB,KAAK,4BAA4B,+BAA+B,wBAAwB,oBAAoB,+BAA+B,2BAA2B,OAAO,2BAA2B,kBAAkB,oCAAoC,8BAA8B,6BAA6B,oBAAoB,OAAO,2BAA2B,8BAA8B,qBAAqB,0BAA0B,kBAAkB,OAAO,qCAAqC,yBAAyB,2BAA2B,OAAO,8CAA8C,mBAAmB,oBAAoB,OAAO,mDAAmD,++C;;;;;;;;;;;ACAtvB,+VAA+V,qIAAqI,aAAa,yNAAyN,aAAa,yNAAyN,aAAa,4NAA4N,cAAc,4NAA4N,uBAAuB,cAAc,iDAAiD,WAAW,kBAAkB,uEAAuE,uCAAuC,WAAW,KAAK,mCAAmC,uCAAuC,WAAW,KAAK,mCAAmC,uCAAuC,WAAW,KAAK,mCAAmC,sHAAsH,uBAAuB,cAAc,iDAAiD,WAAW,kBAAkB,8EAA8E,uCAAuC,WAAW,KAAK,0CAA0C,uCAAuC,WAAW,KAAK,0CAA0C,uCAAuC,WAAW,KAAK,0CAA0C,qHAAqH,uBAAuB,cAAc,iDAAiD,WAAW,kBAAkB,6EAA6E,uCAAuC,WAAW,KAAK,yCAAyC,uCAAuC,WAAW,KAAK,yCAAyC,uCAAuC,WAAW,KAAK,yCAAyC,uD;;;;;;;;;;;;;;;;;;;;;;;;;ACAx8F;AAElD;IAIE,oBAAY,SAAS,EAAE,GAAG;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IACH,iBAAC;AAAD,CAAC;;AAOD;IAgBE;QAdA,eAAU,GAAG,SAAS,CAAC;QACvB,qBAAgB,GAAG,SAAS,CAAC;QAC7B,gBAAW,GAAG,EAAE,CAAC;QACjB,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QACd,gBAAW,GAAG,EAAE,CAAC;QACjB,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAG,EAAE,CAAC;QAClB,aAAQ,GAAG,EAAE;QACb,YAAO,GAAG,EAAE;QACZ,gBAAW,GAAG,EAAE;IAGA,CAAC;IAEjB,iCAAQ,GAAR;QAEE,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrI,IAAI,WAAW,GAAG,+uQAqJpB,CAAC;QAEC,IAAI,CAAC,WAAW,GAAsB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE9D,uCAAuC;QAEvC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,0CAAiB,GAAjB,UAAkB,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,gDAAuB,GAAvB,UAAwB,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,qCAAY,GAAZ,UAAa,UAAU,EAAE,IAAI,EAAE,KAAK;QAElC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;YAE1B,SAAS;YACT,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAEhF,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACZ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;YACrE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;YACrE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;YACrE,IAAI,IAAI,IAAI,KAAK,EAAE;gBAAE,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;aAAE;YACvC,IAAI,IAAI,IAAI,WAAW,EAAE;gBAAE,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;aAAE;YAC7C,IAAI,IAAI,IAAI,YAAY,EAAE;gBAAE,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;aAAE;YAI9C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,IAAI,UAAU,IAAI,KAAK,EAAE;gBACvB,OAAO,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aAE3E;YACD,IAAI,UAAU,IAAI,KAAK,EAAE;gBACvB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aAC/L;YACD,IAAI,UAAU,IAAI,KAAK,EAAE;gBACvB,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAEhF,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7D;SACF;aACI;YACH,OAAO,KAAK,GAAG,CAAC,CAAC;SAElB;QACD,EAAE;IACJ,CAAC;IAED,0CAAiB,GAAjB;QAAA,iBAwEC;QAvEC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAE/D,MAAM;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,EAChE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,EAChE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CACjE,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAErG,MAAM;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvF,MAAM;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YAEnC,OAAO;YACP,IAAI,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,GAAG,IAAI,KAAI,CAAC,WAAW,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC;SAElD;QAAA,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YAEnC,MAAM;YACN,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;YAE7E,MAAM;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAEzN,OAAO;YACP,IAAI,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,GAAG,IAAI,KAAI,CAAC,WAAW,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC;SAClD;QAAA,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAE/D,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACZ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAE/D,MAAM;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAErG,MAAM;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAEzN,MAAM;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YAEnC,OAAO;YACP,IAAI,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,GAAG,IAAI,KAAI,CAAC,WAAW,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC;SAClD;QAAA,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC3C,CAAC;IAID;;;;;;;;;;OAUG;IACH,iCAAQ,GAAR,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACd,mDAAmD;QAEnD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEZ,IAAI,CAAC,IAAI,CAAC,EAAE;YACV,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;SAC7B;aAAM;YACL,IAAI,OAAO,GAAG,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC;oBAAE,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC;oBAAE,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,CAAC,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;OAUG;IACH,iCAAQ,GAAR,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACd,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC;QAE7B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,GAAG,IAAI,GAAG,EAAE;YACd,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;SACzB;aAAM;YACL,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;YAClB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAEpD,QAAQ,GAAG,EAAE;gBACX,KAAK,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM;gBACjD,KAAK,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAAC,MAAM;gBACnC,KAAK,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAAC,MAAM;aACpC;YAED,CAAC,IAAI,CAAC,CAAC;SACR;QAED,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,uCAAc,GAAd,UAAe,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,CAAC;IAED,iCAAQ,GAAR,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,iCAAQ,GAAR,UAAS,GAAG;QACV,IAAI,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,CAAC,CAAC;YACd,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC3B,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,wCAAe,GAAf,UAAgB,GAAW;QACzB,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QAC3B,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;IA3ZU,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;;;SAGtB,CAAC;;OACW,cAAc,CA6Z1B;IAAD,qBAAC;CAAA;AA7Z0B;;;;;;;;;;;;ACjB3B,+DAA+D,mJ;;;;;;;;;;;ACA/D,uFAAuF,kBAAkB,oCAAoC,oPAAoP,YAAY,kNAAkN,WAAW,gBAAgB,6EAA6E,YAAY,iBAAiB,4CAA4C,sDAAsD,8LAA8L,UAAU,sNAAsN,kB;;;;;;;;;;;;;;;;;;;;;;;;;;ACAtqC;AACZ;AAElD;IAKE,kBAAY,IAAY,EAAE,IAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACH,eAAC;AAAD,CAAC;;AASD;IASE,2BAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QANpC,YAAO,GAAG,GAAG,CAAC;QACd,UAAK,GAAG,CAAC,CAAC;IAK8B,CAAC;IAEzC,oCAAQ,GAAR;QAAA,iBA8BC;QA7BC,IAAI,CAAC,cAAc,GAAG,KAAK,EAAY,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,KAAK,EAAY,CAAC;QAEtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,6EAA6E,CAAC;aACzF,SAAS,CAAC,UAAC,GAAa;YACvB,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAEhB,wCAAwC;YAExC,iCAAiC;YAEjC,KAAK,IAAI,GAAG,IAAI,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC/B,IAAI,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9E,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7E;aACF;YAED,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,KAAK,KAAK,EAAhB,CAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrE,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,KAAK,KAAK,EAAhB,CAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAEnE,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;YAE1C,qEAAqE;YACrE,mEAAmE;YAGnE,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gDAAoB,GAApB,UAAqB,KAAY;QAC/B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAqB,UAAmB,EAAnB,SAAI,CAAC,cAAc,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;YAArC,IAAI,QAAQ;YACf,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC3B;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,8CAAkB,GAAlB,UAAmB,KAAY;QAC7B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAqB,UAAiB,EAAjB,SAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;YAAnC,IAAI,QAAQ;YACf,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC3B;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,2CAAe,GAAf,UAAgB,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,0EAA0E;QAC1E,kDAAkD;QAElD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,yCAAa,GAAb,UAAc,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAGvC,0EAA0E;QAC1E,kDAAkD;QAElD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,qCAAS,GAAT,UAAU,OAAO;QAEf,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,IAAI,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAG5E,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,IAAI,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,IAAI,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;QACrC,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;QACnC,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1C,iBAAiB;IACnB,CAAC;IAlGU,iBAAiB;QAP7B,+DAAS,CAAC;YACT,QAAQ,EAAE,cAAc;;;SAGzB,CAAC;QAED,gEAAU,EAAE;yCAUe,+DAAU;OATzB,iBAAiB,CAmG7B;IAAD,wBAAC;CAAA;AAnG6B;;;;;;;;;;;;ACrB9B,+DAA+D,mJ;;;;;;;;;;;ACA/D,6RAA6R,kBAAkB,oCAAoC,wPAAwP,YAAY,0EAA0E,WAAW,gBAAgB,6EAA6E,YAAY,iBAAiB,4CAA4C,sDAAsD,kMAAkM,UAAU,wFAAwF,4CAA4C,2BAA2B,SAAS,GAAG,UAAU,QAAQ,OAAO,GAAG,QAAQ,+DAA+D,mIAAmI,MAAM,sIAAsI,uBAAuB,cAAc,oCAAoC,iBAAiB,eAAe,YAAY,GAAG,UAAU,gCAAgC,gBAAgB,WAAW,MAAM,gCAAgC,GAAG,QAAQ,gD;;;;;;;;;;;;;;;;;;;;;;;;;;ACA7yD;AACD;AAEW;AAO5D;IAsBE,2BAAoB,KAAqB,EAAU,kBAAsC;QAArE,UAAK,GAAL,KAAK,CAAgB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QATzF,YAAO,GAAG,EAAE,CAAC;QACb,UAAK,GAAG,EAAE,CAAC;QAEX,SAAI,GAAG,CAAC,CAAC;IAMoF,CAAC;IAjB9F,sBAAI,uCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACnG,CAAC;;;OAAA;IAED,sBAAI,qCAAM;aAAV;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACjG,CAAC;;;OAAA;IAaD,oCAAQ,GAAR;QAAA,iBAuBA;QAtBE,qBAAqB;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YAChD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,6lDAA6lD,CAAC;QAC/mD,IAAI,QAAQ,GAAG,gnDAAgnD,CAAC;QAChoD,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAEhD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3J,CAAC;IACA,uCAAW,GAAX;QACE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,gDAAoB,GAApB,UAAqB,KAAY;QAC/B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAA0C,EAA1C,SAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAA1C,cAA0C,EAA1C,IAA0C,EAAE;YAAxD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,8CAAkB,GAAlB,UAAmB,KAAY;QAC7B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAAwC,EAAxC,SAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAxC,cAAwC,EAAxC,IAAwC,EAAE;YAAtD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,2CAAe,GAAf,UAAgB,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,yCAAa,GAAb,UAAc,CAAC;IACf,CAAC;IAED,uCAAW,GAAX;QACE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IA7FU,iBAAiB;QAL7B,+DAAS,CAAC;YACT,QAAQ,EAAE,cAAc;;;SAGzB,CAAC;yCAuB2B,8DAAc,EAA8B,uEAAkB;OAtB9E,iBAAiB,CA8F7B;IAAD,wBAAC;CAAA;AA9F6B;;;;;;;;;;;;ACV9B,sBAAsB,4BAA4B,SAAS,qBAAqB,wBAAwB,wBAAwB,0BAA0B,uBAAuB,OAAO,sBAAsB,uBAAuB,OAAO,gBAAgB,kBAAkB,mBAAmB,yBAAyB,yBAAyB,uBAAuB,sCAAsC,8BAA8B,kCAAkC,sBAAsB,KAAK,qBAAqB,uBAAuB,2BAA2B,oBAAoB,oBAAoB,yBAAyB,2BAA2B,mBAAmB,gBAAgB,wCAAwC,gCAAgC,qCAAqC,OAAO,wDAAwD,mBAAmB,SAAS,0DAA0D,mBAAmB,SAAS,kCAAkC,oBAAoB,SAAS,uCAAuC,iBAAiB,kBAAkB,kBAAkB,OAAO,uCAAuC,yCAAyC,iCAAiC,OAAO,uCAAuC,0CAA0C,kCAAkC,OAAO,uCAAuC,kBAAkB,kBAAkB,kBAAkB,OAAO,iBAAiB,mBAAmB,yBAAyB,oBAAoB,gCAAgC,uBAAuB,uCAAuC,iBAAiB,KAAK,uBAAuB,sBAAsB,KAAK,mCAAmC,mBAAmB,OAAO,uCAAuC,sBAAsB,OAAO,qDAAqD,+1I;;;;;;;;;;;ACAp3D,mHAAmH,WAAW,wFAAwF,WAAW,YAAY,iBAAiB,yFAAyF,kBAAkB,iBAAiB,kBAAkB,UAAU,WAAW,uEAAuE,gSAAgS,qBAAqB,mEAAmE,YAAY,sIAAsI,qBAAqB,sEAAsE,aAAa,uIAAuI,qBAAqB,oEAAoE,aAAa,qIAAqI,qBAAqB,uEAAuE,aAAa,2IAA2I,qBAAqB,4EAA4E,aAAa,yIAAyI,qBAAqB,qEAAqE,aAAa,mIAAmI,qBAAqB,6EAA6E,aAAa,uIAAuI,qBAAqB,yEAAyE,aAAa,0G;;;;;;;;;;;;;;;;;;;;;;;;ACAh9E;AAOlD;IAIE;QAFA,SAAI,GAAY,KAAK,CAAC;IAEN,CAAC;IAEjB,gCAAQ,GAAR;IACA,CAAC;IAED,kCAAU,GAAV;QACE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IACzB,CAAC;IAXU,aAAa;QALzB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;;;SAGrB,CAAC;;OACW,aAAa,CAazB;IAAD,oBAAC;CAAA;AAbyB;;;;;;;;;;;;ACP1B,+DAA+D,2I;;;;;;;;;;;ACA/D,0RAA0R,kBAAkB,oCAAoC,wPAAwP,YAAY,0EAA0E,WAAW,gBAAgB,6EAA6E,YAAY,iBAAiB,4CAA4C,sDAAsD,kMAAkM,UAAU,wFAAwF,4CAA4C,2BAA2B,SAAS,GAAG,UAAU,QAAQ,OAAO,GAAG,QAAQ,+DAA+D,mIAAmI,MAAM,sIAAsI,uBAAuB,cAAc,oCAAoC,iBAAiB,eAAe,YAAY,GAAG,UAAU,gCAAgC,gBAAgB,WAAW,MAAM,gCAAgC,GAAG,QAAQ,gD;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/xD;AAGZ;AAEW;AAO5D;IAsBE,wBAAoB,KAAqB,EAAU,kBAAsC;QAArE,UAAK,GAAL,KAAK,CAAgB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QATzF,YAAO,GAAG,EAAE,CAAC;QACb,UAAK,GAAG,EAAE,CAAC;QAEX,SAAI,GAAG,CAAC,CAAC;IAMoF,CAAC;IAjB9F,sBAAI,oCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACnG,CAAC;;;OAAA;IAED,sBAAI,kCAAM;aAAV;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACjG,CAAC;;;OAAA;IAaD,iCAAQ,GAAR;QAAA,iBAwBC;QAvBC,qBAAqB;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YAChD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,ohCAAohC,CAAC;QACtiC,IAAI,QAAQ,GAAG,o4BAAo4B,CAAC;QAEp5B,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAEhD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC;IAC9H,CAAC;IAED,oCAAW,GAAX;QACE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,6CAAoB,GAApB,UAAqB,KAAY;QAC/B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAA0C,EAA1C,SAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAA1C,cAA0C,EAA1C,IAA0C,EAAE;YAAxD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,2CAAkB,GAAlB,UAAmB,KAAY;QAC7B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAAwC,EAAxC,SAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAxC,cAAwC,EAAxC,IAAwC,EAAE;YAAtD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,wCAAe,GAAf,UAAgB,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,sCAAa,GAAb,UAAc,CAAC;IACf,CAAC;IAED,oCAAW,GAAX;QACE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IA/FU,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;;;SAGtB,CAAC;yCAuB2B,8DAAc,EAA8B,uEAAkB;OAtB9E,cAAc,CAgG1B;IAAD,qBAAC;CAAA;AAhG0B;;;;;;;;;;;;ACZ3B,+DAA+D,2J;;;;;;;;;;;ACA/D,gSAAgS,kBAAkB,oCAAoC,wPAAwP,YAAY,0EAA0E,WAAW,gBAAgB,6EAA6E,YAAY,iBAAiB,4CAA4C,sDAAsD,kMAAkM,UAAU,wFAAwF,4CAA4C,2BAA2B,SAAS,GAAG,UAAU,QAAQ,OAAO,GAAG,QAAQ,+DAA+D,uIAAuI,MAAM,6IAA6I,uBAAuB,cAAc,oCAAoC,iBAAiB,eAAe,YAAY,GAAG,UAAU,gCAAgC,gBAAgB,WAAW,MAAM,+CAA+C,GAAG,QAAQ,mD;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/zD;AAGZ;AAEW;AAQ5D;IAuBE,8BAAoB,KAAqB,EAAU,kBAAsC;QAArE,UAAK,GAAL,KAAK,CAAgB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QAVzF,YAAO,GAAG,EAAE,CAAC;QACb,UAAK,GAAG,EAAE,CAAC;QAEX,SAAI,GAAG,CAAC,CAAC;QACT,eAAU,GAAG,CAAC,CAAC;IAM8E,CAAC;IAlB9F,sBAAI,0CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACnG,CAAC;;;OAAA;IAED,sBAAI,wCAAM;aAAV;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACjG,CAAC;;;OAAA;IAcD,uCAAQ,GAAR;QAAA,iBAyBC;QAxBC,qBAAqB;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YAChD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,49BAA49B,CAAC;QAC9+B,IAAI,QAAQ,GAAG,g+BAAg+B,CAAC;QAEh/B,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;SAC1B;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;QAE5D,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7J,CAAC;IAED,0CAAW,GAAX;QACE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,mDAAoB,GAApB,UAAqB,KAAY;QAC/B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAA0C,EAA1C,SAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAA1C,cAA0C,EAA1C,IAA0C,EAAE;YAAxD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;IAC9D,CAAC;IAED,iDAAkB,GAAlB,UAAmB,KAAY;QAC7B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAAwC,EAAxC,SAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAxC,cAAwC,EAAxC,IAAwC,EAAE;YAAtD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;IAC9D,CAAC;IAED,8CAAe,GAAf,UAAgB,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;IAE9D,CAAC;IAED,4CAAa,GAAb,UAAc,CAAC;IACf,CAAC;IAED,0CAAW,GAAX;QACE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IArGU,oBAAoB;QANhC,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;;;SAG5B,CAAC;yCAyB2B,8DAAc,EAA8B,uEAAkB;OAvB9E,oBAAoB,CAsGhC;IAAD,2BAAC;CAAA;AAtGgC;;;;;;;;;;;;ACbjC,+DAA+D,2I;;;;;;;;;;;ACA/D,2RAA2R,kBAAkB,oCAAoC,wPAAwP,YAAY,0EAA0E,WAAW,gBAAgB,6EAA6E,YAAY,iBAAiB,4CAA4C,sDAAsD,kMAAkM,UAAU,wFAAwF,4CAA4C,2BAA2B,SAAS,GAAG,UAAU,QAAQ,OAAO,GAAG,QAAQ,+DAA+D,mIAAmI,MAAM,sIAAsI,uBAAuB,cAAc,oCAAoC,iBAAiB,eAAe,YAAY,GAAG,UAAU,gCAAgC,gBAAgB,WAAW,MAAM,gCAAgC,GAAG,QAAQ,gD;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhyD;AAGZ;AAEW;AAO5D;IAsBE,yBAAoB,KAAqB,EAAU,kBAAsC;QAArE,UAAK,GAAL,KAAK,CAAgB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QATzF,YAAO,GAAG,EAAE,CAAC;QACb,UAAK,GAAG,EAAE,CAAC;QAEX,SAAI,GAAG,CAAC,CAAC;IAMoF,CAAC;IAjB9F,sBAAI,qCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACnG,CAAC;;;OAAA;IAED,sBAAI,mCAAM;aAAV;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAA,CAAC;QACjG,CAAC;;;OAAA;IAaD,kCAAQ,GAAR;QAAA,iBAwBC;QAvBC,qBAAqB;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YAChD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,qyBAAqyB,CAAC;QACvzB,IAAI,QAAQ,GAAG,qyBAAqyB,CAAC;QAErzB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACnB;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAEhD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1J,CAAC;IAED,qCAAW,GAAX;QACE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,8CAAoB,GAApB,UAAqB,KAAY;QAC/B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAA0C,EAA1C,SAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAA1C,cAA0C,EAA1C,IAA0C,EAAE;YAAxD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,4CAAkB,GAAlB,UAAmB,KAAY;QAC7B,IAAM,KAAK,GAAW,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1D,qBAAqB;QACrB,KAAiB,UAAwC,EAAxC,SAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAxC,cAAwC,EAAxC,IAAwC,EAAE;YAAtD,IAAI,IAAI;YACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,yCAAe,GAAf,UAAgB,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,uCAAa,GAAb,UAAc,CAAC;IACf,CAAC;IAED,qCAAW,GAAX;QACE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAClD,CAAC;IA/FU,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;;;SAGvB,CAAC;yCAuB2B,8DAAc,EAA8B,uEAAkB;OAtB9E,eAAe,CAgG3B;IAAD,sBAAC;CAAA;AAhG2B;;;;;;;;;;;;ACZ5B,+DAA+D,+I;;;;;;;;;;;ACA/D,oJAAoJ,eAAe,mEAAmE,WAAW,mEAAmE,YAAY,gGAAgG,gEAAgE,WAAW,iEAAiE,YAAY,6FAA6F,iEAAiE,WAAW,iEAAiE,YAAY,8FAA8F,sEAAsE,WAAW,sEAAsE,YAAY,mGAAmG,+DAA+D,WAAW,+DAA+D,YAAY,4FAA4F,gEAAgE,WAAW,uEAAuE,YAAY,6FAA6F,mEAAmE,WAAW,mEAAmE,YAAY,sF;;;;;;;;;;;;;;;;;;;;;;;;ACAxuD;AAOnD;IAEE;IAAgB,CAAC;IAEjB,mCAAQ,GAAR;IACA,CAAC;IALU,gBAAgB;QAL5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;;;SAGxB,CAAC;;OACW,gBAAgB,CAQ5B;IAAD,uBAAC;CAAA;AAR4B;;;;;;;;;;;;;ACP7B;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;ACfnE;AAAA;AAAA;AAAA;AAAA;AAA+C;AAC4B;AAE9B;AACY;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,gGAAsB,EAAE,CAAC,eAAe,CAAC,yDAAS,CAAC;KAChD,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { WelcomeComponent } from './welcome/welcome.component';\r\nimport { DistanceComponent } from './distance/distance.component';\r\nimport { SpeedComponent } from './speed/speed.component';\r\nimport { WeightComponent } from './weight/weight.component';\r\nimport { TemperatureComponent } from './temperature/temperature.component';\r\nimport { AreaComponent } from './area/area.component';\r\nimport { ColorComponent } from './color/color.component';\r\nimport { CurrencyComponent } from './currency/currency.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: WelcomeComponent\r\n\r\n },\r\n {\r\n path: 'distance',\r\n component: DistanceComponent\r\n },\r\n {\r\n path: 'speed',\r\n component: SpeedComponent\r\n },\r\n {\r\n path: 'weight',\r\n component: WeightComponent\r\n },\r\n {\r\n path: 'temperature',\r\n component: TemperatureComponent\r\n },\r\n {\r\n path: 'area',\r\n component: AreaComponent\r\n },\r\n {\r\n path: 'color',\r\n component: ColorComponent\r\n },\r\n {\r\n path: 'currency',\r\n component: CurrencyComponent\r\n }];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\n \\n\\n
\\n \\n\\n
\\n
\\n\\n\\n\\n\"","import { Component } from '@angular/core';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'converter';\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AppRoutingModule } from './app-routing.module';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AppComponent } from './app.component';\nimport { MenuComponent } from './menu/menu.component';\nimport { DistanceComponent } from './distance/distance.component';\nimport { SpeedComponent } from './speed/speed.component';\nimport { WelcomeComponent } from './welcome/welcome.component';\nimport { WeightComponent } from './weight/weight.component';\nimport { TemperatureComponent } from './temperature/temperature.component';\nimport { AreaComponent } from './area/area.component';\nimport { ColorComponent } from './color/color.component';\nimport { CurrencyComponent } from './currency/currency.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n MenuComponent,\n DistanceComponent,\n SpeedComponent,\n WelcomeComponent,\n WeightComponent,\n TemperatureComponent,\n AreaComponent,\n ColorComponent,\n CurrencyComponent\n ],\n imports: [\n BrowserModule,\n FormsModule,\n AppRoutingModule,\n HttpClientModule\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FyZWEvYXJlYS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n
\\r\\n

Area conversion

\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
From:
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
To:
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{fromVal}} {{fromType}} = {{toVal}} {{toType}}\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
Conversionrate: {{rate}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Conversiontable:

\\r\\n
\\r\\n
{{multiplier}} {{fromType}} =
{{(multiplier * rate).toFixed(2)}} {{toType}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { SelectControlValueAccessor } from '@angular/forms';\r\nimport { debug } from 'util';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConversionRate } from '../conversionrate';\r\nimport { CalculationService } from '../calculation.service';\n\n@Component({\n selector: 'app-area',\n templateUrl: './area.component.html',\n styleUrls: ['./area.component.css']\n})\n\nexport class AreaComponent implements OnInit {\n qsfrom: string;\r\n qsto: string;\r\n private sub: any;\r\n\r\n get fromType(): string {\r\n return this.calculationService.ConverterRatesFrom.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n get toType(): string {\r\n return this.calculationService.ConverterRatesTo.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n fromVal = '';\r\n toVal = '';\r\n\r\n rate = 0;\r\n ConverterRatesFrom: Array;\r\n ConverterRatesTo: Array;\r\n\r\n ConversionTable: Array;\r\n\r\n constructor(private route: ActivatedRoute, private calculationService: CalculationService) { }\r\n\n ngOnInit() {\n // Handle route param\r\n this.sub = this.route.queryParams.subscribe(params => {\r\n this.qsfrom = params['from'];\r\n this.qsto = params['to'];\r\n });\r\n\r\n var fromValues = '[{\"from\":\"ac\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":0.40468564224},{\"to\":\"cm2\",\"rate\":40468564.224},{\"to\":\"ft2\",\"rate\":43560},{\"to\":\"in2\",\"rate\":6272640},{\"to\":\"km2\",\"rate\":0.0040468564224},{\"to\":\"m2\",\"rate\":4046.8564224},{\"to\":\"mi\",\"rate\":0.0015625}]},{\"from\":\"ha\",\"selected\":false,\"rates\":[{\"to\":\"ac\",\"rate\":2.4710538146717},{\"to\":\"cm2\",\"rate\":40468564.224},{\"to\":\"ft2\",\"rate\":107639.1041671},{\"to\":\"in2\",\"rate\":15500031.000062},{\"to\":\"km2\",\"rate\":0.01},{\"to\":\"m2\",\"rate\":10000},{\"to\":\"mi2\",\"rate\":0.0038610215854245}]},{\"from\":\"cm2\",\"selected\":true,\"rates\":[{\"to\":\"ac\",\"rate\":2.4710538146717e-8},{\"to\":\"ha\",\"rate\":1e-8},{\"to\":\"ft2\",\"rate\":0.001076391041671},{\"to\":\"in2\",\"rate\":0.15500031000062},{\"to\":\"km2\",\"rate\":1e-10},{\"to\":\"m2\",\"rate\":0.0001},{\"to\":\"mi2\",\"rate\":3.8610215854245e-11}]},{\"from\":\"ft2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":0.000009290304},{\"to\":\"cm2\",\"rate\":929.0304},{\"to\":\"ac\",\"rate\":0.000022956841138659},{\"to\":\"in2\",\"rate\":144},{\"to\":\"km2\",\"rate\":9.290304e-8},{\"to\":\"m2\",\"rate\":0.09290304},{\"to\":\"mi2\",\"rate\":3.5870064279155e-8}]},{\"from\":\"in2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":6.4516e-8},{\"to\":\"cm2\",\"rate\":6.4516},{\"to\":\"ft2\",\"rate\":0.0069444444444444},{\"to\":\"ac\",\"rate\":1.5942250790736e-7},{\"to\":\"km2\",\"rate\":6.4516e-10},{\"to\":\"m2\",\"rate\":0.00064516},{\"to\":\"mi2\",\"rate\":2.4909766860524e-10}]},{\"from\":\"km2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":100},{\"to\":\"cm2\",\"rate\":10000000000},{\"to\":\"ft2\",\"rate\":10763910.41671},{\"to\":\"ac\",\"rate\":247.10538146717},{\"to\":\"in2\",\"rate\":1550003100.0062},{\"to\":\"m2\",\"rate\":1000000},{\"to\":\"mi2\",\"rate\":0.38610215854245}]},{\"from\":\"m2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":0.0001},{\"to\":\"cm2\",\"rate\":10000},{\"to\":\"ft2\",\"rate\":10.76391041671},{\"to\":\"in2\",\"rate\":1550.0031000062},{\"to\":\"km2\",\"rate\":0.000001},{\"to\":\"ac\",\"rate\":0.00024710538146717},{\"to\":\"mi2\",\"rate\":3.8610215854245e-7}]},{\"from\":\"mi2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":258.9988110336},{\"to\":\"cm2\",\"rate\":25899881103.36},{\"to\":\"ft2\",\"rate\":27878400},{\"to\":\"in2\",\"rate\":4014489600},{\"to\":\"km2\",\"rate\":2.589988110336},{\"to\":\"ac\",\"rate\":640},{\"to\":\"m2\",\"rate\":2589988.110336}]}]';\r\n var toValues = '[{\"from\":\"ac\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":0.40468564224},{\"to\":\"cm2\",\"rate\":40468564.224},{\"to\":\"ft2\",\"rate\":43560},{\"to\":\"in2\",\"rate\":6272640},{\"to\":\"km2\",\"rate\":0.0040468564224},{\"to\":\"m2\",\"rate\":4046.8564224},{\"to\":\"mi\",\"rate\":0.0015625}]},{\"from\":\"ha\",\"selected\":false,\"rates\":[{\"to\":\"ac\",\"rate\":2.4710538146717},{\"to\":\"cm2\",\"rate\":40468564.224},{\"to\":\"ft2\",\"rate\":107639.1041671},{\"to\":\"in2\",\"rate\":15500031.000062},{\"to\":\"km2\",\"rate\":0.01},{\"to\":\"m2\",\"rate\":10000},{\"to\":\"mi2\",\"rate\":0.0038610215854245}]},{\"from\":\"cm2\",\"selected\":false,\"rates\":[{\"to\":\"ac\",\"rate\":2.4710538146717e-8},{\"to\":\"ha\",\"rate\":1e-8},{\"to\":\"ft2\",\"rate\":0.001076391041671},{\"to\":\"in2\",\"rate\":0.15500031000062},{\"to\":\"km2\",\"rate\":1e-10},{\"to\":\"m2\",\"rate\":0.0001},{\"to\":\"mi2\",\"rate\":3.8610215854245e-11}]},{\"from\":\"ft2\",\"selected\":true,\"rates\":[{\"to\":\"ha\",\"rate\":0.000009290304},{\"to\":\"cm2\",\"rate\":929.0304},{\"to\":\"ac\",\"rate\":0.000022956841138659},{\"to\":\"in2\",\"rate\":144},{\"to\":\"km2\",\"rate\":9.290304e-8},{\"to\":\"m2\",\"rate\":0.09290304},{\"to\":\"mi2\",\"rate\":3.5870064279155e-8}]},{\"from\":\"in2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":6.4516e-8},{\"to\":\"cm2\",\"rate\":6.4516},{\"to\":\"ft2\",\"rate\":0.0069444444444444},{\"to\":\"ac\",\"rate\":1.5942250790736e-7},{\"to\":\"km2\",\"rate\":6.4516e-10},{\"to\":\"m2\",\"rate\":0.00064516},{\"to\":\"mi2\",\"rate\":2.4909766860524e-10}]},{\"from\":\"km2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":100},{\"to\":\"cm2\",\"rate\":10000000000},{\"to\":\"ft2\",\"rate\":10763910.41671},{\"to\":\"ac\",\"rate\":247.10538146717},{\"to\":\"in2\",\"rate\":1550003100.0062},{\"to\":\"m2\",\"rate\":1000000},{\"to\":\"mi2\",\"rate\":0.38610215854245}]},{\"from\":\"m2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":0.0001},{\"to\":\"cm2\",\"rate\":10000},{\"to\":\"ft2\",\"rate\":10.76391041671},{\"to\":\"in2\",\"rate\":1550.0031000062},{\"to\":\"km2\",\"rate\":0.000001},{\"to\":\"ac\",\"rate\":0.00024710538146717},{\"to\":\"mi2\",\"rate\":3.8610215854245e-7}]},{\"from\":\"mi2\",\"selected\":false,\"rates\":[{\"to\":\"ha\",\"rate\":258.9988110336},{\"to\":\"cm2\",\"rate\":25899881103.36},{\"to\":\"ft2\",\"rate\":27878400},{\"to\":\"in2\",\"rate\":4014489600},{\"to\":\"km2\",\"rate\":2.589988110336},{\"to\":\"ac\",\"rate\":640},{\"to\":\"m2\",\"rate\":2589988.110336}]}]';\r\n\r\n if (this.qsfrom == 'NaN') {\r\n this.qsfrom = 'm2';\r\n }\r\n if (this.qsto == 'NaN') {\r\n this.qsto = 'ft2';\r\n }\r\n\r\n this.calculationService.Init(fromValues, toValues, this.qsfrom, this.qsto);\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal);\r\n this.rate = this.calculationService.CurrentRate;\r\n\r\n this.ConversionTable = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500];\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n HandleFromTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesFrom) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesFrom[value].selected = true;\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n HandleToTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesTo) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesTo[value].selected = true;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n RecalculateFrom(e) {\r\n this.fromVal = e.target.value;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n RecalculateTo(e) {\r\n }\r\n\r\n SwitchRates() {\r\n this.calculationService.SwitchRates();\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConversionRate } from './conversionrate';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CalculationService {\r\n\r\n\r\n ConverterRatesFrom: Array;\r\n ConverterRatesTo: Array;\r\n\r\n CurrentRate: number;\r\n CurrentCorrection: number;\r\n\r\n constructor() {\r\n \r\n }\r\n\r\n public Init(fromValues: string, toValues: string, defaultFrom: string, defaultTo: string) {\r\n this.ConverterRatesFrom = >JSON.parse(fromValues)\r\n\r\n this.ConverterRatesTo = >JSON.parse(toValues);\r\n\r\n if (defaultFrom !== undefined) {\r\n \r\n for (let rate of this.ConverterRatesFrom) {\r\n rate.selected = false;\r\n }\r\n this.ConverterRatesFrom.filter(rate => rate.from === defaultFrom)[0].selected = true;\r\n\r\n //this.ConverterRatesFrom[value].selected = true;\r\n\r\n }\r\n\r\n if (defaultTo !== undefined) {\r\n\r\n for (let rate of this.ConverterRatesTo) {\r\n rate.selected = false;\r\n }\r\n this.ConverterRatesTo.filter(rate => rate.from === defaultTo)[0].selected = true;\r\n\r\n //this.ConverterRatesFrom[value].selected = true;\r\n\r\n }\r\n\r\n }\r\n\r\n public Calculate(input: string) {\r\n // Fint the one selected in From\r\n var rateFrom = this.ConverterRatesFrom.filter(rate => rate.selected == true)[0];\r\n\r\n var rateTo = this.ConverterRatesTo.filter(rate => rate.selected == true)[0];\r\n\r\n var ratevar = rateFrom.rates.filter(rate => rate.to === rateTo.from);\r\n var correction = 0;\r\n var rVal = 0;\r\n var complexrate = false;\r\n if (ratevar.length > 0) {\r\n var rate = ratevar[0].rate;\r\n if (rate.toString().includes(\",\")) {\r\n complexrate = true;\r\n var strrate = rate.toString().split(\",\")[0];\r\n var strcorrection = rate.toString().split(\",\")[1];\r\n rate = Number.parseFloat(strrate.replace('*', '').replace('/', '').replace('+', '').replace('-', ''));\r\n correction = Number.parseFloat(strcorrection.replace('*', '').replace('/', '').replace('+', '').replace('-', ''));\r\n }\r\n this.CurrentRate = rate;\r\n this.CurrentCorrection = correction; \r\n if (complexrate) {\r\n // Handle first value\r\n if (strrate.includes('*')) {\r\n rVal = Number.parseFloat(input) * rate;\r\n }\r\n else if (strrate.includes('+')) {\r\n rVal = Number.parseFloat(input) + rate;\r\n }\r\n else if (strrate.includes('/')) {\r\n rVal = Number.parseFloat(input) / rate;\r\n }\r\n else if (strrate.includes('-')) {\r\n rVal = Number.parseFloat(input) - rate;\r\n }\r\n\r\n // Handle second value\r\n if (strcorrection.includes('+')) {\r\n rVal = rVal + correction;\r\n }\r\n else if (strcorrection.includes('*')) {\r\n rVal = rVal * correction;\r\n }\r\n else if (strcorrection.includes('/')) {\r\n rVal = rVal / correction;\r\n }\r\n else if (strcorrection.includes('-')) {\r\n rVal = rVal - correction;\r\n }\r\n\r\n //rVal = Number.parseFloat(input) * rate;\r\n //rVal = rVal + correction;\r\n }\r\n else {\r\n rVal = Number.parseFloat(input) * rate;\r\n\r\n }\r\n return rVal.toFixed(2);\r\n }\r\n //return (Number.parseFloat(input) * 2);\r\n }\r\n\r\n public SwitchRates() {\r\n\r\n var rateFrom = this.ConverterRatesFrom.filter(rate => rate.selected == true)[0];\r\n\r\n var rateTo = this.ConverterRatesTo.filter(rate => rate.selected == true)[0];\r\n\r\n\r\n for (let rate of this.ConverterRatesFrom) {\r\n rate.selected = false;\r\n }\r\n this.ConverterRatesFrom.filter(rate => rate.from === rateTo.from)[0].selected = true;\r\n\r\n\r\n for (let rate of this.ConverterRatesTo) {\r\n rate.selected = false;\r\n }\r\n this.ConverterRatesTo.filter(rate => rate.from === rateFrom.from)[0].selected = true;\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n.results {\\r\\n width:330px;\\r\\n}\\r\\n\\r\\n .results .format {\\r\\n border: 1px solid #999;\\r\\n margin-top: 5px;\\r\\n width: 100%;\\r\\n border-radius: 4px 4px;\\r\\n position: relative;\\r\\n }\\r\\n\\r\\n .results .label {\\r\\n width:18%;\\r\\n border-right:1px solid #999;\\r\\n background-color:#eee;\\r\\n display:inline-table;\\r\\n padding:3px;\\r\\n }\\r\\n\\r\\n .results .value {\\r\\n display: inline-table;\\r\\n padding: 3px;\\r\\n position:relative;\\r\\n width:75%;\\r\\n }\\r\\n\\r\\n .results .copytoclipboard {\\r\\n\\r\\n float: right;\\r\\n position: relative;\\r\\n }\\r\\n\\r\\n .results .copytoclipboard img\\r\\n {\\r\\n width:10px;\\r\\n height:10px;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29sb3IvY29sb3IuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7RUFDRSxZQUFZO0NBQ2I7O0VBRUM7SUFDRSx1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsbUJBQW1CO0dBQ3BCOztFQUVEO0lBQ0UsVUFBVTtJQUNWLDRCQUE0QjtJQUM1QixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLFlBQVk7R0FDYjs7RUFFRDtJQUNFLHNCQUFzQjtJQUN0QixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLFVBQVU7R0FDWDs7RUFFRDs7SUFFRSxhQUFhO0lBQ2IsbUJBQW1CO0dBQ3BCOztFQUVEOztJQUVFLFdBQVc7SUFDWCxZQUFZO0dBQ2IiLCJmaWxlIjoic3JjL2FwcC9jb2xvci9jb2xvci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi5yZXN1bHRzIHtcclxuICB3aWR0aDozMzBweDtcclxufVxyXG5cclxuICAucmVzdWx0cyAuZm9ybWF0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICAucmVzdWx0cyAubGFiZWwge1xyXG4gICAgd2lkdGg6MTglO1xyXG4gICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZWVlO1xyXG4gICAgZGlzcGxheTppbmxpbmUtdGFibGU7XHJcbiAgICBwYWRkaW5nOjNweDtcclxuICB9XHJcblxyXG4gIC5yZXN1bHRzIC52YWx1ZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHdpZHRoOjc1JTtcclxuICB9XHJcblxyXG4gIC5yZXN1bHRzIC5jb3B5dG9jbGlwYm9hcmQge1xyXG5cclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gIC5yZXN1bHRzIC5jb3B5dG9jbGlwYm9hcmQgaW1nXHJcbiAge1xyXG4gICAgd2lkdGg6MTBweDtcclxuICAgIGhlaWdodDoxMHB4O1xyXG4gIH1cclxuIl19 */\"","module.exports = \"\\r\\n

Colors conversion

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
RGB:
{{strRGBValue}}
\\r\\n
HEX:
{{strHexValue}}
\\r\\n
HSL:
{{strHSLValue}}
\\r\\n
Name:
{{strNameValue}}
\\r\\n
\\r\\n\\r\\n
\\r\\n

Hue

\\r\\n
\\r\\n
 
\\r\\n
{{HSLConverter('hex', 'hue', value)}}
\\r\\n
{{HSLConverter('rgb', 'hue', value)}}
\\r\\n
{{HSLConverter('hsl', 'hue', value)}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Saturation

\\r\\n
\\r\\n
 
\\r\\n
{{HSLConverter('hex', 'saturation', value)}}
\\r\\n
{{HSLConverter('rgb', 'saturation', value)}}
\\r\\n
{{HSLConverter('hsl', 'saturation', value)}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Lightness

\\r\\n
\\r\\n
 
\\r\\n
{{HSLConverter('hex', 'lightness', value)}}
\\r\\n
{{HSLConverter('rgb', 'lightness', value)}}
\\r\\n
{{HSLConverter('hsl', 'lightness', value)}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\nexport class KnownColor {\r\n colorname: string;\r\n hex: string;\r\n\r\n constructor(colorname, hex) {\r\n this.colorname = colorname;\r\n this.hex = hex;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-color',\r\n templateUrl: './color.component.html',\r\n styleUrls: ['./color.component.css']\r\n})\r\nexport class ColorComponent implements OnInit {\r\n\r\n colorValue = '#ff0000';\r\n colorPickerValue = '#ff0000';\r\n strRGBValue = '';\r\n rgbValue = [];\r\n hslValue = [];\r\n hexValue = [];\r\n strHexValue = '';\r\n strHSLValue = '';\r\n strNameValue = '';\r\n SLRanges = []\r\n HRanges = []\r\n KnownColors = []\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n this.SLRanges = [100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0];\r\n this.HRanges = [0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360];\r\n var KnownColors = `[\r\n {\"colorname\":\"aliceblue\", \"hex\" : \"#f0f8ff\"},\r\n {\"colorname\":\"antiquewhite\", \"hex\" : \"#faebd7\"},\r\n {\"colorname\":\"aqua\", \"hex\" : \"#00ffff\"},\r\n {\"colorname\":\"aquamarine\", \"hex\" : \"#7fffd4\"},\r\n {\"colorname\":\"azure\", \"hex\" : \"#f0ffff\"},\r\n {\"colorname\":\"beige\", \"hex\" : \"#f5f5dc\"},\r\n {\"colorname\":\"bisque\", \"hex\" : \"#ffe4c4\"},\r\n {\"colorname\":\"black\", \"hex\" : \"#000000\"},\r\n {\"colorname\":\"blanchedalmond\", \"hex\" : \"#ffebcd\"},\r\n {\"colorname\":\"blue\", \"hex\" : \"#0000ff\"},\r\n {\"colorname\":\"blueviolet\", \"hex\" : \"#8a2be2\"},\r\n {\"colorname\":\"brown\", \"hex\" : \"#a52a2a\"},\r\n {\"colorname\":\"burlywood\", \"hex\" : \"#deb887\"},\r\n {\"colorname\":\"cadetblue\", \"hex\" : \"#5f9ea0\"},\r\n {\"colorname\":\"chartreuse\", \"hex\" : \"#7fff00\"},\r\n {\"colorname\":\"chocolate\", \"hex\" : \"#d2691e\"},\r\n {\"colorname\":\"coral\", \"hex\" : \"#ff7f50\"},\r\n {\"colorname\":\"cornflowerblue\", \"hex\" : \"#6495ed\"},\r\n {\"colorname\":\"cornsilk\", \"hex\" : \"#fff8dc\"},\r\n {\"colorname\":\"crimson\", \"hex\" : \"#dc143c\"},\r\n {\"colorname\":\"cyan\", \"hex\" : \"#00ffff\"},\r\n {\"colorname\":\"darkblue\", \"hex\" : \"#00008b\"},\r\n {\"colorname\":\"darkcyan\", \"hex\" : \"#008b8b\"},\r\n {\"colorname\":\"darkgoldenrod\", \"hex\" : \"#b8860b\"},\r\n {\"colorname\":\"darkgray\", \"hex\" : \"#a9a9a9\"},\r\n {\"colorname\":\"darkgreen\", \"hex\" : \"#006400\"},\r\n {\"colorname\":\"darkgrey\", \"hex\" : \"#a9a9a9\"},\r\n {\"colorname\":\"darkkhaki\", \"hex\" : \"#bdb76b\"},\r\n {\"colorname\":\"darkmagenta\", \"hex\" : \"#8b008b\"},\r\n {\"colorname\":\"darkolivegreen\", \"hex\" : \"#556b2f\"},\r\n {\"colorname\":\"darkorange\", \"hex\" : \"#ff8c00\"},\r\n {\"colorname\":\"darkorchid\", \"hex\" : \"#9932cc\"},\r\n {\"colorname\":\"darkred\", \"hex\" : \"#8b0000\"},\r\n {\"colorname\":\"darksalmon\", \"hex\" : \"#e9967a\"},\r\n {\"colorname\":\"darkseagreen\", \"hex\" : \"#8fbc8f\"},\r\n {\"colorname\":\"darkslateblue\", \"hex\" : \"#483d8b\"},\r\n {\"colorname\":\"darkslategray\", \"hex\" : \"#2f4f4f\"},\r\n {\"colorname\":\"darkslategrey\", \"hex\" : \"#2f4f4f\"},\r\n {\"colorname\":\"darkturquoise\", \"hex\" : \"#00ced1\"},\r\n {\"colorname\":\"darkviolet\", \"hex\" : \"#9400d3\"},\r\n {\"colorname\":\"deeppink\", \"hex\" : \"#ff1493\"},\r\n {\"colorname\":\"deepskyblue\", \"hex\" : \"#00bfff\"},\r\n {\"colorname\":\"dimgray\", \"hex\" : \"#696969\"},\r\n {\"colorname\":\"dimgrey\", \"hex\" : \"#696969\"},\r\n {\"colorname\":\"dodgerblue\", \"hex\" : \"#1e90ff\"},\r\n {\"colorname\":\"firebrick\", \"hex\" : \"#b22222\"},\r\n {\"colorname\":\"floralwhite\", \"hex\" : \"#fffaf0\"},\r\n {\"colorname\":\"forestgreen\", \"hex\" : \"#228b22\"},\r\n {\"colorname\":\"fuchsia\", \"hex\" : \"#ff00ff\"},\r\n {\"colorname\":\"gainsboro\", \"hex\" : \"#dcdcdc\"},\r\n {\"colorname\":\"ghostwhite\", \"hex\" : \"#f8f8ff\"},\r\n {\"colorname\":\"gold\", \"hex\" : \"#ffd700\"},\r\n {\"colorname\":\"goldenrod\", \"hex\" : \"#daa520\"},\r\n {\"colorname\":\"gray\", \"hex\" : \"#808080\"},\r\n {\"colorname\":\"green\", \"hex\" : \"#008000\"},\r\n {\"colorname\":\"greenyellow\", \"hex\" : \"#adff2f\"},\r\n {\"colorname\":\"grey\", \"hex\" : \"#808080\"},\r\n {\"colorname\":\"honeydew\", \"hex\" : \"#f0fff0\"},\r\n {\"colorname\":\"hotpink\", \"hex\" : \"#ff69b4\"},\r\n {\"colorname\":\"indianred\", \"hex\" : \"#cd5c5c\"},\r\n {\"colorname\":\"indigo\", \"hex\" : \"#4b0082\"},\r\n {\"colorname\":\"ivory\", \"hex\" : \"#fffff0\"},\r\n {\"colorname\":\"khaki\", \"hex\" : \"#f0e68c\"},\r\n {\"colorname\":\"lavender\", \"hex\" : \"#e6e6fa\"},\r\n {\"colorname\":\"lavenderblush\", \"hex\" : \"#fff0f5\"},\r\n {\"colorname\":\"lawngreen\", \"hex\" : \"#7cfc00\"},\r\n {\"colorname\":\"lemonchiffon\", \"hex\" : \"#fffacd\"},\r\n {\"colorname\":\"lightblue\", \"hex\" : \"#add8e6\"},\r\n {\"colorname\":\"lightcoral\", \"hex\" : \"#f08080\"},\r\n {\"colorname\":\"lightcyan\", \"hex\" : \"#e0ffff\"},\r\n {\"colorname\":\"lightgoldenrodyellow\", \"hex\" : \"#fafad2\"},\r\n {\"colorname\":\"lightgray\", \"hex\" : \"#d3d3d3\"},\r\n {\"colorname\":\"lightgreen\", \"hex\" : \"#90ee90\"},\r\n {\"colorname\":\"lightgrey\", \"hex\" : \"#d3d3d3\"},\r\n {\"colorname\":\"lightpink\", \"hex\" : \"#ffb6c1\"},\r\n {\"colorname\":\"lightsalmon\", \"hex\" : \"#ffa07a\"},\r\n {\"colorname\":\"lightseagreen\", \"hex\" : \"#20b2aa\"},\r\n {\"colorname\":\"lightskyblue\", \"hex\" : \"#87cefa\"},\r\n {\"colorname\":\"lightslategray\", \"hex\" : \"#778899\"},\r\n {\"colorname\":\"lightslategrey\", \"hex\" : \"#778899\"},\r\n {\"colorname\":\"lightsteelblue\", \"hex\" : \"#b0c4de\"},\r\n {\"colorname\":\"lightyellow\", \"hex\" : \"#ffffe0\"},\r\n {\"colorname\":\"lime\", \"hex\" : \"#00ff00\"},\r\n {\"colorname\":\"limegreen\", \"hex\" : \"#32cd32\"},\r\n {\"colorname\":\"linen\", \"hex\" : \"#faf0e6\"},\r\n {\"colorname\":\"magenta\", \"hex\" : \"#ff00ff\"},\r\n {\"colorname\":\"maroon\", \"hex\" : \"#800000\"},\r\n {\"colorname\":\"mediumaquamarine\", \"hex\" : \"#66cdaa\"},\r\n {\"colorname\":\"mediumblue\", \"hex\" : \"#0000cd\"},\r\n {\"colorname\":\"mediumorchid\", \"hex\" : \"#ba55d3\"},\r\n {\"colorname\":\"mediumpurple\", \"hex\" : \"#9370db\"},\r\n {\"colorname\":\"mediumseagreen\", \"hex\" : \"#3cb371\"},\r\n {\"colorname\":\"mediumslateblue\", \"hex\" : \"#7b68ee\"},\r\n {\"colorname\":\"mediumspringgreen\", \"hex\" : \"#00fa9a\"},\r\n {\"colorname\":\"mediumturquoise\", \"hex\" : \"#48d1cc\"},\r\n {\"colorname\":\"mediumvioletred\", \"hex\" : \"#c71585\"},\r\n {\"colorname\":\"midnightblue\", \"hex\" : \"#191970\"},\r\n {\"colorname\":\"mintcream\", \"hex\" : \"#f5fffa\"},\r\n {\"colorname\":\"mistyrose\", \"hex\" : \"#ffe4e1\"},\r\n {\"colorname\":\"moccasin\", \"hex\" : \"#ffe4b5\"},\r\n {\"colorname\":\"navajowhite\", \"hex\" : \"#ffdead\"},\r\n {\"colorname\":\"navy\", \"hex\" : \"#000080\"},\r\n {\"colorname\":\"oldlace\", \"hex\" : \"#fdf5e6\"},\r\n {\"colorname\":\"olive\", \"hex\" : \"#808000\"},\r\n {\"colorname\":\"olivedrab\", \"hex\" : \"#6b8e23\"},\r\n {\"colorname\":\"orange\", \"hex\" : \"#ffa500\"},\r\n {\"colorname\":\"orangered\", \"hex\" : \"#ff4500\"},\r\n {\"colorname\":\"orchid\", \"hex\" : \"#da70d6\"},\r\n {\"colorname\":\"palegoldenrod\", \"hex\" : \"#eee8aa\"},\r\n {\"colorname\":\"palegreen\", \"hex\" : \"#98fb98\"},\r\n {\"colorname\":\"paleturquoise\", \"hex\" : \"#afeeee\"},\r\n {\"colorname\":\"palevioletred\", \"hex\" : \"#db7093\"},\r\n {\"colorname\":\"papayawhip\", \"hex\" : \"#ffefd5\"},\r\n {\"colorname\":\"peachpuff\", \"hex\" : \"#ffdab9\"},\r\n {\"colorname\":\"peru\", \"hex\" : \"#cd853f\"},\r\n {\"colorname\":\"pink\", \"hex\" : \"#ffc0cb\"},\r\n {\"colorname\":\"plum\", \"hex\" : \"#dda0dd\"},\r\n {\"colorname\":\"powderblue\", \"hex\" : \"#b0e0e6\"},\r\n {\"colorname\":\"purple\", \"hex\" : \"#800080\"},\r\n {\"colorname\":\"yellow\", \"hex\" : \"#ffff00\"},\r\n {\"colorname\":\"rebeccapurple\", \"hex\" : \"#663399\"},\r\n {\"colorname\":\"red\", \"hex\" : \"#ff0000\"},\r\n {\"colorname\":\"rosybrown\", \"hex\" : \"#bc8f8f\"},\r\n {\"colorname\":\"royalblue\", \"hex\" : \"#4169e1\"},\r\n {\"colorname\":\"saddlebrown\", \"hex\" : \"#8b4513\"},\r\n {\"colorname\":\"salmon\", \"hex\" : \"#fa8072\"},\r\n {\"colorname\":\"sandybrown\", \"hex\" : \"#f4a460\"},\r\n {\"colorname\":\"seagreen\", \"hex\" : \"#2e8b57\"},\r\n {\"colorname\":\"seashell\", \"hex\" : \"#fff5ee\"},\r\n {\"colorname\":\"sienna\", \"hex\" : \"#a0522d\"},\r\n {\"colorname\":\"silver\", \"hex\" : \"#c0c0c0\"},\r\n {\"colorname\":\"skyblue\", \"hex\" : \"#87ceeb\"},\r\n {\"colorname\":\"slateblue\", \"hex\" : \"#6a5acd\"},\r\n {\"colorname\":\"slategray\", \"hex\" : \"#708090\"},\r\n {\"colorname\":\"slategrey\", \"hex\" : \"#708090\"},\r\n {\"colorname\":\"snow\", \"hex\" : \"#fffafa\"},\r\n {\"colorname\":\"springgreen\", \"hex\" : \"#00ff7f\"},\r\n {\"colorname\":\"steelblue\", \"hex\" : \"#4682b4\"},\r\n {\"colorname\":\"tan\", \"hex\" : \"#d2b48c\"},\r\n {\"colorname\":\"teal\", \"hex\" : \"#008080\"},\r\n {\"colorname\":\"thistle\", \"hex\" : \"#d8bfd8\"},\r\n {\"colorname\":\"tomato\", \"hex\" : \"#ff6347\"},\r\n {\"colorname\":\"turquoise\", \"hex\" : \"#40e0d0\"},\r\n {\"colorname\":\"violet\", \"hex\" : \"#ee82ee\"},\r\n {\"colorname\":\"wheat\", \"hex\" : \"#f5deb3\"},\r\n {\"colorname\":\"white\", \"hex\" : \"#ffffff\"},\r\n {\"colorname\":\"whitesmoke\", \"hex\" : \"#f5f5f5\"},\r\n {\"colorname\":\"yellowgreen\", \"hex\" : \"#9acd32\"}\r\n]`;\r\n\r\n this.KnownColors = >JSON.parse(KnownColors);\r\n\r\n //this.strHSLValue = 'hsl(0,100%,50%)';\r\n\r\n this.RecalculateColors();\r\n }\r\n\r\n HandleColorChange(e) {\r\n this.colorValue = e.target.value;\r\n this.RecalculateColors();\r\n }\r\n\r\n HandleColorPickerChange(e) {\r\n this.colorValue = e.target.value;\r\n this.RecalculateColors();\r\n }\r\n\r\n HSLConverter(returnType, type, Value) {\r\n\r\n console.log();\r\n\r\n if (this.strHSLValue != '') {\r\n\r\n // Preset\r\n var hsl = this.strHSLValue.replace('hsl', '').replace('(', '').replace(')', '');\r\n\r\n var h, s, l;\r\n h = Number.parseInt(hsl.split(',')[0].replace('%', '').trim()) / 360;\r\n s = Number.parseInt(hsl.split(',')[1].replace('%', '').trim()) / 100;\r\n l = Number.parseInt(hsl.split(',')[2].replace('%', '').trim()) / 100;\r\n if (type == 'hue') { h = Value / 360; }\r\n if (type == 'lightness') { l = Value / 100; }\r\n if (type == 'saturation') { s = Value / 100; }\r\n\r\n\r\n\r\n var RGBValue = this.hslToRgb(h, s, l);\r\n if (returnType == 'rgb') {\r\n return 'rgb(' + RGBValue[0] + ',' + RGBValue[1] + ',' + RGBValue[2] + ')';\r\n\r\n }\r\n if (returnType == 'hsl') {\r\n var hslValue = this.rgbToHsl(RGBValue[0], RGBValue[1], RGBValue[2]);\r\n return 'hsl(' + (Number.parseFloat(hslValue[0]) * 360).toFixed(0) + ',' + (Number.parseFloat(hslValue[1]) * 100).toFixed(0) + '%,' + (Number.parseFloat(hslValue[2]) * 100).toFixed(0) + '%)';\r\n }\r\n if (returnType == 'hex') {\r\n var hsl = this.strHSLValue.replace('hsl', '').replace('(', '').replace(')', '');\r\n\r\n return this.rgbToHex(RGBValue[0], RGBValue[1], RGBValue[2]);\r\n }\r\n }\r\n else {\r\n return Value + 1;\r\n\r\n }\r\n //\r\n }\r\n\r\n RecalculateColors() {\r\n this.strNameValue = '';\r\n if (this.colorValue.includes('hsl')) {\r\n console.log('HSL color detected');\r\n var hsl = this.colorValue;\r\n hsl = hsl.replace('hsl', '').replace('(', '').replace(')', '');\r\n\r\n // RGB\r\n this.rgbValue = this.hslToRgb(\r\n Number.parseInt(hsl.split(',')[0].replace('%', '').trim()) / 360,\r\n Number.parseInt(hsl.split(',')[1].replace('%', '').trim()) / 100,\r\n Number.parseInt(hsl.split(',')[2].replace('%', '').trim()) / 100\r\n );\r\n this.strRGBValue = 'rgb(' + this.rgbValue[0] + ',' + this.rgbValue[1] + ',' + this.rgbValue[2] + ')';\r\n\r\n // HEX\r\n this.strHexValue = this.rgbToHex(this.rgbValue[0], this.rgbValue[1], this.rgbValue[2]);\r\n\r\n // HSL\r\n this.strHSLValue = this.colorValue;\r\n\r\n // Name\r\n var MatchingKnownColor = this.KnownColors.filter(c => c.hex == this.strHexValue)[0];\r\n this.strNameValue = MatchingKnownColor.colorname;\r\n\r\n };\r\n\r\n if (this.colorValue.includes('#')) {\r\n console.log('HEX color detected');\r\n var hex = this.colorValue;\r\n this.strHexValue = this.colorValue;\r\n\r\n // RGB\r\n var result = this.hexToRgb(this.colorValue);\r\n this.strRGBValue = 'rgb(' + result.r + ',' + result.g + ',' + result.b + ')';\r\n\r\n // HSL\r\n this.hslValue = this.rgbToHsl(result.r, result.g, result.b);\r\n this.strHSLValue = 'hsl(' + (Number.parseFloat(this.hslValue[0]) * 360).toFixed(0) + ',' + (Number.parseFloat(this.hslValue[1]) * 100).toFixed(0) + '%,' + (Number.parseFloat(this.hslValue[2]) * 100).toFixed(0) + '%)';\r\n\r\n // Name\r\n var MatchingKnownColor = this.KnownColors.filter(c => c.hex == this.strHexValue)[0];\r\n this.strNameValue = MatchingKnownColor.colorname;\r\n };\r\n\r\n if (this.colorValue.includes('rgb')) {\r\n console.log('RGB color detected');\r\n var rgb = this.colorValue;\r\n rgb = rgb.replace('rgb', '').replace('(', '').replace(')', '');\r\n\r\n var r, g, b;\r\n r = Number.parseInt(rgb.split(',')[0].replace('%', '').trim());\r\n g = Number.parseInt(rgb.split(',')[1].replace('%', '').trim());\r\n b = Number.parseInt(rgb.split(',')[2].replace('%', '').trim());\r\n\r\n // HEX\r\n this.strHexValue = this.rgbToHex(r,g,b);\r\n this.strRGBValue = 'rgb(' + this.rgbValue[0] + ',' + this.rgbValue[1] + ',' + this.rgbValue[2] + ')';\r\n\r\n // HSL\r\n this.hslValue = this.rgbToHsl(r, g, b);\r\n this.strHSLValue = 'hsl(' + (Number.parseFloat(this.hslValue[0]) * 360).toFixed(0) + ',' + (Number.parseFloat(this.hslValue[1]) * 100).toFixed(0) + '%,' + (Number.parseFloat(this.hslValue[2]) * 100).toFixed(0) + '%)';\r\n\r\n // RGB\r\n this.strRGBValue = this.colorValue;\r\n\r\n // Name\r\n var MatchingKnownColor = this.KnownColors.filter(c => c.hex == this.strHexValue)[0];\r\n this.strNameValue = MatchingKnownColor.colorname;\r\n };\r\n\r\n this.colorPickerValue = this.strHexValue;\r\n }\r\n\r\n\r\n\r\n /**\r\n * Converts an HSL color value to RGB. Conversion formula\r\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\r\n * Assumes h, s, and l are contained in the set [0, 1] and\r\n * returns r, g, and b in the set [0, 255].\r\n *\r\n * @param {number} h The hue\r\n * @param {number} s The saturation\r\n * @param {number} l The lightness\r\n * @return {Array} The RGB representation\r\n */\r\n hslToRgb(h, s, l) {\r\n //console.log('h: ' + h + ' s: ' + s + ' l: ' + l);\r\n\r\n var r, g, b;\r\n\r\n if (s == 0) {\r\n r = g = b = l; // achromatic\r\n } else {\r\n var hue2rgb = function hue2rgb(p, q, t) {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n }\r\n\r\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hue2rgb(p, q, h + 1 / 3);\r\n g = hue2rgb(p, q, h);\r\n b = hue2rgb(p, q, h - 1 / 3);\r\n }\r\n\r\n return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\r\n }\r\n\r\n /**\r\n * Converts an RGB color value to HSL. Conversion formula\r\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\r\n * Assumes r, g, and b are contained in the set [0, 255] and\r\n * returns h, s, and l in the set [0, 1].\r\n *\r\n * @param {number} r The red color value\r\n * @param {number} g The green color value\r\n * @param {number} b The blue color value\r\n * @return {Array} The HSL representation\r\n */\r\n rgbToHsl(r, g, b) {\r\n r /= 255, g /= 255, b /= 255;\r\n\r\n var max = Math.max(r, g, b), min = Math.min(r, g, b);\r\n var h, s, l = (max + min) / 2;\r\n\r\n if (max == min) {\r\n h = s = 0; // achromatic\r\n } else {\r\n var d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n\r\n switch (max) {\r\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\r\n case g: h = (b - r) / d + 2; break;\r\n case b: h = (r - g) / d + 4; break;\r\n }\r\n\r\n h /= 6;\r\n }\r\n\r\n return [h, s, l];\r\n }\r\n\r\n componentToHex(c) {\r\n var hex = c.toString(16);\r\n return hex.length == 1 ? \"0\" + hex : hex;\r\n }\r\n\r\n rgbToHex(r, g, b) {\r\n return \"#\" + this.componentToHex(r) + this.componentToHex(g) + this.componentToHex(b);\r\n }\r\n\r\n hexToRgb(hex) {\r\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n }\r\n\r\n CopyToClipBoard(val: string) {\r\n let selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n alert('Color copied to clipboard!');\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2N1cnJlbmN5L2N1cnJlbmN5LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n

Currency conversion

\\r\\n\\r\\n
\\r\\n
\\r\\n
From:
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
To:
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\n\nexport class Currency {\r\n code: string;\r\n rate: number;\r\n selected: boolean;\r\n\r\n constructor(code: string, rate: number) {\r\n this.code = code;\r\n this.rate = rate;\r\n }\r\n}\n\n@Component({\n selector: 'app-currency',\n templateUrl: './currency.component.html',\n styleUrls: ['./currency.component.css']\n})\n\n@Injectable()\nexport class CurrencyComponent implements OnInit {\n data: any;\r\n loading: boolean;\r\n fromVal = 100;\r\n toVal = 0;\r\n fromCurrencies: Array;\r\n toCurrencies: Array;\n\n\n constructor(private http: HttpClient) { }\n\n ngOnInit() {\n this.fromCurrencies = Array();\n this.toCurrencies = Array();\n\n this.http.get('http://data.fixer.io/api/latest?access_key=350c1feb03601527866e7abb1eeb86ca')\r\n .subscribe((res: Response) => {\r\n this.data = res;\r\n\r\n //var test = new Currency('DDKK', 11.0);\r\n\r\n //this.fromCurrencies.push(test);\r\n\r\n for (var key in this.data.rates) {\r\n if (this.data.rates.hasOwnProperty(key)) {\r\n this.fromCurrencies.push(new Currency(key, parseFloat(this.data.rates[key])));\r\n this.toCurrencies.push(new Currency(key, parseFloat(this.data.rates[key])));\r\n }\r\n }\r\n\r\n this.fromCurrencies.filter(c => c.code === 'EUR')[0].selected = true;\r\n this.toCurrencies.filter(c => c.code === 'DKK')[0].selected = true;\r\n\r\n this.toVal = this.Calculate(this.fromVal);\r\n\r\n //this.fromCurrencies = >JSON.parse(this.data.rates);\r\n //this.toCurrencies = >JSON.parse(this.data.rates);\r\n\r\n\r\n this.loading = false;\r\n });\n }\n\n HandleFromTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let currency of this.fromCurrencies) {\r\n currency.selected = false;\r\n }\r\n this.fromCurrencies[value].selected = true;\r\n\r\n this.toVal = this.Calculate(this.fromVal);\r\n }\r\n\r\n HandleToTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let currency of this.toCurrencies) {\r\n currency.selected = false;\r\n }\r\n this.toCurrencies[value].selected = true;\r\n\r\n this.toVal = this.Calculate(this.fromVal);\r\n }\n\n RecalculateFrom(e) {\r\n this.fromVal = e.target.value;\r\n console.log('From value: ' + this.fromVal);\r\n //this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n //this.rate = this.calculationService.CurrentRate;\r\n\r\n this.toVal = this.Calculate(this.fromVal);\r\n }\n\n RecalculateTo(e) {\r\n this.toVal = e.target.value;\r\n console.log('to value: ' + this.toVal);\r\n\r\n\r\n //this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n //this.rate = this.calculationService.CurrentRate;\r\n\r\n this.toVal = this.Calculate(this.fromVal);\r\n }\n\n Calculate(fromVal) {\r\n\r\n var FromRate = this.fromCurrencies.filter(c => c.selected === true)[0].rate;\r\n\r\n\r\n var ToRate = this.toCurrencies.filter(c => c.selected === true)[0].rate;\r\n var ReturnValue = fromVal / FromRate;\r\n ReturnValue = ReturnValue * ToRate;\r\n return parseFloat(ReturnValue.toFixed(2)); \r\n\r\n //return fromVal;\r\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Rpc3RhbmNlL2Rpc3RhbmNlLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
\\r\\n

Distance conversion

\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
From:
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
To:
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{fromVal}} {{fromType}} = {{toVal}} {{toType}}\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
Conversionrate: {{rate}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Conversiontable:

\\r\\n
\\r\\n
{{multiplier}} {{fromType}} =
{{(multiplier * rate).toFixed(2)}} {{toType}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConversionRate } from '../conversionrate';\r\nimport { CalculationService } from '../calculation.service';\r\n\r\n@Component({\r\n selector: 'app-distance',\r\n templateUrl: './distance.component.html',\r\n styleUrls: ['./distance.component.css']\r\n})\r\nexport class DistanceComponent implements OnInit {\r\n qsfrom: string;\r\n qsto: string;\r\n private sub: any;\r\n\r\n get fromType(): string {\r\n return this.calculationService.ConverterRatesFrom.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n get toType(): string {\r\n return this.calculationService.ConverterRatesTo.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n fromVal = '';\r\n toVal = '';\r\n\r\n rate = 0;\r\n ConverterRatesFrom: Array;\r\n ConverterRatesTo: Array;\r\n\r\n ConversionTable: Array;\r\n\r\n constructor(private route: ActivatedRoute, private calculationService: CalculationService) { }\r\n \r\n ngOnInit() {\r\n // Handle route param\r\n this.sub = this.route.queryParams.subscribe(params => {\r\n this.qsfrom = params['from'];\r\n this.qsto = params['to'];\r\n });\r\n\r\n var fromValues = '[{\"from\":\"m\", \"selected\": false,\"rates\":[{\"to\":\"ft\",\"rate\":3.2808398950131},{\"to\":\"cm\",\"rate\":100},{\"to\":\"in\",\"rate\":39.370078740157},{\"to\":\"yd\",\"rate\":1.0936132983377},{\"to\":\"mi\",\"rate\":0.00062137119223733},{\"to\":\"km\",\"rate\":0.001}]},{\"from\":\"ft\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":0.3048},{\"to\":\"cm\",\"rate\":30.48},{\"to\":\"in\",\"rate\":12},{\"to\":\"yd\",\"rate\":0.33333333333333},{\"to\":\"mi\",\"rate\":0.000015782828282828},{\"to\":\"km\",\"rate\":0.0003048},{\"to\":\"km\",\"rate\":0.00062137119223733}]},{\"from\":\"cm\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":0.01},{\"to\":\"ft\",\"rate\":0.032808398950131},{\"to\":\"in\",\"rate\":0.39370078740157},{\"to\":\"yd\",\"rate\":0.010936132983377},{\"to\":\"mi\",\"rate\":0.0000062137119223733},{\"to\":\"km\",\"rate\":0.00001}]},{\"from\":\"in\",\"rates\":[{\"to\":\"m\",\"rate\":0.0254},{\"to\":\"ft\",\"rate\":0.083333333333333},{\"to\":\"cm\",\"rate\":2.54},{\"to\":\"yd\",\"rate\":0.027777777777778},{\"to\":\"mi\",\"rate\":0.000015782828282828},{\"to\":\"km\",\"rate\":0.0000254}]},{\"from\":\"yd\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":0.91440000000001},{\"to\":\"ft\",\"rate\":3},{\"to\":\"cm\",\"rate\":91.440000000001},{\"to\":\"in\",\"rate\":36},{\"to\":\"mi\",\"rate\":0.00056818181818182},{\"to\":\"km\",\"rate\":0.00091440000000001}]},{\"from\":\"mi\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":0.91440000000001},{\"to\":\"ft\",\"rate\":5280},{\"to\":\"cm\",\"rate\":160934.4},{\"to\":\"in\",\"rate\":63360},{\"to\":\"yd\",\"rate\":1760},{\"to\":\"km\",\"rate\":1.609344}]},{\"from\":\"km\", \"selected\": true,\"rates\":[{\"to\":\"m\",\"rate\":1000},{\"to\":\"ft\",\"rate\":3280.8398950131},{\"to\":\"cm\",\"rate\":100000},{\"to\":\"in\",\"rate\":39370.078740157},{\"to\":\"yd\",\"rate\":1093.6132983377},{\"to\":\"mi\",\"rate\":0.62137119223733}]}]';\r\n var toValues = '[{\"from\":\"m\", \"selected\": false,\"rates\":[{\"to\":\"ft\",\"rate\":3.2808398950131},{\"to\":\"cm\",\"rate\":100},{\"to\":\"in\",\"rate\":39.370078740157},{\"to\":\"yd\",\"rate\":1.0936132983377},{\"to\":\"mi\",\"rate\":0.00062137119223733},{\"to\":\"km\",\"rate\":0.001}]},{\"from\":\"ft\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":0.3048},{\"to\":\"cm\",\"rate\":30.48},{\"to\":\"in\",\"rate\":12},{\"to\":\"yd\",\"rate\":0.33333333333333},{\"to\":\"mi\",\"rate\":0.000015782828282828},{\"to\":\"km\",\"rate\":0.0003048},{\"to\":\"km\",\"rate\":0.00062137119223733}]},{\"from\":\"cm\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":0.01},{\"to\":\"ft\",\"rate\":0.032808398950131},{\"to\":\"in\",\"rate\":0.39370078740157},{\"to\":\"yd\",\"rate\":0.010936132983377},{\"to\":\"mi\",\"rate\":0.0000062137119223733},{\"to\":\"km\",\"rate\":0.00001}]},{\"from\":\"in\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":0.0254},{\"to\":\"ft\",\"rate\":0.083333333333333},{\"to\":\"cm\",\"rate\":2.54},{\"to\":\"yd\",\"rate\":0.027777777777778},{\"to\":\"mi\",\"rate\":0.000015782828282828},{\"to\":\"km\",\"rate\":0.0000254}]},{\"from\":\"yd\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":0.91440000000001},{\"to\":\"ft\",\"rate\":3},{\"to\":\"cm\",\"rate\":91.440000000001},{\"to\":\"in\",\"rate\":36},{\"to\":\"mi\",\"rate\":0.00056818181818182},{\"to\":\"km\",\"rate\":0.00091440000000001}]},{\"from\":\"mi\", \"selected\": true,\"rates\":[{\"to\":\"m\",\"rate\":0.91440000000001},{\"to\":\"ft\",\"rate\":5280},{\"to\":\"cm\",\"rate\":160934.4},{\"to\":\"in\",\"rate\":63360},{\"to\":\"yd\",\"rate\":1760},{\"to\":\"km\",\"rate\":1.609344}]},{\"from\":\"km\", \"selected\": false,\"rates\":[{\"to\":\"m\",\"rate\":1000},{\"to\":\"ft\",\"rate\":3280.8398950131},{\"to\":\"cm\",\"rate\":100000},{\"to\":\"in\",\"rate\":39370.078740157},{\"to\":\"yd\",\"rate\":1093.6132983377},{\"to\":\"mi\",\"rate\":0.62137119223733}]}]';\r\n if (this.qsfrom == 'NaN') {\r\n this.qsfrom = 'km';\r\n }\r\n if (this.qsto == 'NaN') {\r\n this.qsto = 'mi';\r\n }\r\n\r\n this.calculationService.Init(fromValues, toValues, this.qsfrom, this.qsto);\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal);\r\n this.rate = this.calculationService.CurrentRate;\r\n\r\n this.ConversionTable = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500];\r\n }\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n HandleFromTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesFrom) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesFrom[value].selected = true;\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n HandleToTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesTo) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesTo[value].selected = true;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n RecalculateFrom(e) {\r\n this.fromVal = e.target.value;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n RecalculateTo(e) {\r\n }\r\n\r\n SwitchRates() {\r\n this.calculationService.SwitchRates();\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n}\r\n","module.exports = \"div{\\r\\n background-color:#333;\\r\\n\\r\\n}\\r\\n\\r\\n div ul li {\\r\\n margin-top:10px;\\r\\n margin-left:8px;\\r\\n margin-right:auto;\\r\\n cursor:pointer;\\r\\n }\\r\\n\\r\\n div ul li a{\\r\\n cursor:pointer;\\r\\n }\\r\\n\\r\\n #nav {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n position: relative;\\r\\n margin-right: 20px;\\r\\n margin-top: 15px;\\r\\n -webkit-transform: rotate(0deg);\\r\\n transform: rotate(0deg);\\r\\n transition: .5s ease-in-out;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n #nav span {\\r\\n display: block;\\r\\n position: absolute;\\r\\n height: 3px;\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n border-radius: 9px;\\r\\n opacity: 1;\\r\\n left: 0;\\r\\n -webkit-transform: rotate(0deg);\\r\\n transform: rotate(0deg);\\r\\n transition: .25s ease-in-out;\\r\\n }\\r\\n\\r\\n /* Icon 3 */\\r\\n\\r\\n #nav span:nth-child(1) {\\r\\n top: 0px;\\r\\n }\\r\\n\\r\\n #nav span:nth-child(2), #nav span:nth-child(3) {\\r\\n top: 8px;\\r\\n }\\r\\n\\r\\n #nav span:nth-child(4) {\\r\\n top: 16px;\\r\\n }\\r\\n\\r\\n #nav.open span:nth-child(1) {\\r\\n top: 8px;\\r\\n width: 0%;\\r\\n left: 50%;\\r\\n }\\r\\n\\r\\n #nav.open span:nth-child(2) {\\r\\n -webkit-transform: rotate(45deg);\\r\\n transform: rotate(45deg);\\r\\n }\\r\\n\\r\\n #nav.open span:nth-child(3) {\\r\\n -webkit-transform: rotate(-45deg);\\r\\n transform: rotate(-45deg);\\r\\n }\\r\\n\\r\\n #nav.open span:nth-child(4) {\\r\\n top: 16px;\\r\\n width: 0%;\\r\\n left: 50%;\\r\\n }\\r\\n\\r\\n .menu {\\r\\n width: 100vw;\\r\\n position: absolute;\\r\\n right: -100vw;\\r\\n height: calc(100% - 50px);\\r\\n margin-top: 50px; /* Safari */\\r\\n transition: all .5s;\\r\\n z-index:10;\\r\\n}\\r\\n\\r\\n .menuwrapper{\\r\\n overflow:hidden;\\r\\n}\\r\\n\\r\\n .menuwrapper.open .menu {\\r\\n right: 0vw;\\r\\n }\\r\\n\\r\\n /*.menuwrapper.closed .menu {\\r\\n display: none;\\r\\n }*/\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWVudS9tZW51LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxzQkFBc0I7O0NBRXZCOztFQUVDO0lBQ0UsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZUFBZTtHQUNoQjs7RUFFRDtJQUNFLGVBQWU7R0FDaEI7O0VBSUg7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGdDQUFnQztFQUdoQyx3QkFBd0I7RUFJeEIsNEJBQTRCO0VBQzVCLGdCQUFnQjtDQUNqQjs7RUFFQztJQUNFLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxRQUFRO0lBQ1IsZ0NBQWdDO0lBR2hDLHdCQUF3QjtJQUl4Qiw2QkFBNkI7R0FDOUI7O0VBRUMsWUFBWTs7RUFFWjtNQUNFLFNBQVM7S0FDVjs7RUFFRDtNQUNFLFNBQVM7S0FDVjs7RUFFRDtNQUNFLFVBQVU7S0FDWDs7RUFFSDtJQUNFLFNBQVM7SUFDVCxVQUFVO0lBQ1YsVUFBVTtHQUNYOztFQUVEO0lBQ0UsaUNBQWlDO0lBR2pDLHlCQUF5QjtHQUMxQjs7RUFFRDtJQUNFLGtDQUFrQztJQUdsQywwQkFBMEI7R0FDM0I7O0VBRUQ7SUFDRSxVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7R0FDWDs7RUFFSDtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLDBCQUEwQjtFQUMxQixpQkFBaUIsQ0FDWSxZQUFZO0VBQ3pDLG9CQUFvQjtFQUNwQixXQUFXO0NBQ1o7O0VBRUQ7RUFDRSxnQkFBZ0I7Q0FDakI7O0VBRUM7SUFDRSxXQUFXO0dBQ1o7O0VBRUQ7O0tBRUciLCJmaWxlIjoic3JjL2FwcC9tZW51L21lbnUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImRpdntcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7XHJcblxyXG59XHJcblxyXG4gIGRpdiB1bCBsaSB7XHJcbiAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDo4cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6YXV0bztcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgZGl2IHVsIGxpIGF7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICB9XHJcblxyXG5cclxuXHJcbiNuYXYge1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLjVzIGVhc2UtaW4tb3V0O1xyXG4gIC1tb3otdHJhbnNpdGlvbjogLjVzIGVhc2UtaW4tb3V0O1xyXG4gIC1vLXRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcclxuICB0cmFuc2l0aW9uOiAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4gICNuYXYgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGhlaWdodDogM3B4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOXB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAtby10cmFuc2l0aW9uOiAuMjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbjogLjI1cyBlYXNlLWluLW91dDtcclxuICB9XHJcblxyXG4gICAgLyogSWNvbiAzICovXHJcblxyXG4gICAgI25hdiBzcGFuOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgIHRvcDogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICNuYXYgc3BhbjpudGgtY2hpbGQoMiksICNuYXYgc3BhbjpudGgtY2hpbGQoMykge1xyXG4gICAgICB0b3A6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAjbmF2IHNwYW46bnRoLWNoaWxkKDQpIHtcclxuICAgICAgdG9wOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAjbmF2Lm9wZW4gc3BhbjpudGgtY2hpbGQoMSkge1xyXG4gICAgdG9wOiA4cHg7XHJcbiAgICB3aWR0aDogMCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgfVxyXG5cclxuICAjbmF2Lm9wZW4gc3BhbjpudGgtY2hpbGQoMikge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICB9XHJcblxyXG4gICNuYXYub3BlbiBzcGFuOm50aC1jaGlsZCgzKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB9XHJcblxyXG4gICNuYXYub3BlbiBzcGFuOm50aC1jaGlsZCg0KSB7XHJcbiAgICB0b3A6IDE2cHg7XHJcbiAgICB3aWR0aDogMCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgfVxyXG5cclxuLm1lbnUge1xyXG4gIHdpZHRoOiAxMDB2dztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IC0xMDB2dztcclxuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpO1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjVzOyAvKiBTYWZhcmkgKi9cclxuICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xyXG4gIHotaW5kZXg6MTA7XHJcbn1cclxuXHJcbi5tZW51d3JhcHBlcntcclxuICBvdmVyZmxvdzpoaWRkZW47XHJcbn1cclxuXHJcbiAgLm1lbnV3cmFwcGVyLm9wZW4gLm1lbnUge1xyXG4gICAgcmlnaHQ6IDB2dztcclxuICB9XHJcblxyXG4gIC8qLm1lbnV3cmFwcGVyLmNsb3NlZCAubWVudSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH0qL1xyXG4iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
Converters
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.css']\n})\nexport class MenuComponent implements OnInit {\n\n open: boolean = false;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ToggleMenu() {\n this.open = !this.open; \n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NwZWVkL3NwZWVkLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
\\r\\n

Speed conversion

\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
From:
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
To:
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{fromVal}} {{fromType}} = {{toVal}} {{toType}}\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
Conversionrate: {{rate}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Conversiontable:

\\r\\n
\\r\\n
{{multiplier}} {{fromType}} =
{{(multiplier * rate).toFixed(2)}} {{toType}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { SelectControlValueAccessor } from '@angular/forms';\r\nimport { debug } from 'util';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConversionRate } from '../conversionrate';\r\nimport { CalculationService } from '../calculation.service';\r\n\r\n@Component({\r\n selector: 'app-speed',\r\n templateUrl: './speed.component.html',\r\n styleUrls: ['./speed.component.css']\r\n})\r\nexport class SpeedComponent implements OnInit, OnDestroy {\r\n qsfrom: string;\r\n qsto: string;\r\n private sub: any;\r\n\r\n get fromType(): string {\r\n return this.calculationService.ConverterRatesFrom.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n get toType(): string {\r\n return this.calculationService.ConverterRatesTo.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n fromVal = '';\r\n toVal = '';\r\n \r\n rate = 0;\r\n ConverterRatesFrom: Array;\r\n ConverterRatesTo: Array;\r\n\r\n ConversionTable: Array;\r\n \r\n constructor(private route: ActivatedRoute, private calculationService: CalculationService) { }\r\n\r\n ngOnInit() {\r\n // Handle route param\r\n this.sub = this.route.queryParams.subscribe(params => {\r\n this.qsfrom = params['from'];\r\n this.qsto = params['to'];\r\n });\r\n \r\n var fromValues = '[{ \"from\": \"km/t\", \"selected\": true, \"rates\": [{ \"to\": \"mph\", \"rate\": 0.62137119223733 }, { \"to\": \"m/s\", \"rate\": 0.27777777777778 }, { \"to\": \"kn\", \"rate\": 0.53995680345572 }, { \"to\": \"ft/s\", \"rate\": 0.91134441528142 }] }, { \"from\": \"mph\", \"selected\": false, \"rates\": [{ \"to\": \"km/t\", \"rate\": 1.609344 }, { \"to\": \"m/s\", \"rate\": 0.44704 }, { \"to\": \"kn\", \"rate\": 0.86897624190065 }, { \"to\": \"ft/s\", \"rate\": 1.4666666666667 }] }, { \"from\": \"m/s\", \"selected\": false, \"rates\": [{ \"to\": \"km/t\", \"rate\": 3.6 }, { \"to\": \"mph\", \"rate\": 2.2369362920544 }, { \"to\": \"kn\", \"rate\": 1.9438444924406 }, { \"to\": \"ft/s\", \"rate\": 3.2808398950131 }] }, { \"from\": \"kn\", \"selected\": false, \"rates\": [{ \"to\": \"km/t\", \"rate\": 1.852 }, { \"to\": \"mph\", \"rate\": 1.1507794480235 }, { \"to\": \"m/s\", \"rate\": 0.51444444444444 }, { \"to\": \"ft/s\", \"rate\": 1.6878098571012 }] }, { \"from\": \"ft/s\", \"selected\": false, \"rates\": [{ \"to\": \"km/t\", \"rate\": 1.09728 }, { \"to\": \"mph\", \"rate\": 0.68181818181818 }, { \"to\": \"kn\", \"rate\": 0.5924838012959 }, { \"to\": \"m/s\", \"rate\": 0.3048 }] }]';\r\n var toValues = '[{\"from\":\"km/t\", \"selected\": false,\"rates\":[{\"to\":\"mph\",\"rate\":0.62137119223733},{\"to\":\"m/s\",\"rate\":0.27777777777778},{\"to\":\"kn\",\"rate\":0.53995680345572},{\"to\":\"ft/s\",\"rate\":0.91134441528142}]},{\"from\":\"mph\", \"selected\": true,\"rates\":[{\"to\":\"km/t\",\"rate\":1.609344},{\"to\":\"m/s\",\"rate\":0.44704},{\"to\":\"kn\",\"rate\":0.86897624190065},{\"to\":\"ft/s\",\"rate\":1.4666666666667}]},{\"from\":\"m/s\", \"selected\": false,\"rates\":[{\"to\":\"km/t\",\"rate\":3.6},{\"to\":\"mph\",\"rate\":2.2369362920544},{\"to\":\"kn\",\"rate\":1.9438444924406},{\"to\":\"ft/s\",\"rate\":3.2808398950131}]},{\"from\":\"kn\", \"selected\": false,\"rates\":[{\"to\":\"km/t\",\"rate\":1.852},{\"to\":\"mph\",\"rate\":1.1507794480235},{\"to\":\"m/s\",\"rate\":0.51444444444444},{\"to\":\"ft/s\",\"rate\":1.6878098571012}]},{\"from\":\"ft/s\", \"selected\": false,\"rates\":[{\"to\":\"km/t\",\"rate\":1.09728},{\"to\":\"mph\",\"rate\":0.68181818181818},{\"to\":\"kn\",\"rate\":0.5924838012959},{\"to\":\"m/s\",\"rate\":0.3048}]}]';\r\n\r\n if (this.qsfrom == 'NaN') {\r\n this.qsfrom = 'km/t';\r\n }\r\n if (this.qsto == 'NaN') {\r\n this.qsto = 'mph';\r\n }\r\n\r\n this.calculationService.Init(fromValues, toValues, this.qsfrom, this.qsto);\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal);\r\n this.rate = this.calculationService.CurrentRate;\r\n\r\n this.ConversionTable = [1, 2, 3, 4, 5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,25,30,40,50,60,70,80,90,100,200,300,400,500];\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n HandleFromTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesFrom) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesFrom[value].selected = true;\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n HandleToTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesTo) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesTo[value].selected = true;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n RecalculateFrom(e) {\r\n this.fromVal = e.target.value;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n RecalculateTo(e) {\r\n }\r\n\r\n SwitchRates() {\r\n this.calculationService.SwitchRates();\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3RlbXBlcmF0dXJlL3RlbXBlcmF0dXJlLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
\\r\\n

Temperature conversion

\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
From:
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
To:
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{fromVal}} {{fromType}} = {{toVal}} {{toType}}\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { SelectControlValueAccessor } from '@angular/forms';\r\nimport { debug } from 'util';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConversionRate } from '../conversionrate';\r\nimport { CalculationService } from '../calculation.service';\r\n\r\n@Component({\r\n selector: 'app-temperature',\r\n templateUrl: './temperature.component.html',\r\n styleUrls: ['./temperature.component.css']\r\n})\r\n\r\nexport class TemperatureComponent implements OnInit {\r\n qsfrom: string;\r\n qsto: string;\r\n private sub: any;\r\n\r\n get fromType(): string {\r\n return this.calculationService.ConverterRatesFrom.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n get toType(): string {\r\n return this.calculationService.ConverterRatesTo.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n fromVal = '';\r\n toVal = '';\r\n\r\n rate = 0;\r\n correction = 0;\r\n ConverterRatesFrom: Array;\r\n ConverterRatesTo: Array;\r\n\r\n ConversionTable: Array;\r\n\r\n constructor(private route: ActivatedRoute, private calculationService: CalculationService) { }\r\n\r\n ngOnInit() {\r\n // Handle route param\r\n this.sub = this.route.queryParams.subscribe(params => {\r\n this.qsfrom = params['from'];\r\n this.qsto = params['to'];\r\n });\r\n\r\n var fromValues = '[{\"from\":\"Celsius\",\"selected\":true,\"rates\":[{\"to\":\"Fahrenheit\",\"rate\":\"*1.8,+32\"},{\"to\":\"Kelvin\",\"rate\":\"*1,+273.15\"},{\"to\":\"Rankine\",\"rate\":\"0.8,\"},{\"to\":\"Reamur\",\"rate\":\"0.8\"}]},{\"from\":\"Fahrenheit\",\"selected\":false,\"rates\":[{\"to\":\"Celsius\",\"rate\":\"-32,/1.8\"},{\"to\":\"Kelvin\",\"rate\":\"+459.6,1.8\"},{\"to\":\"Rankine\",\"rate\":\"+459.67,*1\"},{\"to\":\"Reamur\",\"rate\":\"-32,*0.444444444\"}]},{\"from\":\"Kelvin\",\"selected\":false,\"rates\":[{\"to\":\"Celsius\",\"rate\":\"-273.15,*1\"},{\"to\":\"Fahrenheit\",\"rate\":\"*1.8,-459.67\"},{\"to\":\"Rankine\",\"rate\":1.8},{\"to\":\"Reamur\",\"rate\":\"-273.15,*0.8\"}]},{\"from\":\"Rankine\",\"selected\":false,\"rates\":[{\"to\":\"Celsius\",\"rate\":\"-491.67,*0,555555556\"},{\"to\":\"Fahrenheit\",\"rate\":\"-459.67,*1\"},{\"to\":\"Kelvin\",\"rate\":0.55555555555556},{\"to\":\"Reamur\",\"rate\":\"-491.67,*0.44444444444\"}]},{\"from\":\"Reamur\",\"selected\":false,\"rates\":[{\"to\":\"Celsius\",\"rate\":\"/0.8,*1\"},{\"to\":\"Fahrenheit\",\"rate\":\"*2.25,+32\"},{\"to\":\"Kelvin\",\"rate\":\"/0.8,+273.15\"},{\"to\":\"Rankine\",\"rate\":\"*2.25,+491.67\"}]}]';\r\n var toValues = '[{\"from\":\"Celsius\",\"selected\":false,\"rates\":[{\"to\":\"Fahrenheit\",\"rate\":\"*1.8,+32\"},{\"to\":\"Kelvin\",\"rate\":\"*1,+273.15\"},{\"to\":\"Rankine\",\"rate\":\"0.8,\"},{\"to\":\"Reamur\",\"rate\":\"0.8\"}]},{\"from\":\"Fahrenheit\",\"selected\":true,\"rates\":[{\"to\":\"Celsius\",\"rate\":\"-32,/1.8\"},{\"to\":\"Kelvin\",\"rate\":\"255.92777777778\"},{\"to\":\"Rankine\",\"rate\":\"+459.67,*1\"},{\"to\":\"Reamur\",\"rate\":\"-32,*0.444444444\"}]},{\"from\":\"Kelvin\",\"selected\":false,\"rates\":[{\"to\":\"Celsius\",\"rate\":\"-273.15,*1\"},{\"to\":\"Fahrenheit\",\"rate\":\"*1.8,-459.67\"},{\"to\":\"Rankine\",\"rate\":1.8},{\"to\":\"Reamur\",\"rate\":\"-273.15,*0.8\"}]},{\"from\":\"Rankine\",\"selected\":false,\"rates\":[{\"to\":\"Celsius\",\"rate\":\"-491.67,*0,555555556\"},{\"to\":\"Fahrenheit\",\"rate\":\"-459.67,*1\"},{\"to\":\"Kelvin\",\"rate\":0.55555555555556},{\"to\":\"Reamur\",\"rate\":\"-491.67,*0.44444444444\"}]},{\"from\":\"Reamur\",\"selected\":false,\"rates\":[{\"to\":\"Celsius\",\"rate\":\"/0.8,*1\"},{\"to\":\"Fahrenheit\",\"rate\":\"2.25,+32\"},{\"to\":\"Kelvin\",\"rate\":\"/0.8,+273.15\"},{\"to\":\"Rankine\",\"rate\":\"*2.25,+491.67\"}]}]';\r\n\r\n if (this.qsfrom == 'NaN') {\r\n this.qsfrom = 'Celcius';\r\n }\r\n if (this.qsto == 'NaN') {\r\n this.qsto = 'Fahrenheit';\r\n }\r\n\r\n this.calculationService.Init(fromValues, toValues, this.qsfrom, this.qsto);\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n this.correction = this.calculationService.CurrentCorrection;\r\n\r\n this.ConversionTable = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500];\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n HandleFromTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesFrom) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesFrom[value].selected = true;\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n this.correction = this.calculationService.CurrentCorrection;\r\n }\r\n\r\n HandleToTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesTo) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesTo[value].selected = true;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n this.correction = this.calculationService.CurrentCorrection;\r\n }\r\n\r\n RecalculateFrom(e) {\r\n this.fromVal = e.target.value;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n this.correction = this.calculationService.CurrentCorrection;\r\n \r\n }\r\n\r\n RecalculateTo(e) {\r\n }\r\n\r\n SwitchRates() {\r\n this.calculationService.SwitchRates();\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dlaWdodC93ZWlnaHQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n
\\r\\n

Weight conversion

\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
From:
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
To:
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{fromVal}} {{fromType}} = {{toVal}} {{toType}}\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
Conversionrate: {{rate}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Conversiontable:

\\r\\n
\\r\\n
{{multiplier}} {{fromType}} =
{{(multiplier * rate).toFixed(2)}} {{toType}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { SelectControlValueAccessor } from '@angular/forms';\r\nimport { debug } from 'util';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConversionRate } from '../conversionrate';\r\nimport { CalculationService } from '../calculation.service';\n\n@Component({\n selector: 'app-weight',\n templateUrl: './weight.component.html',\n styleUrls: ['./weight.component.css']\n})\nexport class WeightComponent implements OnInit {\n qsfrom: string;\r\n qsto: string;\r\n private sub: any;\r\n\r\n get fromType(): string {\r\n return this.calculationService.ConverterRatesFrom.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n get toType(): string {\r\n return this.calculationService.ConverterRatesTo.filter(rate => rate.selected == true)[0].from;;\r\n }\r\n\r\n fromVal = '';\r\n toVal = '';\r\n\r\n rate = 0;\r\n ConverterRatesFrom: Array;\r\n ConverterRatesTo: Array;\r\n\r\n ConversionTable: Array;\r\n\r\n constructor(private route: ActivatedRoute, private calculationService: CalculationService) { }\r\n\n ngOnInit() {\n // Handle route param\r\n this.sub = this.route.queryParams.subscribe(params => {\r\n this.qsfrom = params['from'];\r\n this.qsto = params['to'];\r\n });\r\n\r\n var fromValues = '[{\"from\":\"g\",\"selected\":true,\"rates\":[{\"to\":\"kg\",\"rate\":0.001},{\"to\":\"oz\",\"rate\":0.03527396194958},{\"to\":\"lb\",\"rate\":0.0022046226218488},{\"to\":\"t\",\"rate\":0.000001}]},{\"from\":\"kg\",\"selected\":false,\"rates\":[{\"to\":\"g\",\"rate\":1000},{\"to\":\"oz\",\"rate\":35.27396194958},{\"to\":\"lb\",\"rate\":2.2046226218488},{\"to\":\"t\",\"rate\":0.001}]},{\"from\":\"oz\",\"selected\":false,\"rates\":[{\"to\":\"g\",\"rate\":28.349523125},{\"to\":\"kg\",\"rate\":0.028349523125},{\"to\":\"lb\",\"rate\":0.0625},{\"to\":\"t\",\"rate\":0.000028349523125}]},{\"from\":\"lb\",\"selected\":false,\"rates\":[{\"to\":\"g\",\"rate\":453.59237},{\"to\":\"kg\",\"rate\":0.45359237},{\"to\":\"oz\",\"rate\":16},{\"to\":\"t\",\"rate\":0.00045359237}]},{\"from\":\"t\",\"selected\":false,\"rates\":[{\"to\":\"g\",\"rate\":1000000},{\"to\":\"kg\",\"rate\":1000},{\"to\":\"oz\",\"rate\":35273.96194958},{\"to\":\"lb\",\"rate\":2204.6226218488}]}]';\r\n var toValues = '[{\"from\":\"g\",\"selected\":false,\"rates\":[{\"to\":\"kg\",\"rate\":0.001},{\"to\":\"oz\",\"rate\":0.03527396194958},{\"to\":\"lb\",\"rate\":0.0022046226218488},{\"to\":\"t\",\"rate\":0.000001}]},{\"from\":\"kg\",\"selected\":false,\"rates\":[{\"to\":\"g\",\"rate\":1000},{\"to\":\"oz\",\"rate\":35.27396194958},{\"to\":\"lb\",\"rate\":2.2046226218488},{\"to\":\"t\",\"rate\":0.001}]},{\"from\":\"oz\",\"selected\":true,\"rates\":[{\"to\":\"g\",\"rate\":28.349523125},{\"to\":\"kg\",\"rate\":0.028349523125},{\"to\":\"lb\",\"rate\":0.0625},{\"to\":\"t\",\"rate\":0.000028349523125}]},{\"from\":\"lb\",\"selected\":false,\"rates\":[{\"to\":\"g\",\"rate\":453.59237},{\"to\":\"kg\",\"rate\":0.45359237},{\"to\":\"oz\",\"rate\":16},{\"to\":\"t\",\"rate\":0.00045359237}]},{\"from\":\"t\",\"selected\":false,\"rates\":[{\"to\":\"g\",\"rate\":1000000},{\"to\":\"kg\",\"rate\":1000},{\"to\":\"oz\",\"rate\":35273.96194958},{\"to\":\"lb\",\"rate\":2204.6226218488}]}]';\r\n\r\n if (this.qsfrom == 'NaN') {\r\n this.qsfrom = 'g';\r\n }\r\n if (this.qsto == 'NaN') {\r\n this.qsto = 'oz';\r\n }\r\n\r\n this.calculationService.Init(fromValues, toValues, this.qsfrom, this.qsto);\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal);\r\n this.rate = this.calculationService.CurrentRate;\r\n\r\n this.ConversionTable = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500];\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n HandleFromTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesFrom) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesFrom[value].selected = true;\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n HandleToTypeChange(event: Event): void {\r\n const value: number = (event.srcElement[\"selectedIndex\"]);\r\n\r\n // Clear all selected\r\n for (let rate of this.calculationService.ConverterRatesTo) {\r\n rate.selected = false;\r\n }\r\n this.calculationService.ConverterRatesTo[value].selected = true;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n RecalculateFrom(e) {\r\n this.fromVal = e.target.value;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n\r\n RecalculateTo(e) {\r\n }\r\n\r\n SwitchRates() {\r\n this.calculationService.SwitchRates();\r\n this.ConverterRatesFrom = this.calculationService.ConverterRatesFrom;\r\n this.ConverterRatesTo = this.calculationService.ConverterRatesTo;\r\n this.toVal = this.calculationService.Calculate(this.fromVal).toString();\r\n this.rate = this.calculationService.CurrentRate;\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dlbGNvbWUvd2VsY29tZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"

\\r\\n Welcome to
\\r\\n Converters.today\\r\\n

\\r\\n\\r\\n
\\r\\n Choose category:\\r\\n \\r\\n
\\r\\n \\r\\n Speed\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Weight\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Area\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Color\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-welcome',\n templateUrl: './welcome.component.html',\n styleUrls: ['./welcome.component.css']\n})\nexport class WelcomeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n\n"],"sourceRoot":""}