webpackJsonp([2],{0:function(e,t,r){"use strict";var n=r(1),o=r(318),a=r(87),i=r(121),s=r(753),l=r(754),c=r(771),u=r(38),p=r(58);n.enableProdMode(),o.bootstrap(s.AppComponent,[a.HTTP_PROVIDERS,l.APP_ROUTER_PROVIDERS,i.disableDeprecatedForms(),i.provideForms(),c.ConfigService,u.AuthApiService,p.LOGIN_SERVICE_PROVIDER]).catch(function(e){return console.error(e)})},19:3,29:[782,19],32:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";function n(e){return u.isPromise(e)?e:l.ObservableWrapper.toPromise(e)}function o(e,t){return t.map(function(t){return t(e)})}function a(e,t){return t.map(function(t){return t(e)})}function i(e){var t=e.reduce(function(e,t){return u.isPresent(t)?c.StringMapWrapper.merge(e,t):e},{});return c.StringMapWrapper.isEmpty(t)?null:t}var s=r(1),l=r(62),c=r(29),u=r(19),p=r(309);t.NG_VALIDATORS=new s.OpaqueToken("NgValidators"),t.NG_ASYNC_VALIDATORS=new s.OpaqueToken("NgAsyncValidators");var d=function(){function e(){}return e.required=function(e){return u.isBlank(e.value)||u.isString(e.value)&&""==e.value?{required:!0}:null},e.minLength=function(t){return function(r){if(u.isPresent(e.required(r)))return null;var n=r.value;return n.length<t?{minlength:{requiredLength:t,actualLength:n.length}}:null}},e.maxLength=function(t){return function(r){if(u.isPresent(e.required(r)))return null;var n=r.value;return n.length>t?{maxlength:{requiredLength:t,actualLength:n.length}}:null}},e.pattern=function(t){return function(r){if(u.isPresent(e.required(r)))return null;var n=new RegExp("^"+t+"$"),o=r.value;return n.test(o)?null:{pattern:{requiredPattern:"^"+t+"$",actualValue:o}}}},e.nullValidator=function(e){return null},e.compose=function(e){if(u.isBlank(e))return null;var t=e.filter(u.isPresent);return 0==t.length?null:function(e){return i(o(e,t))}},e.composeAsync=function(e){if(u.isBlank(e))return null;var t=e.filter(u.isPresent);return 0==t.length?null:function(e){var r=a(e,t).map(n);return p.PromiseWrapper.all(r).then(i)}},e}();t.Validators=d},35:34,38:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(770)),n(r(379))},42:[785,194],49:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";function n(e,t){var r=p.ListWrapper.clone(t.path);return r.push(e),r}function o(e,t){h.isBlank(e)&&i(t,"Cannot find control"),h.isBlank(t.valueAccessor)&&i(t,"No value accessor for"),e.validator=f.Validators.compose([e.validator,t.validator]),e.asyncValidator=f.Validators.composeAsync([e.asyncValidator,t.asyncValidator]),t.valueAccessor.writeValue(e.value),t.valueAccessor.registerOnChange(function(r){t.viewToModelUpdate(r),e.updateValue(r,{emitModelToViewChange:!1}),e.markAsDirty()}),e.registerOnChange(function(e){return t.valueAccessor.writeValue(e)}),t.valueAccessor.registerOnTouched(function(){return e.markAsTouched()})}function a(e,t){h.isBlank(e)&&i(t,"Cannot find control"),e.validator=f.Validators.compose([e.validator,t.validator]),e.asyncValidator=f.Validators.composeAsync([e.asyncValidator,t.asyncValidator])}function i(e,t){var r=e.path.join(" -> ");throw new d.BaseException(t+" '"+r+"'")}function s(e){return h.isPresent(e)?f.Validators.compose(e.map(_.normalizeValidator)):null}function l(e){return h.isPresent(e)?f.Validators.composeAsync(e.map(_.normalizeAsyncValidator)):null}function c(e,t){if(!p.StringMapWrapper.contains(e,"model"))return!1;var r=e.model;return!!r.isFirstChange()||!h.looseIdentical(t,r.currentValue)}function u(e,t){if(h.isBlank(t))return null;var r,n,o;return t.forEach(function(t){h.hasConstructor(t,g.DefaultValueAccessor)?r=t:h.hasConstructor(t,m.CheckboxControlValueAccessor)||h.hasConstructor(t,b.NumberValueAccessor)||h.hasConstructor(t,y.SelectControlValueAccessor)||h.hasConstructor(t,w.SelectMultipleControlValueAccessor)||h.hasConstructor(t,v.RadioControlValueAccessor)?(h.isPresent(n)&&i(e,"More than one built-in value accessor matches"),n=t):(h.isPresent(o)&&i(e,"More than one custom value accessor matches"),o=t)}),h.isPresent(o)?o:h.isPresent(n)?n:h.isPresent(r)?r:(i(e,"No valid value accessor for"),null)}var p=r(29),d=r(77),h=r(19),f=r(32),m=r(122),g=r(123),_=r(450),b=r(199),v=r(124),y=r(125),w=r(205);t.controlPath=n,t.setUpControl=o,t.setUpFormContainer=a,t.composeValidators=s,t.composeAsyncValidators=l,t.isPropertyUpdated=c,t.selectValueAccessor=u},58:function(e,t,r){"use strict";var n=r(1),o=r(2),a=r(379),i=function(){function e(e){this.api=e,this.loggedIn=new n.EventEmitter,this.loggedOut=new n.EventEmitter;var t=localStorage.getItem("token");t&&this.updateUser(t).subscribe(function(e){},function(e){})}return e.getInstance=function(t){return null===e.instance&&(e.instance=new e(t)),e.instance},e.prototype.getToken=function(){return localStorage.getItem("token")},e.prototype.getIsLoggedIn=function(){return null!=this.user},e.prototype.login=function(e,t){var r=this;return this.api.authenticate(e,t).flatMap(function(e){return r.updateUser(e)})},e.prototype.logout=function(){this.user=null,this.clearToken(),this.loggedOut.emit({})},e.prototype.updateUser=function(e){var t=this;return this.api.getCurrentUser(e).map(function(r){return t.setToken(e),t.user=r,t.loggedIn.emit(r),r}).catch(function(e){return t.logout(),o.Observable.throw("invalid token")})},e.prototype.setToken=function(e){localStorage.setItem("token",e)},e.prototype.clearToken=function(){localStorage.removeItem("token")},e.instance=null,__decorate([n.Output(),__metadata("design:type",Object)],e.prototype,"loggedIn",void 0),__decorate([n.Output(),__metadata("design:type",Object)],e.prototype,"loggedOut",void 0),e=__decorate([n.Injectable(),__metadata("design:paramtypes",[a.AuthApiService])],e)}();t.LoginService=i,t.LOGIN_SERVICE_PROVIDER=[n.provide(i,{deps:[a.AuthApiService],useFactory:function(e){return i.getInstance(e)}})]},61:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(77),a=r(194),i=function(e){function t(){e.apply(this,arguments),this.name=null,this.valueAccessor=null}return n(t,e),Object.defineProperty(t.prototype,"validator",{get:function(){return o.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return o.unimplemented()},enumerable:!0,configurable:!0}),t}(a.AbstractControlDirective);t.NgControl=i},62:[781,19,309],77:[784,307,308,308],97:function(e,t,r){"use strict";var n=r(1),o=function(){function e(){this._isTwitterBroken=!1,this._isHomeLinkBroken=!1,this._isLogoutBroken=!1}return e.prototype.isTwitterBroken=function(){return this._isTwitterBroken},e.prototype.isHomeLinkBroken=function(){return this._isHomeLinkBroken},e.prototype.isLogoutBroken=function(){return this._isLogoutBroken},e.prototype.reset=function(){this._isTwitterBroken=!1,this._isHomeLinkBroken=!1,this._isLogoutBroken=!1},e.prototype.breakTwitter=function(){this._isTwitterBroken=!0},e.prototype.breakHomeLink=function(){this._isHomeLinkBroken=!0},e.prototype.breakLogout=function(){this._isLogoutBroken=!0},e=__decorate([n.Injectable(),__metadata("design:paramtypes",[])],e)}();t.BrokenService=o},121:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(452))},122:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(1),o=r(35);t.CHECKBOX_VALUE_ACCESSOR={provide:o.NG_VALUE_ACCESSOR,useExisting:n.forwardRef(function(){return a}),multi:!0};var a=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this._renderer.setElementProperty(this._elementRef.nativeElement,"checked",e)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.decorators=[{type:n.Directive,args:[{selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},providers:[t.CHECKBOX_VALUE_ACCESSOR]}]}],e.ctorParameters=[{type:n.Renderer},{type:n.ElementRef}],e}();t.CheckboxControlValueAccessor=a},123:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(1),o=r(19),a=r(35);t.DEFAULT_VALUE_ACCESSOR={provide:a.NG_VALUE_ACCESSOR,useExisting:n.forwardRef(function(){return i}),multi:!0};var i=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){var t=o.isBlank(e)?"":e;this._renderer.setElementProperty(this._elementRef.nativeElement,"value",t)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.decorators=[{type:n.Directive,args:[{selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[t.DEFAULT_VALUE_ACCESSOR]}]}],e.ctorParameters=[{type:n.Renderer},{type:n.ElementRef}],e}();t.DefaultValueAccessor=i},124:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(1),o=r(29),a=r(77),i=r(19),s=r(35),l=r(61);t.RADIO_VALUE_ACCESSOR={provide:s.NG_VALUE_ACCESSOR,useExisting:n.forwardRef(function(){return u}),multi:!0};var c=function(){function e(){this._accessors=[]}return e.prototype.add=function(e,t){this._accessors.push([e,t])},e.prototype.remove=function(e){for(var t=-1,r=0;r<this._accessors.length;++r)this._accessors[r][1]===e&&(t=r);o.ListWrapper.removeAt(this._accessors,t)},e.prototype.select=function(e){var t=this;this._accessors.forEach(function(r){t._isSameGroup(r,e)&&r[1]!==e&&r[1].fireUncheck(e.value)})},e.prototype._isSameGroup=function(e,t){return!!e[0].control&&e[0].control.root===t._control.control.root&&e[1].name===t.name},e.decorators=[{type:n.Injectable}],e}();t.RadioControlRegistry=c;var u=function(){function e(e,t,r,n){this._renderer=e,this._elementRef=t,this._registry=r,this._injector=n,this.onChange=function(){},this.onTouched=function(){}}return e.prototype.ngOnInit=function(){this._control=this._injector.get(l.NgControl),this._checkName(),this._registry.add(this._control,this)},e.prototype.ngOnDestroy=function(){this._registry.remove(this)},e.prototype.writeValue=function(e){this._state=e===this.value,i.isPresent(e)&&this._renderer.setElementProperty(this._elementRef.nativeElement,"checked",this._state)},e.prototype.registerOnChange=function(e){var t=this;this._fn=e,this.onChange=function(){e(t.value),t._registry.select(t)}},e.prototype.fireUncheck=function(e){this.writeValue(e)},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},e.prototype._throwNameError=function(){throw new a.BaseException('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <input type="radio" formControlName="food" name="food">\n ')},e.decorators=[{type:n.Directive,args:[{selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[t.RADIO_VALUE_ACCESSOR]}]}],e.ctorParameters=[{type:n.Renderer},{type:n.ElementRef},{type:c},{type:n.Injector}],e.propDecorators={name:[{type:n.Input}],formControlName:[{type:n.Input}],value:[{type:n.Input}]},e}();t.RadioControlValueAccessor=u},125:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";function n(e,t){return s.isBlank(e)?""+t:(s.isPrimitive(t)||(t="Object"),s.StringWrapper.slice(e+": "+t,0,50))}function o(e){return e.split(":")[0]}var a=r(1),i=r(29),s=r(19),l=r(35);t.SELECT_VALUE_ACCESSOR={provide:l.NG_VALUE_ACCESSOR,useExisting:a.forwardRef(function(){return c}),multi:!0};var c=function(){function e(e,t){this._renderer=e,this._elementRef=t,this._optionMap=new Map,this._idCounter=0,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this.value=e;var t=n(this._getOptionId(e),e);this._renderer.setElementProperty(this._elementRef.nativeElement,"value",t)},e.prototype.registerOnChange=function(e){var t=this;this.onChange=function(r){t.value=r,e(t._getOptionValue(r))}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype._registerOption=function(){return(this._idCounter++).toString()},e.prototype._getOptionId=function(e){for(var t=0,r=i.MapWrapper.keys(this._optionMap);t<r.length;t++){var n=r[t];if(s.looseIdentical(this._optionMap.get(n),e))return n}return null},e.prototype._getOptionValue=function(e){var t=this._optionMap.get(o(e));return s.isPresent(t)?t:e},e.decorators=[{type:a.Directive,args:[{selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[t.SELECT_VALUE_ACCESSOR]}]}],e.ctorParameters=[{type:a.Renderer},{type:a.ElementRef}],e}();t.SelectControlValueAccessor=c;var u=function(){function e(e,t,r){this._element=e,this._renderer=t,this._select=r,s.isPresent(this._select)&&(this.id=this._select._registerOption())}return Object.defineProperty(e.prototype,"ngValue",{set:function(e){null!=this._select&&(this._select._optionMap.set(this.id,e),this._setElementValue(n(this.id,e)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{set:function(e){this._setElementValue(e),s.isPresent(this._select)&&this._select.writeValue(this._select.value)},enumerable:!0,configurable:!0}),e.prototype._setElementValue=function(e){this._renderer.setElementProperty(this._element.nativeElement,"value",e)},e.prototype.ngOnDestroy=function(){s.isPresent(this._select)&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},e.decorators=[{type:a.Directive,args:[{selector:"option"}]}],e.ctorParameters=[{type:a.ElementRef},{type:a.Renderer},{type:c,decorators:[{type:a.Optional},{type:a.Host}]}],e.propDecorators={ngValue:[{type:a.Input,args:["ngValue"]}],value:[{type:a.Input,args:["value"]}]},e}();t.NgSelectOption=u},126:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";function n(e){return e instanceof h}function o(e,t){return d.isBlank(t)?null:(t instanceof Array||(t=t.split("/")),t instanceof Array&&p.ListWrapper.isEmpty(t)?null:t.reduce(function(e,t){if(e instanceof m)return d.isPresent(e.controls[t])?e.controls[t]:null;if(e instanceof g){var r=t;return d.isPresent(e.at(r))?e.at(r):null}return null},e))}function a(e){return d.isPromise(e)?u.ObservableWrapper.fromPromise(e):e}function i(e){return Array.isArray(e)?c.composeValidators(e):e}function s(e){return Array.isArray(e)?c.composeAsyncValidators(e):e}var l=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},c=r(49),u=r(62),p=r(29),d=r(19);t.VALID="VALID",t.INVALID="INVALID",t.PENDING="PENDING",t.isControl=n;var h=function(){function e(e,t){this.validator=e,this.asyncValidator=t,this._pristine=!0,this._touched=!1}return Object.defineProperty(e.prototype,"value",{get:function(){return this._value},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"status",{get:function(){return this._status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"valid",{get:function(){return this._status===t.VALID},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errors",{get:function(){return this._errors},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pristine",{get:function(){return this._pristine},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"touched",{get:function(){return this._touched},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"untouched",{get:function(){return!this._touched},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"valueChanges",{get:function(){return this._valueChanges},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"statusChanges",{get:function(){return this._statusChanges},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pending",{get:function(){return this._status==t.PENDING},enumerable:!0,configurable:!0}),e.prototype.setAsyncValidators=function(e){this.asyncValidator=s(e)},e.prototype.clearAsyncValidators=function(){this.asyncValidator=null},e.prototype.setValidators=function(e){this.validator=i(e)},e.prototype.clearValidators=function(){this.validator=null},e.prototype.markAsTouched=function(){this._touched=!0},e.prototype.markAsDirty=function(e){var t=(void 0===e?{}:e).onlySelf;t=d.normalizeBool(t),this._pristine=!1,d.isPresent(this._parent)&&!t&&this._parent.markAsDirty({onlySelf:t})},e.prototype.markAsPending=function(e){var r=(void 0===e?{}:e).onlySelf;r=d.normalizeBool(r),this._status=t.PENDING,d.isPresent(this._parent)&&!r&&this._parent.markAsPending({onlySelf:r})},e.prototype.setParent=function(e){this._parent=e},e.prototype.updateValueAndValidity=function(e){var r=void 0===e?{}:e,n=r.onlySelf,o=r.emitEvent;n=d.normalizeBool(n),o=!d.isPresent(o)||o,this._updateValue(),this._errors=this._runValidator(),this._status=this._calculateStatus(),this._status!=t.VALID&&this._status!=t.PENDING||this._runAsyncValidator(o),o&&(u.ObservableWrapper.callEmit(this._valueChanges,this._value),u.ObservableWrapper.callEmit(this._statusChanges,this._status)),d.isPresent(this._parent)&&!n&&this._parent.updateValueAndValidity({onlySelf:n,emitEvent:o})},e.prototype._runValidator=function(){return d.isPresent(this.validator)?this.validator(this):null},e.prototype._runAsyncValidator=function(e){var r=this;if(d.isPresent(this.asyncValidator)){this._status=t.PENDING,this._cancelExistingSubscription();var n=a(this.asyncValidator(this));this._asyncValidationSubscription=u.ObservableWrapper.subscribe(n,function(t){return r.setErrors(t,{emitEvent:e})})}},e.prototype._cancelExistingSubscription=function(){d.isPresent(this._asyncValidationSubscription)&&u.ObservableWrapper.dispose(this._asyncValidationSubscription)},e.prototype.setErrors=function(e,t){var r=(void 0===t?{}:t).emitEvent;r=!d.isPresent(r)||r,this._errors=e,this._updateControlsErrors(r)},e.prototype.find=function(e){return o(this,e)},e.prototype.getError=function(e,t){void 0===t&&(t=null);var r=d.isPresent(t)&&!p.ListWrapper.isEmpty(t)?this.find(t):this;return d.isPresent(r)&&d.isPresent(r._errors)?p.StringMapWrapper.get(r._errors,e):null},e.prototype.hasError=function(e,t){return void 0===t&&(t=null),d.isPresent(this.getError(e,t))},Object.defineProperty(e.prototype,"root",{get:function(){for(var e=this;d.isPresent(e._parent);)e=e._parent;return e},enumerable:!0,configurable:!0}),e.prototype._updateControlsErrors=function(e){this._status=this._calculateStatus(),e&&u.ObservableWrapper.callEmit(this._statusChanges,this._status),d.isPresent(this._parent)&&this._parent._updateControlsErrors(e)},e.prototype._initObservables=function(){this._valueChanges=new u.EventEmitter,this._statusChanges=new u.EventEmitter},e.prototype._calculateStatus=function(){return d.isPresent(this._errors)?t.INVALID:this._anyControlsHaveStatus(t.PENDING)?t.PENDING:this._anyControlsHaveStatus(t.INVALID)?t.INVALID:t.VALID},e}();t.AbstractControl=h;var f=function(e){function t(t,r,n){void 0===t&&(t=null),void 0===r&&(r=null),void 0===n&&(n=null),e.call(this,i(r),s(n)),this._onChange=[],this._value=t,this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}return l(t,e),t.prototype.updateValue=function(e,t){var r=this,n=void 0===t?{}:t,o=n.onlySelf,a=n.emitEvent,i=n.emitModelToViewChange;i=!d.isPresent(i)||i,this._value=e,this._onChange.length&&i&&this._onChange.forEach(function(e){return e(r._value)}),this.updateValueAndValidity({onlySelf:o,emitEvent:a})},t.prototype._updateValue=function(){},t.prototype._anyControlsHaveStatus=function(e){return!1},t.prototype.registerOnChange=function(e){this._onChange.push(e)},t}(h);t.FormControl=f;var m=function(e){function t(t,r,n,o){void 0===r&&(r=null),void 0===n&&(n=null),void 0===o&&(o=null),e.call(this,n,o),this.controls=t,this._optionals=d.isPresent(r)?r:{},this._initObservables(),this._setParentForControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}return l(t,e),t.prototype.registerControl=function(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t)},t.prototype.addControl=function(e,t){this.registerControl(e,t),this.updateValueAndValidity()},t.prototype.removeControl=function(e){p.StringMapWrapper.delete(this.controls,e),this.updateValueAndValidity()},t.prototype.include=function(e){p.StringMapWrapper.set(this._optionals,e,!0),this.updateValueAndValidity()},t.prototype.exclude=function(e){p.StringMapWrapper.set(this._optionals,e,!1),this.updateValueAndValidity()},t.prototype.contains=function(e){var t=p.StringMapWrapper.contains(this.controls,e);return t&&this._included(e)},t.prototype._setParentForControls=function(){var e=this;p.StringMapWrapper.forEach(this.controls,function(t,r){t.setParent(e)})},t.prototype._updateValue=function(){this._value=this._reduceValue()},t.prototype._anyControlsHaveStatus=function(e){var t=this,r=!1;return p.StringMapWrapper.forEach(this.controls,function(n,o){r=r||t.contains(o)&&n.status==e}),r},t.prototype._reduceValue=function(){return this._reduceChildren({},function(e,t,r){return e[r]=t.value,e})},t.prototype._reduceChildren=function(e,t){var r=this,n=e;return p.StringMapWrapper.forEach(this.controls,function(e,o){r._included(o)&&(n=t(n,e,o))}),n},t.prototype._included=function(e){var t=p.StringMapWrapper.contains(this._optionals,e);return!t||p.StringMapWrapper.get(this._optionals,e)},t}(h);t.FormGroup=m;var g=function(e){function t(t,r,n){void 0===r&&(r=null),void 0===n&&(n=null),e.call(this,r,n),this.controls=t,this._initObservables(),this._setParentForControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}return l(t,e),t.prototype.at=function(e){return this.controls[e]},t.prototype.push=function(e){this.controls.push(e),e.setParent(this),this.updateValueAndValidity()},t.prototype.insert=function(e,t){p.ListWrapper.insert(this.controls,e,t),t.setParent(this),this.updateValueAndValidity()},t.prototype.removeAt=function(e){p.ListWrapper.removeAt(this.controls,e),this.updateValueAndValidity()},Object.defineProperty(t.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),t.prototype._updateValue=function(){this._value=this.controls.map(function(e){return e.value})},t.prototype._anyControlsHaveStatus=function(e){return this.controls.some(function(t){return t.status==e})},t.prototype._setParentForControls=function(){var e=this;this.controls.forEach(function(t){t.setParent(e)})},t}(h);t.FormArray=g},194:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(77),o=r(19),a=function(){function e(){}return Object.defineProperty(e.prototype,"control",{get:function(){return n.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return o.isPresent(this.control)?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"valid",{get:function(){return o.isPresent(this.control)?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errors",{get:function(){return o.isPresent(this.control)?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pristine",{get:function(){return o.isPresent(this.control)?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dirty",{get:function(){return o.isPresent(this.control)?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"touched",{get:function(){return o.isPresent(this.control)?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"untouched",{get:function(){return o.isPresent(this.control)?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"statusChanges",{get:function(){return o.isPresent(this.control)?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"valueChanges",{get:function(){return o.isPresent(this.control)?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e}();t.AbstractControlDirective=a},195:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(1),o=r(19),a=r(61),i=function(){function e(e){this._cd=e}return Object.defineProperty(e.prototype,"ngClassUntouched",{get:function(){return!!o.isPresent(this._cd.control)&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassTouched",{get:function(){return!!o.isPresent(this._cd.control)&&this._cd.control.touched},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassPristine",{get:function(){return!!o.isPresent(this._cd.control)&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassDirty",{get:function(){return!!o.isPresent(this._cd.control)&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassValid",{get:function(){return!!o.isPresent(this._cd.control)&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassInvalid",{get:function(){return!!o.isPresent(this._cd.control)&&!this._cd.control.valid},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Directive,args:[{selector:"[formControlName],[ngModel],[formControl]",host:{"[class.ng-untouched]":"ngClassUntouched","[class.ng-touched]":"ngClassTouched","[class.ng-pristine]":"ngClassPristine","[class.ng-dirty]":"ngClassDirty","[class.ng-valid]":"ngClassValid","[class.ng-invalid]":"ngClassInvalid"}}]}],e.ctorParameters=[{type:a.NgControl,decorators:[{type:n.Self}]}],e}();t.NgControlStatus=i},196:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(1),a=r(62),i=r(29),s=r(19),l=r(126),c=r(32),u=r(42),p=r(49);t.formDirectiveProvider={provide:u.ControlContainer,useExisting:o.forwardRef(function(){return d})};var d=function(e){function r(t,r){e.call(this),this._submitted=!1,this.ngSubmit=new a.EventEmitter,this.form=new l.FormGroup({},null,p.composeValidators(t),p.composeAsyncValidators(r))}return n(r,e),Object.defineProperty(r.prototype,"submitted",{get:function(){return this._submitted},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),r.prototype.addControl=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){var r=t._findContainer(e.path);e._control=r.registerControl(e.name,e.control),p.setUpControl(e.control,e),e.control.updateValueAndValidity({emitEvent:!1})})},r.prototype.getControl=function(e){return this.form.find(e.path)},r.prototype.removeControl=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){var r=t._findContainer(e.path);s.isPresent(r)&&r.removeControl(e.name)})},r.prototype.addFormGroup=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){var r=t._findContainer(e.path),n=new l.FormGroup({});p.setUpFormContainer(n,e),r.registerControl(e.name,n),n.updateValueAndValidity({emitEvent:!1})})},r.prototype.removeFormGroup=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){var r=t._findContainer(e.path);s.isPresent(r)&&r.removeControl(e.name)})},r.prototype.getFormGroup=function(e){return this.form.find(e.path)},r.prototype.updateModel=function(e,t){var r=this;a.PromiseWrapper.scheduleMicrotask(function(){var n=r.form.find(e.path);n.updateValue(t)})},r.prototype.onSubmit=function(){return this._submitted=!0,a.ObservableWrapper.callEmit(this.ngSubmit,null),!1},r.prototype._findContainer=function(e){return e.pop(),i.ListWrapper.isEmpty(e)?this.form:this.form.find(e)},r.decorators=[{type:o.Directive,args:[{selector:"form:not([ngNoForm]):not([formGroup]),ngForm,[ngForm]",providers:[t.formDirectiveProvider],host:{"(submit)":"onSubmit()"},outputs:["ngSubmit"],exportAs:"ngForm"}]}],r.ctorParameters=[{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[c.NG_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[c.NG_ASYNC_VALIDATORS]}]}],r}(u.ControlContainer);t.NgForm=d},197:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(1),a=r(62),i=r(77),s=r(126),l=r(32),c=r(42),u=r(35),p=r(61),d=r(49);t.formControlBinding={provide:p.NgControl,useExisting:o.forwardRef(function(){return h})};var h=function(e){function r(t,r,n,o){e.call(this),this._parent=t,this._validators=r,this._asyncValidators=n,this._control=new s.FormControl,this._registered=!1,this.update=new a.EventEmitter,this.valueAccessor=d.selectValueAccessor(this,o)}return n(r,e),r.prototype.ngOnChanges=function(e){this._checkName(),this._registered||this._setUpControl(),d.isPropertyUpdated(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},r.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(r.prototype,"control",{get:function(){return this._control},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"path",{get:function(){return this._parent?d.controlPath(this.name,this._parent):[]},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"validator",{get:function(){return d.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"asyncValidator",{get:function(){return d.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),r.prototype.viewToModelUpdate=function(e){this.viewModel=e,a.ObservableWrapper.callEmit(this.update,e)},r.prototype._setUpControl=function(){this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},r.prototype._isStandalone=function(){return!this._parent||this.options&&this.options.standalone},r.prototype._setUpStandalone=function(){d.setUpControl(this._control,this),this._control.updateValueAndValidity({emitEvent:!1})},r.prototype._checkName=function(){if(this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&!this.name)throw new i.BaseException('If ngModel is used within a form tag, either the name attribute must be set\n or the form control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: <input [(ngModel)]="person.firstName" name="first">\n Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">\n ')},r.prototype._updateValue=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){t.control.updateValue(e)})},r.decorators=[{type:o.Directive,args:[{selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[t.formControlBinding],exportAs:"ngModel"}]}],r.ctorParameters=[{type:c.ControlContainer,decorators:[{type:o.Optional},{type:o.Host}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[l.NG_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[l.NG_ASYNC_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[u.NG_VALUE_ACCESSOR]}]}],r.propDecorators={model:[{type:o.Input,args:["ngModel"]}],name:[{type:o.Input}],options:[{type:o.Input,args:["ngModelOptions"]}],update:[{type:o.Output,args:["ngModelChange"]}]},r}(p.NgControl);t.NgModel=h},198:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(1),a=r(32),i=r(306),s=r(42);t.modelGroupProvider={provide:s.ControlContainer,useExisting:o.forwardRef(function(){return l})};var l=function(e){function r(t,r,n){e.call(this),this._parent=t,this._validators=r,this._asyncValidators=n}return n(r,e),r.decorators=[{type:o.Directive,args:[{selector:"[ngModelGroup]",providers:[t.modelGroupProvider],exportAs:"ngModelGroup"}]}],r.ctorParameters=[{type:s.ControlContainer,decorators:[{type:o.Host},{type:o.SkipSelf}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[a.NG_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[a.NG_ASYNC_VALIDATORS]}]}],r.propDecorators={name:[{type:o.Input,args:["ngModelGroup"]}]},r}(i.AbstractFormGroupDirective);t.NgModelGroup=l},199:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(1),o=r(19),a=r(35);t.NUMBER_VALUE_ACCESSOR={provide:a.NG_VALUE_ACCESSOR,useExisting:n.forwardRef(function(){return i}),multi:!0};var i=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this._renderer.setElementProperty(this._elementRef.nativeElement,"value",e)},e.prototype.registerOnChange=function(e){this.onChange=function(t){e(""==t?null:o.NumberWrapper.parseFloat(t))}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.decorators=[{type:n.Directive,args:[{selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[t.NUMBER_VALUE_ACCESSOR]}]}],e.ctorParameters=[{type:n.Renderer},{type:n.ElementRef}],e}();t.NumberValueAccessor=i},200:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(1),a=r(32),i=r(42),s=r(49);t.formArrayNameProvider={provide:i.ControlContainer,useExisting:o.forwardRef(function(){return l})};var l=function(e){function r(t,r,n){e.call(this),this._parent=t,this._validators=r,this._asyncValidators=n}return n(r,e),r.prototype.ngOnInit=function(){this.formDirective.addFormArray(this)},r.prototype.ngOnDestroy=function(){this.formDirective.removeFormArray(this)},Object.defineProperty(r.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"formDirective",{get:function(){return this._parent.formDirective},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"path",{get:function(){return s.controlPath(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"validator",{get:function(){return s.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"asyncValidator",{get:function(){return s.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),r.decorators=[{type:o.Directive,args:[{selector:"[formArrayName]",providers:[t.formArrayNameProvider]}]}],r.ctorParameters=[{type:i.ControlContainer,decorators:[{type:o.Host},{type:o.SkipSelf}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[a.NG_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[a.NG_ASYNC_VALIDATORS]}]}],r.propDecorators={name:[{type:o.Input,args:["formArrayName"]}]},r}(i.ControlContainer);t.FormArrayName=l},201:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(1),a=r(62),i=r(29),s=r(32),l=r(35),c=r(61),u=r(49);t.formControlBinding={provide:c.NgControl,useExisting:o.forwardRef(function(){return p})};var p=function(e){function r(t,r,n){e.call(this),this._validators=t,this._asyncValidators=r,this.update=new a.EventEmitter,this.valueAccessor=u.selectValueAccessor(this,n)}return n(r,e),r.prototype.ngOnChanges=function(e){this._isControlChanged(e)&&(u.setUpControl(this.form,this),this.form.updateValueAndValidity({emitEvent:!1})),u.isPropertyUpdated(e,this.viewModel)&&(this.form.updateValue(this.model),this.viewModel=this.model)},Object.defineProperty(r.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"validator",{get:function(){return u.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"asyncValidator",{get:function(){return u.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),r.prototype.viewToModelUpdate=function(e){this.viewModel=e,a.ObservableWrapper.callEmit(this.update,e)},r.prototype._isControlChanged=function(e){return i.StringMapWrapper.contains(e,"form")},r.decorators=[{type:o.Directive,args:[{selector:"[formControl]",providers:[t.formControlBinding],exportAs:"ngForm"}]}],r.ctorParameters=[{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[s.NG_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[s.NG_ASYNC_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[l.NG_VALUE_ACCESSOR]}]}],r.propDecorators={form:[{type:o.Input,args:["formControl"]}],model:[{type:o.Input,args:["ngModel"]}],update:[{type:o.Output,args:["ngModelChange"]}]},r}(c.NgControl);t.FormControlDirective=p},202:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(1),a=r(62),i=r(32),s=r(42),l=r(35),c=r(61),u=r(49);t.controlNameBinding={provide:c.NgControl,useExisting:o.forwardRef(function(){return p})};var p=function(e){function r(t,r,n,o){e.call(this),this._parent=t,this._validators=r,this._asyncValidators=n,this._added=!1,this.update=new a.EventEmitter,this.valueAccessor=u.selectValueAccessor(this,o)}return n(r,e),r.prototype.ngOnChanges=function(e){this._added||(this.formDirective.addControl(this),this._added=!0),u.isPropertyUpdated(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},r.prototype.ngOnDestroy=function(){this.formDirective.removeControl(this)},r.prototype.viewToModelUpdate=function(e){this.viewModel=e,a.ObservableWrapper.callEmit(this.update,e)},Object.defineProperty(r.prototype,"path",{get:function(){return u.controlPath(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"formDirective",{get:function(){return this._parent.formDirective},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"validator",{get:function(){return u.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"asyncValidator",{get:function(){return u.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"control",{get:function(){return this.formDirective.getControl(this)},enumerable:!0,configurable:!0}),r.decorators=[{type:o.Directive,args:[{selector:"[formControlName]",providers:[t.controlNameBinding]}]}],r.ctorParameters=[{type:s.ControlContainer,decorators:[{type:o.Host},{type:o.SkipSelf}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[i.NG_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[i.NG_ASYNC_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[l.NG_VALUE_ACCESSOR]}]}],r.propDecorators={name:[{type:o.Input,args:["formControlName"]}],model:[{type:o.Input,args:["ngModel"]}],update:[{type:o.Output,args:["ngModelChange"]}]},r}(c.NgControl);t.FormControlName=p},203:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(1),a=r(62),i=r(29),s=r(77),l=r(19),c=r(32),u=r(42),p=r(49);t.formDirectiveProvider={provide:u.ControlContainer,useExisting:o.forwardRef(function(){return d})};var d=function(e){function r(t,r){e.call(this),this._validators=t,this._asyncValidators=r,this._submitted=!1,this.directives=[],this.form=null,this.ngSubmit=new a.EventEmitter}return n(r,e),r.prototype.ngOnChanges=function(e){if(this._checkFormPresent(),i.StringMapWrapper.contains(e,"form")){var t=p.composeValidators(this._validators);this.form.validator=c.Validators.compose([this.form.validator,t]);var r=p.composeAsyncValidators(this._asyncValidators);this.form.asyncValidator=c.Validators.composeAsync([this.form.asyncValidator,r]),this.form.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}this._updateDomValue()},Object.defineProperty(r.prototype,"submitted",{get:function(){return this._submitted},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),r.prototype.addControl=function(e){var t=this.form.find(e.path);p.setUpControl(t,e),t.updateValueAndValidity({emitEvent:!1}),this.directives.push(e)},r.prototype.getControl=function(e){return this.form.find(e.path)},r.prototype.removeControl=function(e){i.ListWrapper.remove(this.directives,e)},r.prototype.addFormGroup=function(e){var t=this.form.find(e.path);p.setUpFormContainer(t,e),t.updateValueAndValidity({emitEvent:!1})},r.prototype.removeFormGroup=function(e){},r.prototype.getFormGroup=function(e){return this.form.find(e.path)},r.prototype.addFormArray=function(e){var t=this.form.find(e.path);p.setUpFormContainer(t,e),t.updateValueAndValidity({emitEvent:!1})},r.prototype.removeFormArray=function(e){},r.prototype.getFormArray=function(e){return this.form.find(e.path)},r.prototype.updateModel=function(e,t){var r=this.form.find(e.path);r.updateValue(t)},r.prototype.onSubmit=function(){return this._submitted=!0,a.ObservableWrapper.callEmit(this.ngSubmit,null),!1},r.prototype._updateDomValue=function(){var e=this;this.directives.forEach(function(t){var r=e.form.find(t.path);t.valueAccessor.writeValue(r.value)})},r.prototype._checkFormPresent=function(){if(l.isBlank(this.form))throw new s.BaseException('formGroup expects a FormGroup instance. Please pass one in.\n Example: <form [formGroup]="myFormGroup">\n ')},r.decorators=[{type:o.Directive,args:[{selector:"[formGroup]",providers:[t.formDirectiveProvider],host:{"(submit)":"onSubmit()"},exportAs:"ngForm"}]}],r.ctorParameters=[{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[c.NG_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[c.NG_ASYNC_VALIDATORS]}]}],r.propDecorators={form:[{type:o.Input,args:["formGroup"]}],ngSubmit:[{type:o.Output}]},r}(u.ControlContainer);t.FormGroupDirective=d},204:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(1),a=r(32),i=r(306),s=r(42);t.formGroupNameProvider={provide:s.ControlContainer,useExisting:o.forwardRef(function(){return l})};var l=function(e){function r(t,r,n){e.call(this),this._parent=t,this._validators=r,this._asyncValidators=n}return n(r,e),r.decorators=[{type:o.Directive,args:[{selector:"[formGroupName]",providers:[t.formGroupNameProvider]}]}],r.ctorParameters=[{type:s.ControlContainer,decorators:[{type:o.Host},{type:o.SkipSelf}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[a.NG_VALIDATORS]}]},{type:Array,decorators:[{type:o.Optional},{type:o.Self},{type:o.Inject,args:[a.NG_ASYNC_VALIDATORS]}]}],r.propDecorators={name:[{type:o.Input,args:["formGroupName"]}]},r}(i.AbstractFormGroupDirective);t.FormGroupName=l},205:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";function n(e,t){return s.isBlank(e)?""+t:(s.isString(t)&&(t="'"+t+"'"),s.isPrimitive(t)||(t="Object"),s.StringWrapper.slice(e+": "+t,0,50))}function o(e){return e.split(":")[0]}var a=r(1),i=r(29),s=r(19),l=r(35),c={provide:l.NG_VALUE_ACCESSOR,useExisting:a.forwardRef(function(){return u}),multi:!0},u=(function(){function e(){}return e}(),function(){function e(){this._optionMap=new Map,this._idCounter=0,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){var t=this;if(this.value=e,null!=e){var r=e,n=r.map(function(e){return t._getOptionId(e)});this._optionMap.forEach(function(e,t){e._setSelected(n.indexOf(t.toString())>-1)})}},e.prototype.registerOnChange=function(e){var t=this;this.onChange=function(r){var n=[];if(r.hasOwnProperty("selectedOptions"))for(var o=r.selectedOptions,a=0;a<o.length;a++){var i=o.item(a),s=t._getOptionValue(i.value);n.push(s)}else for(var o=r.options,a=0;a<o.length;a++){var i=o.item(a);if(i.selected){var s=t._getOptionValue(i.value);n.push(s)}}e(n)}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype._registerOption=function(e){var t=(this._idCounter++).toString();return this._optionMap.set(t,e),t},e.prototype._getOptionId=function(e){for(var t=0,r=i.MapWrapper.keys(this._optionMap);t<r.length;t++){var n=r[t];if(s.looseIdentical(this._optionMap.get(n)._value,e))return n}return null},e.prototype._getOptionValue=function(e){var t=this._optionMap.get(o(e));return s.isPresent(t)?t._value:e},e.decorators=[{type:a.Directive,args:[{selector:"select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]",host:{"(input)":"onChange($event.target)","(blur)":"onTouched()"},providers:[c]}]}],e.ctorParameters=[],e}());t.SelectMultipleControlValueAccessor=u;var p=function(){function e(e,t,r){this._element=e,this._renderer=t,this._select=r,s.isPresent(this._select)&&(this.id=this._select._registerOption(this))}return Object.defineProperty(e.prototype,"ngValue",{set:function(e){null!=this._select&&(this._value=e,this._setElementValue(n(this.id,e)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{set:function(e){s.isPresent(this._select)?(this._value=e,this._setElementValue(n(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)},enumerable:!0,configurable:!0}),e.prototype._setElementValue=function(e){this._renderer.setElementProperty(this._element.nativeElement,"value",e)},e.prototype._setSelected=function(e){this._renderer.setElementProperty(this._element.nativeElement,"selected",e)},e.prototype.ngOnDestroy=function(){s.isPresent(this._select)&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},e.decorators=[{type:a.Directive,args:[{selector:"option"}]}],e.ctorParameters=[{type:a.ElementRef},{type:a.Renderer},{type:u,decorators:[{type:a.Optional},{type:a.Host}]}],e.propDecorators={ngValue:[{type:a.Input,args:["ngValue"]}],value:[{type:a.Input,args:["value"]}]},e}();t.NgSelectMultipleOption=p,t.SELECT_DIRECTIVES=[u,p]},206:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(1),o=r(19),a=r(32),i=a.Validators.required;t.REQUIRED_VALIDATOR={provide:a.NG_VALIDATORS,useValue:i,multi:!0};var s=function(){function e(){}return e.decorators=[{type:n.Directive,args:[{selector:"[required][formControlName],[required][formControl],[required][ngModel]",providers:[t.REQUIRED_VALIDATOR]}]}],e}();t.RequiredValidator=s,t.MIN_LENGTH_VALIDATOR={provide:a.NG_VALIDATORS,useExisting:n.forwardRef(function(){return l}),multi:!0};var l=function(){function e(e){this._validator=a.Validators.minLength(o.NumberWrapper.parseInt(e,10))}return e.prototype.validate=function(e){return this._validator(e)},e.decorators=[{type:n.Directive,args:[{selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[t.MIN_LENGTH_VALIDATOR]}]}],e.ctorParameters=[{type:void 0,decorators:[{type:n.Attribute,args:["minlength"]}]}],e}();t.MinLengthValidator=l,t.MAX_LENGTH_VALIDATOR={provide:a.NG_VALIDATORS,useExisting:n.forwardRef(function(){return c}),multi:!0};var c=function(){function e(e){this._validator=a.Validators.maxLength(o.NumberWrapper.parseInt(e,10))}return e.prototype.validate=function(e){return this._validator(e)},e.decorators=[{type:n.Directive,args:[{selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[t.MAX_LENGTH_VALIDATOR]}]}],e.ctorParameters=[{type:void 0,decorators:[{type:n.Attribute,args:["maxlength"]}]}],e}();t.MaxLengthValidator=c,t.PATTERN_VALIDATOR={provide:a.NG_VALIDATORS,useExisting:n.forwardRef(function(){return u}),multi:!0};var u=function(){function e(e){this._validator=a.Validators.pattern(e)}return e.prototype.validate=function(e){return this._validator(e)},e.decorators=[{type:n.Directive,args:[{selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[t.PATTERN_VALIDATOR]}]}],e.ctorParameters=[{type:void 0,decorators:[{type:n.Attribute,args:["pattern"]}]}],e}();t.PatternValidator=u},237:function(e,t,r){"use strict";var n=r(1),o=function(){function e(){this.serviceUrl="https://k51qryqov3.execute-api.ap-southeast-2.amazonaws.com/prod"}return e=__decorate([n.Injectable(),__metadata("design:paramtypes",[])],e)}();t.ConfigService=o},305:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(122),o=r(123),a=r(195),i=r(196),s=r(197),l=r(198),c=r(199),u=r(124),p=r(200),d=r(201),h=r(202),f=r(203),m=r(204),g=r(125),_=r(205),b=r(206),v=r(122);t.CheckboxControlValueAccessor=v.CheckboxControlValueAccessor;var y=r(123);t.DefaultValueAccessor=y.DefaultValueAccessor;var w=r(61);t.NgControl=w.NgControl;var k=r(195);t.NgControlStatus=k.NgControlStatus;var C=r(196);t.NgForm=C.NgForm;var P=r(197);t.NgModel=P.NgModel;var A=r(198);t.NgModelGroup=A.NgModelGroup;var S=r(199);t.NumberValueAccessor=S.NumberValueAccessor;var E=r(124);t.RadioControlValueAccessor=E.RadioControlValueAccessor;var V=r(200);t.FormArrayName=V.FormArrayName;var O=r(201);t.FormControlDirective=O.FormControlDirective;var I=r(202);t.FormControlName=I.FormControlName;var x=r(203);t.FormGroupDirective=x.FormGroupDirective;var j=r(204);t.FormGroupName=j.FormGroupName;var M=r(125);t.NgSelectOption=M.NgSelectOption,t.SelectControlValueAccessor=M.SelectControlValueAccessor;var N=r(205);t.NgSelectMultipleOption=N.NgSelectMultipleOption,t.SelectMultipleControlValueAccessor=N.SelectMultipleControlValueAccessor;var L=r(206);t.MaxLengthValidator=L.MaxLengthValidator,t.MinLengthValidator=L.MinLengthValidator,t.PatternValidator=L.PatternValidator,t.RequiredValidator=L.RequiredValidator,t.FORM_DIRECTIVES=[s.NgModel,l.NgModelGroup,i.NgForm,g.NgSelectOption,_.NgSelectMultipleOption,o.DefaultValueAccessor,c.NumberValueAccessor,n.CheckboxControlValueAccessor,g.SelectControlValueAccessor,_.SelectMultipleControlValueAccessor,u.RadioControlValueAccessor,a.NgControlStatus,b.RequiredValidator,b.MinLengthValidator,b.MaxLengthValidator,b.PatternValidator],t.REACTIVE_FORM_DIRECTIVES=[d.FormControlDirective,f.FormGroupDirective,h.FormControlName,m.FormGroupName,p.FormArrayName]},306:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=r(42),a=r(49),i=function(e){function t(){e.apply(this,arguments)}return n(t,e),t.prototype.ngOnInit=function(){this.formDirective.addFormGroup(this)},t.prototype.ngOnDestroy=function(){this.formDirective.removeFormGroup(this)},Object.defineProperty(t.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return a.controlPath(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent.formDirective},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return a.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return a.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),t}(o.ControlContainer);t.AbstractFormGroupDirective=i},307:246,308:[783,307,29,19],309:212,310:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";var n=r(1),o=r(29),a=r(19),i=r(126),s=function(){function e(){}return e.prototype.group=function(e,t){void 0===t&&(t=null);var r=this._reduceControls(e),n=a.isPresent(t)?o.StringMapWrapper.get(t,"optionals"):null,s=a.isPresent(t)?o.StringMapWrapper.get(t,"validator"):null,l=a.isPresent(t)?o.StringMapWrapper.get(t,"asyncValidator"):null;return new i.FormGroup(r,n,s,l)},e.prototype.control=function(e,t,r){return void 0===t&&(t=null),void 0===r&&(r=null),new i.FormControl(e,t,r)},e.prototype.array=function(e,t,r){var n=this;void 0===t&&(t=null),void 0===r&&(r=null);var o=e.map(function(e){return n._createControl(e)});return new i.FormArray(o,t,r)},e.prototype._reduceControls=function(e){var t=this,r={};return o.StringMapWrapper.forEach(e,function(e,n){r[n]=t._createControl(e)}),r},e.prototype._createControl=function(e){if(e instanceof i.FormControl||e instanceof i.FormGroup||e instanceof i.FormArray)return e;if(a.isArray(e)){var t=e[0],r=e.length>1?e[1]:null,n=e.length>2?e[2]:null;return this.control(t,r,n)}return this.control(e)},e.decorators=[{type:n.Injectable}],e}();t.FormBuilder=s},345:function(e,t){e.exports=""},346:345,347:345,348:function(e,t){e.exports="input{display:inline-block;width:40px;padding-left:5px;text-align:center}\n"},379:function(e,t,r){"use strict";var n=r(1),o=r(87),a=r(237),i=r(380),s=function(e){function t(t,r){e.call(this,r),this.http=t}return __extends(t,e),t.prototype.authenticate=function(e,t){var r=new o.Headers({"Content-Type":"application/x-www-form-urlencoded"}),n={grant_type:"password",username:e,password:t};return this.http.post(this.config.serviceUrl+"/oauth/token",this.urlEncode(n),{headers:r}).map(function(e){return e.json().access_token})},t.prototype.getCurrentUser=function(e){var t=this;return this.http.get(this.config.serviceUrl+"/users/current",{headers:this.getAuthHeaders(e)}).map(function(e){return e.json()}).catch(function(e){return t.handleError(e)})},t=__decorate([n.Injectable(),__metadata("design:paramtypes",[o.Http,a.ConfigService])],t)}(i.BaseApiService);t.AuthApiService=s},380:function(e,t,r){"use strict";var n=r(87),o=r(2),a=function(){function e(e){this.config=e}return e.prototype.getAuthHeaders=function(e){var t=new n.Headers;return e&&t.append("Authorization","Bearer "+e),t},e.prototype.urlEncode=function(e){var t=new n.URLSearchParams;for(var r in e)e.hasOwnProperty(r)&&void 0!==e[r]&&t.append(r,e[r]);return t.toString()},e.prototype.handleError=function(e){if(400===e.status){var t=e.json(),r="";if(t.modelState){for(var n in t.modelState)if(t.modelState.hasOwnProperty(n))for(var a=0,i=t.modelState[n];a<i.length;a++){var s=i[a];r=r+(r?", ":"")+s}}else r=t.message;return o.Observable.throw(r)}return o.Observable.throw("Unknown error")},e}();t.BaseApiService=a},381:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(58),i=function(){function e(e,t){this.login=e,this.router=t}return e.prototype.canActivate=function(){return!!this.login.getIsLoggedIn()||(this.router.navigate(["/"]),!1)},e=__decorate([n.Injectable(),__metadata("design:paramtypes",[a.LoginService,o.Router])],e)}();t.AuthGuard=i},382:function(e,t,r){"use strict";var n=r(1);r(348);var o=function(){function t(){this.buggy=!1,this.goToPage=new n.EventEmitter}return t.prototype.ngOnInit=function(){this.enteredPage=this.page},t.prototype.ngOnChanges=function(e){this.resetEnteredPage()},t.prototype.prevPage=function(){this.emitUpdate(this.page-1)},t.prototype.nextPage=function(){this.emitUpdate(this.page+1)},t.prototype.resetEnteredPage=function(){this.enteredPage=this.page},t.prototype.onPageNumberEnter=function(){if(!isNaN(parseFloat(this.enteredPage))){var e=parseInt(this.enteredPage,10);if(this.buggy&&(1===e||e===this.totalPages))return;this.emitUpdate(this.enteredPage)}},t.prototype.emitUpdate=function(e){e<1&&(e=1),!this.buggy&&e>this.totalPages&&(e=this.totalPages),this.enteredPage=e,this.goToPage.emit(e)},__decorate([n.Input(),__metadata("design:type",Number)],t.prototype,"page",void 0),__decorate([n.Input(),__metadata("design:type",Number)],t.prototype,"totalPages",void 0),__decorate([n.Input(),__metadata("design:type",Object)],t.prototype,"buggy",void 0),__decorate([n.Output(),__metadata("design:type",n.EventEmitter)],t.prototype,"goToPage",void 0),t=__decorate([n.Component({moduleId:e.id,selector:"my-pager",template:r(521),styles:[r(348)]}),__metadata("design:paramtypes",[])],t)}();t.PagerComponent=o},383:function(e,t,r){"use strict";var n=r(1),o=r(741),a=function(){function e(){}return e.prototype.transform=function(e){var t=new o.Converter;return t.makeHtml(e)},e=__decorate([n.Pipe({name:"myShowdown"}),__metadata("design:paramtypes",[])],e)}();t.ShowdownPipe=a},450:387,451:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";function n(e){var t=[];return e.forEach(function(e){Array.isArray(e)?t=t.concat(e):t.push(e)}),t}function o(){return[{provide:s.CompilerConfig,useFactory:function(e,t){var r=n(e);return p.ListWrapper.remove(r,i.FORM_DIRECTIVES),new s.CompilerConfig({platformDirectives:r,platformPipes:t})},deps:[l.PLATFORM_DIRECTIVES,l.PLATFORM_PIPES]}]}function a(){return[{provide:l.PLATFORM_DIRECTIVES,useValue:c.FORM_DIRECTIVES,multi:!0},t.FORM_PROVIDERS]}var i=r(31),s=r(104),l=r(1),c=r(305),u=r(124),p=r(29),d=r(310);t.FORM_PROVIDERS=[d.FormBuilder,u.RadioControlRegistry],t.disableDeprecatedForms=o,t.provideForms=a},452:function(e,t,r){/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ "use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}var o=r(305);t.FORM_DIRECTIVES=o.FORM_DIRECTIVES,t.REACTIVE_FORM_DIRECTIVES=o.REACTIVE_FORM_DIRECTIVES;var a=r(194);t.AbstractControlDirective=a.AbstractControlDirective;var i=r(122);t.CheckboxControlValueAccessor=i.CheckboxControlValueAccessor;var s=r(42);t.ControlContainer=s.ControlContainer;var l=r(35);t.NG_VALUE_ACCESSOR=l.NG_VALUE_ACCESSOR;var c=r(123);t.DefaultValueAccessor=c.DefaultValueAccessor;var u=r(61);t.NgControl=u.NgControl;var p=r(195);t.NgControlStatus=p.NgControlStatus;var d=r(196);t.NgForm=d.NgForm;var h=r(197);t.NgModel=h.NgModel;var f=r(198);t.NgModelGroup=f.NgModelGroup;var m=r(200);t.FormArrayName=m.FormArrayName;var g=r(201);t.FormControlDirective=g.FormControlDirective;var _=r(202);t.FormControlName=_.FormControlName;var b=r(203);t.FormGroupDirective=b.FormGroupDirective;var v=r(204);t.FormGroupName=v.FormGroupName;var y=r(125);t.NgSelectOption=y.NgSelectOption,t.SelectControlValueAccessor=y.SelectControlValueAccessor;var w=r(206);t.MaxLengthValidator=w.MaxLengthValidator,t.MinLengthValidator=w.MinLengthValidator,t.PatternValidator=w.PatternValidator,t.RequiredValidator=w.RequiredValidator;var k=r(310);t.FormBuilder=k.FormBuilder;var C=r(126);t.AbstractControl=C.AbstractControl,t.FormArray=C.FormArray,t.FormControl=C.FormControl,t.FormGroup=C.FormGroup;var P=r(32);t.NG_ASYNC_VALIDATORS=P.NG_ASYNC_VALIDATORS,t.NG_VALIDATORS=P.NG_VALIDATORS,t.Validators=P.Validators,n(r(451))},505:504,509:345,510:function(e,t){e.exports=".card img{height:170px;margin-top:20px}\n"},511:function(e,t){e.exports="<router-outlet></router-outlet>"},512:function(e,t){e.exports='<img class="center-block" src="/img/spin.gif" *ngIf="!users">\r\n<div class="container" *ngIf="users">\r\n <table class="table table-hover">\r\n <thead>\r\n <tr>\r\n <th>Username</th>\r\n <th>First Name</th>\r\n <th>Last Name</th>\r\n <th>Locked Out</th>\r\n <th>Password</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor="let user of users">\r\n <td>{{ user.username }}</td>\r\n <td>{{ user.firstName }}</td>\r\n <td>{{ user.lastName }}</td>\r\n <td>\r\n {{ user.lockedOut ? \'Yes\' : \'No\' }}\r\n <small>\r\n <span *ngIf="user.lockedOut">\r\n (<a class="btn-link" (click)="unlock(user.username)">unlock</a>)\r\n </span>\r\n <span *ngIf="!user.lockedOut">\r\n (<a class="btn-link" (click)="lock(user.username)">lock</a>)\r\n </span>\r\n </small>\r\n </td>\r\n <td>\r\n <span [hidden]="user.resettingPassword">\r\n {{ user.password }}\r\n <small>\r\n <span>\r\n (<a class="btn-link" (click)="user.resettingPassword = true;">reset</a>)\r\n </span>\r\n </small>\r\n </span>\r\n <span [hidden]="!user.resettingPassword || user.sendingPassword">\r\n <input type="password" class="small" #newPassword />\r\n <br />\r\n <a class="btn btn-link btn-sm p-l-0 m-l-0" (click)="resetPassword(user, newPassword.value)">change</a>\r\n <a class="btn btn-link btn-sm p-l-0" (click)="user.resettingPassword = false;">cancel</a>\r\n </span>\r\n <span [hidden]="!user.resettingPassword || !user.sendingPassword">\r\n <img class="center-block" src="/img/spin.gif" >\r\n </span>\r\n </td>\r\n <td>\r\n <span [hidden]="!user.canDelete || user.deleting">\r\n <a class="btn btn-link p-y-0" (click)="user.deleting = true">delete</a>\r\n </span>\r\n <span [hidden]="!user.canDelete || !user.deleting || user.sendingDelete">\r\n Sure?\r\n <a class="btn btn-link btn-sm m-a-0 p-x-0" (click)="deleteUser(user)">Yes</a>\r\n <a class="btn btn-link btn-sm m-a-0 p-x-0" (click)="user.deleting = false">No</a>\r\n </span>\r\n <span [hidden]="!user.canDelete || !user.deleting || !user.sendingDelete">\r\n <img class="center-block" src="/img/spin.gif" >\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <div class="alert alert-danger" *ngIf="error">\r\n {{ error }}\r\n </div>\r\n</div>'},513:function(e,t){e.exports='<header>\r\n <nav class="navbar navbar-full navbar-dark bg-inverse">\r\n <div class="container">\r\n <a class="navbar-brand" [routerLink]="[broken.isHomeLinkBroken() ? \'/broken\' : \'/\']">Buggy Rating</a>\r\n <my-login></my-login>\r\n </div>\r\n </nav>\r\n\r\n <div class="jumbotron jumbotron-fluid">\r\n <div class="container">\r\n <div class="row">\r\n <div class="col-md-4">\r\n <h1 class="display-4">Buggy<br/>Cars<br/>Rating</h1>\r\n </div>\r\n <div class="col-md-8">\r\n <div class="center-block">\r\n <img src="/img/header-car.gif" class="img-fluid">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n\r\n<div class="container" role="main">\r\n <main class="row">\r\n <router-outlet></router-outlet>\r\n </main>\r\n\r\n <hr/>\r\n\r\n <footer class="footer">\r\n <div class="container">\r\n <div class="pull-xs-right">\r\n <a href="https://www.facebook.com" target="_blank" title="Facebook">\r\n <img src="/img/FB-f-Logo__blue_29.png" />\r\n </a>\r\n\r\n <a [href]="broken.isTwitterBroken() ? \'https://www.twitter-broken.com/\' : \'https://www.twitter.com\'" target="_blank" title="Twitter">\r\n <img src="/img/twitter.png" />\r\n </a>\r\n </div>\r\n\r\n <p>© 2016 Buggy Software, Inc.</p>\r\n </div>\r\n </footer>\r\n</div>'},514:function(e,t){e.exports='<img class="center-block" src="/img/spin.gif" *ngIf="loading">\r\n<div class="row" *ngIf="!loading">\r\n <div class="col-md-4">\r\n <div class="card">\r\n <h2 class="card-header text-xs-center">Popular Make</h2>\r\n <a [routerLink]="[\'make\', dashboard.make.id]">\r\n <img class="img-fluid center-block" [src]="\'/img/cars/\' + dashboard.make.image" title="{{ dashboard.make.name }}">\r\n </a>\r\n <div class="card-block">\r\n <h3>{{ dashboard.make.name }}<br/><small>({{ dashboard.make.votes }} votes)</small></h3>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="col-md-4">\r\n <div class="card">\r\n <h2 class="card-header text-xs-center">Popular Model</h2>\r\n <a [routerLink]="[\'model\', dashboard.model.id]">\r\n <img class="img-fluid center-block" [src]="\'/img/cars/\' + dashboard.model.image" title="{{ dashboard.model.name }}">\r\n </a>\r\n <div class="card-block">\r\n <h3>{{ dashboard.model.make }} {{ dashboard.model.name }}<br/><small>({{ dashboard.model.votes }} votes)</small></h3>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="col-md-4">\r\n <div class="card">\r\n <h2 class="card-header text-xs-center">Overall Rating</h2>\r\n <a [routerLink]="[\'/overall\']">\r\n <img class="img-fluid center-block" src="/img/overall.jpg">\r\n </a>\r\n <div class="card-block">\r\n <h3>List of all registered models.</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>'},515:function(e,t){e.exports='<div class="pull-xs-right" *ngIf="!loginService.getIsLoggedIn()">\r\n <form class="form-inline" (ngSubmit)="doLogin(loginForm.value)" #loginForm="ngForm">\r\n <div class="form-group" [class.has-danger]="isInvalidLogin">\r\n <span class="label label-warning" *ngIf="isInvalidLogin">Invalid username/password</span>\r\n <input ngModel name="login" required class="form-control form-control-sm input-sm" type="text" placeholder="Login">\r\n <input ngModel name="password" required class="form-control form-control-sm" type="password">\r\n </div>\r\n <button class="btn btn-success" type="submit" [disabled]="isLoggingIn">Login</button>\r\n <a class="btn btn-success-outline" [routerLink]="[\'register\']">Register</a>\r\n </form>\r\n</div>\r\n\r\n<div class="pull-xs-right" *ngIf="loginService.getIsLoggedIn()">\r\n <ul class="nav navbar-nav">\r\n <li class="nav-item">\r\n <span class="nav-link disabled">Hi, {{ loginService.user.firstName }}</span>\r\n </li>\r\n <li class="nav-item">\r\n <a class="nav-link" [routerLink]="[\'/profile\']">Profile</a>\r\n </li>\r\n <li class="nav-item" *ngIf="loginService.user.isAdmin">\r\n <a class="nav-link" [routerLink]="[\'/admin\']">Admin</a>\r\n </li>\r\n <li class="nav-item">\r\n <a class="nav-link" href="javascript:void(0)" (click)="doLogout()">Logout</a>\r\n </li>\r\n </ul>\r\n</div>'},516:function(e,t){e.exports='<img class="center-block" src="/img/spin.gif" *ngIf="!make">\r\n<div class="container" *ngIf="make">\r\n <div class="row">\r\n <div class="card">\r\n <h3 class="card-header">{{ make.name }}</h3>\r\n <div class="card-block">\r\n <div class="container">\r\n <div class="col-md-3">\r\n <a href="javascript:void(0)">\r\n <img class="img-fluid" [src]="\'/img/cars/\' + make.image" title="{{ make.name }}">\r\n </a>\r\n </div>\r\n <div class="col-md-9">\r\n <div [innerHTML]="make.description | myShowdown"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="row">\r\n <div>\r\n <div class="row">\r\n <table class="cars table table-hover">\r\n <thead>\r\n <tr>\r\n <th> </th>\r\n <th><a (click)="sortBy(\'\')">Model</a></th>\r\n <th><a (click)="sortBy(\'\')">Rank</a></th>\r\n <th><a (click)="sortBy(\'random\')">Votes</a></th>\r\n <th class="comments">Comments</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor="let model of make.models.models">\r\n <td>\r\n <a [routerLink]="[\'/model\', model.id]">\r\n <img class="img-thumbnail" [src]="\'/img/cars/\' + model.image" title="{{ model.make + \' \' + model.name }}">\r\n </a>\r\n </td>\r\n <td><a [routerLink]="[\'/model\', model.id]">{{ model.name }}</a></td>\r\n <td>{{ model.rank }}</td>\r\n <td>{{ model.votes }}</td>\r\n <td>\r\n <div *ngFor="let comment of model.comments">\r\n <p class="comment small">{{ comment }}</p>\r\n </div>\r\n <a [routerLink]="[\'/model\', model.id]" *ngIf="model.totalComments > 3">View more</a>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <my-pager [page]="page" [totalPages]="make.models.totalPages" (goToPage)="goToPage($event)"></my-pager>\r\n </div>\r\n </div>\r\n</div>'},517:function(e,t){e.exports='<img class="center-block" src="/img/spin.gif" *ngIf="!model">\r\n<div class="container" *ngIf="model">\r\n <div class="row">\r\n <div class="col-lg-2">\r\n <div class="card-block text-xs-center">\r\n <a [routerLink]="[\'/make\', model.makeId]">\r\n <img class="img-fluid center-block" [src]="\'/img/cars/\' + model.makeImage" title="{{ model.make }}">\r\n </a>\r\n </div>\r\n <div class="card-block text-xs-center">\r\n <h4>{{ model.make }}</h4>\r\n </div>\r\n </div>\r\n <div class="col-lg-6">\r\n <div class="card-block">\r\n <a [routerLink]="[\'/\']">\r\n <img class="img-fluid" [src]="\'/img/cars/\' + model.image" >\r\n </a>\r\n </div>\r\n </div>\r\n <div class="col-lg-4">\r\n <div class="card">\r\n <div class="card-block">\r\n <h4>Specification</h4>\r\n <ul>\r\n <li><strong>Engine:</strong> {{ model.engineVol | number:\'.1-2\' }}l</li>\r\n <li><strong>Max Speed:</strong> {{ model.maxSpeed | number:\'.0\' }}km/h </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class="card">\r\n <div class="card-block">\r\n <h4>Votes: <strong>{{ model.votes }}</strong></h4>\r\n </div>\r\n <div class="card-block" *ngIf="model.canVote && login.getIsLoggedIn()">\r\n <fieldset class="form-group">\r\n <label for="comment">Your Comment <small>(optional)</small></label>\r\n <textarea ngModel #comment="ngModel" rows="2" id="comment" class="form-control"></textarea>\r\n </fieldset>\r\n <div class="btn-block">\r\n <button class="btn btn-success" (click)="onVote(comment.value)" [disabled]="voting">Vote!</button>\r\n </div>\r\n <div class="btn-block alert alert-danger" *ngIf="error">\r\n {{ error }}\r\n </div>\r\n </div>\r\n <div class="card-block" *ngIf="!login.getIsLoggedIn()">\r\n <p class="card-text">You need to be logged in to vote.</p>\r\n </div>\r\n <div class="card-block" *ngIf="!model.canVote && login.getIsLoggedIn()">\r\n <p class="card-text">Thank you for your vote!</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="row">\r\n <hr/>\r\n <h3>{{ model.name }}</h3>\r\n <div [innerHTML]="model.description | myShowdown"></div>\r\n </div>\r\n <div class="row" *ngIf="model.comments.length > 0">\r\n <table class="table">\r\n <thead class="thead-inverse">\r\n <th>Date</th>\r\n <th>Author</th>\r\n <th>Comment</th>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor="let comment of model.comments">\r\n <td class="text-nowrap">{{ comment.datePosted | date:\'medium\' }}</td>\r\n <td>{{ comment.user }}</td>\r\n <td>{{ comment.text }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>'},518:function(e,t){e.exports='<img class="center-block" src="/img/spin.gif" *ngIf="loading">\r\n<div class="container" *ngIf="!loading">\r\n <div class="row">\r\n <table class="cars table table-hover">\r\n <thead>\r\n <tr>\r\n <th class="thumbnail"> </th>\r\n <th><a (click)="sortBy(\'make\')">Make</a></th>\r\n <th><a (click)="sortBy(\'name\')">Model</a></th>\r\n <th><a (click)="sortBy(\'rank\')">Rank</a></th>\r\n <th><a (click)="sortBy(\'votes\')">Votes</a></th>\r\n <th><a (click)="sortBy(\'engine\')">Engine</a></th>\r\n <th class="comments">Comments</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor="let model of models">\r\n <td class="thumbnail">\r\n <a [routerLink]="[\'/model\', model.id]">\r\n <img class="img-thumbnail" [src]="\'/img/cars/\' + model.image" title="{{ model.make + \' \' + model.name }}">\r\n </a>\r\n </td>\r\n <td><a [routerLink]="[\'/make\', model.makeId]">{{ model.make }}</a></td>\r\n <td><a [routerLink]="[\'/model\', model.id]">{{ model.name }}</a></td>\r\n <td>{{ model.rank }}</td>\r\n <td>{{ model.votes }}</td>\r\n <td>{{ model.engineVol | number:\'.1-2\' }}l</td>\r\n <td>\r\n <div *ngFor="let comment of model.comments">\r\n <p class="comment small">{{ comment }}</p>\r\n </div>\r\n <a [routerLink]="[\'/model\', model.id]" *ngIf="model.totalComments > 3">View more</a>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <my-pager [page]="page" [totalPages]="totalPages" [buggy]="true" (goToPage)="goToPage($event)"></my-pager>\r\n</div>'},519:function(e,t){e.exports='<img class="center-block" src="/img/spin.gif" *ngIf="loading">\r\n<div class="container my-form" *ngIf="!loading">\r\n <form [formGroup]="form" (ngSubmit)="onSubmit()">\r\n <div class="row">\r\n <div class="col-lg-4">\r\n <div class="card">\r\n <h3 class="card-header">Basic</h3>\r\n <div class="card-block">\r\n <fieldset class="form-group">\r\n <label for="username">Login</label>\r\n <input formControlName="username" name="username" id="username" type="text" class="form-control" disabled>\r\n </fieldset>\r\n\r\n <fieldset class="form-group">\r\n <label for="firstName">First Name</label>\r\n <input formControlName="firstName" name="firstName" id="firstName" type="text" class="form-control" required>\r\n <div [hidden]="form.controls[\'firstName\'].valid || form.controls[\'firstName\'].pristine" class="alert alert-danger">\r\n First Name is required\r\n </div>\r\n </fieldset>\r\n\r\n <fieldset class="form-group">\r\n <label for="lastName">Last Name</label>\r\n <input formControlName="lastName" name="lastName" id="lastName" type="text" class="form-control" required>\r\n <div [hidden]="form.controls[\'lastName\'].valid || form.controls[\'lastName\'].pristine" class="alert alert-danger">\r\n Last Name is required\r\n </div>\r\n </fieldset>\r\n </div>\r\n </div>\r\n\r\n <div class="result alert alert-danger hidden-md-down" *ngIf="error">\r\n {{ error }}\r\n </div>\r\n\r\n <div class="result alert alert-success hidden-md-down" *ngIf="success">\r\n The profile has been saved successful\r\n </div>\r\n </div>\r\n\r\n <div class="col-lg-4">\r\n <div class="card">\r\n <h3 class="card-header">Additional Info</h3>\r\n <div class="card-block">\r\n <fieldset class="form-group">\r\n <label for="gender">Gender</label>\r\n <input formControlName="gender" list="genders" name="gender" id="gender" type="text" class="form-control">\r\n <datalist id="genders">\r\n <option value="Male">\r\n <option value="Female">\r\n </datalist>\r\n </fieldset>\r\n\r\n <fieldset class="form-group">\r\n <label for="age">Age</label>\r\n <input formControlName="age" name="age" id="age" type="text" class="form-control">\r\n <div [hidden]="form.controls[\'age\'].valid || form.controls[\'age\'].pristine" class="alert alert-danger">\r\n Age must be in the range from 0 to 95\r\n </div>\r\n </fieldset>\r\n\r\n <fieldset class="form-group">\r\n <label for="address">Address</label>\r\n <textarea formControlName="address" rows="3" name="address" id="address" class="form-control"></textarea>\r\n </fieldset>\r\n\r\n <fieldset class="form-group">\r\n <label for="phone">Phone</label>\r\n <input formControlName="phone" name="phone" id="phone" type="text" class="form-control">\r\n </fieldset>\r\n\r\n <fieldset class="form-group">\r\n <label for="hobby">Hobby</label>\r\n <select formControlName="hobby" name="hobby" id="hobby" class="form-control">\r\n <option>Hiking</option>\r\n <option>Reading</option>\r\n <option>Working</option>\r\n <option>Learning</option>\r\n <option>Video Games</option>\r\n <option>Biking</option>\r\n <option>Movies</option>\r\n <option>Reading Comics</option>\r\n <option>Drawing</option>\r\n <option>Jogging</option>\r\n <option>Knitting</option>\r\n <option>Bird-watching</option>\r\n <option>Other</option>\r\n </select>\r\n </fieldset>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class="col-lg-4">\r\n <div class="card">\r\n <h3 class="card-header">Additional Info</h3>\r\n <div class="card-block">\r\n <div class="card">\r\n <div class="card-block">\r\n <h4 class="card-title">Change Password</h4>\r\n <h6 class="card-subtitle text-muted">(leave empty to keep current)</h6>\r\n </div>\r\n\r\n <div class="card-block">\r\n <fieldset class="form-group">\r\n <label for="currentPassword">Current Password</label>\r\n <input formControlName="currentPassword" name="currentPassword" id="currentPassword" type="password" class="form-control">\r\n </fieldset>\r\n\r\n <fieldset class="form-group">\r\n <label for="newPassword">New Pasword</label>\r\n <input formControlName="newPassword" name="newPassword" id="newPassword" type="password" class="form-control">\r\n </fieldset>\r\n\r\n <fieldset class="form-group">\r\n <label for="newPasswordConfirmation">Confirm Password</label>\r\n <input formControlName="newPasswordConfirmation" name="newPasswordConfirmation" id="newPasswordConfirmation" type="password" class="form-control">\r\n <div [hidden]="form.controls[\'newPasswordConfirmation\'].valid" class="alert alert-danger">\r\n Passwords do not match\r\n </div>\r\n </fieldset>\r\n </div>\r\n </div>\r\n\r\n <fieldset class="form-group">\r\n <label for="language">Language</label>\r\n <select name="language" id="language" class="form-control">\r\n <option>English</option>\r\n </select>\r\n </fieldset>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class="row btn-block">\r\n <div class="pull-xs-right">\r\n <button type="submit" class="btn btn-default" [disabled]="!form.valid || sending">Save</button>\r\n <a [routerLink]="[\'\']" role="button" class="btn">Cancel</a>\r\n </div>\r\n </div>\r\n\r\n <div class="row hidden-lg-up">\r\n <div class="result alert alert-danger" *ngIf="error">\r\n {{ error }}\r\n </div>\r\n\r\n <div class="result alert alert-success" *ngIf="success">\r\n The profile has been saved successful\r\n </div>\r\n </div>\r\n </form>\r\n</div>'},520:function(e,t){e.exports='<div class="container my-form">\r\n <div class="col-md-6">\r\n <h2>Register with Buggy Cars Rating</h2>\r\n\r\n <form [formGroup]="registerForm" (ngSubmit)="onSubmit(registerForm.value)">\r\n <div class="form-group">\r\n <label for="username">Login</label>\r\n <input formControlName="username" name="username" id="username" type="text" class="form-control" required>\r\n <div [hidden]="!registerForm.controls[\'username\'].hasError(\'required\') || registerForm.controls[\'username\'].pristine" class="alert alert-danger">\r\n Login is required\r\n </div>\r\n <div [hidden]="!registerForm.controls[\'username\'].hasError(\'maxlength\') || registerForm.controls[\'username\'].pristine" class="alert alert-danger">\r\n Login cannot be more than 50 characters long\r\n </div>\r\n </div>\r\n\r\n <div class="form-group">\r\n <label for="firstName">First Name</label>\r\n <input formControlName="firstName" name="firstName" id="firstName" type="text" class="form-control" required>\r\n <div [hidden]="registerForm.controls[\'firstName\'].valid || registerForm.controls[\'firstName\'].pristine" class="alert alert-danger">\r\n First Name is required\r\n </div>\r\n </div>\r\n\r\n <div class="form-group">\r\n <label for="lastName">Last Name</label>\r\n <input formControlName="lastName" name="lastName" id="lastName" type="text" class="form-control" required>\r\n <div [hidden]="registerForm.controls[\'lastName\'].valid || registerForm.controls[\'lastName\'].pristine" class="alert alert-danger">\r\n First Name is required\r\n </div>\r\n </div>\r\n\r\n <div class="form-group">\r\n <label for="password">Password</label>\r\n <input formControlName="password" name="password" id="password" type="password" class="form-control" required>\r\n <div [hidden]="registerForm.controls[\'password\'].valid || registerForm.controls[\'password\'].pristine" class="alert alert-danger">\r\n Password is required\r\n </div>\r\n </div>\r\n\r\n <div class="form-group">\r\n <label for="confirmPassword">Confirm Password</label>\r\n <input formControlName="confirmPassword" name="confirmPassword" id="confirmPassword" type="password" class="form-control" required>\r\n <div [hidden]="registerForm.controls[\'confirmPassword\'].valid || registerForm.controls[\'confirmPassword\'].pristine" class="alert alert-danger">\r\n Passwords do not match\r\n </div>\r\n </div>\r\n\r\n <button type="submit" class="btn btn-default" [disabled]="loading || !registerForm.valid">Register</button>\r\n <a [routerLink]="[\'\']" role="button" class="btn">Cancel</a>\r\n\r\n <div class="result alert alert-danger" *ngIf="error">\r\n {{ error }}\r\n </div>\r\n\r\n <div class="result alert alert-success" *ngIf="success">\r\n Registration is successful\r\n </div>\r\n </form>\r\n </div>\r\n</div>'},521:function(e,t){e.exports='<div class="row" *ngIf="totalPages > 1">\r\n <div class="pull-xs-right">\r\n <a (click)="prevPage()" class="btn" [class.disabled]="page <= 1">«</a>\r\n <input [(ngModel)]="enteredPage" type="text" class="form-control input-xs" (keyup.enter)="onPageNumberEnter()" (blur)="resetEnteredPage()" />\r\n <a (click)="nextPage()" class="btn" [class.disabled]="!buggy && page >= totalPages">»</a>\r\n page {{ page }} of {{ totalPages }}\r\n </div>\r\n</div>'},741:function(e,t,r){var n;/*! showdown v 1.9.1 - 02-11-2019 */ (function(){function o(e){"use strict";var t={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:"Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,description:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,description:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,description:"Parses simple line breaks as <br> (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,description:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,description:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",description:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,description:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,description:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,description:"Support for HTML Tag escaping. ex: <div>foo</div>",type:"boolean"},emoji:{defaultValue:!1,description:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,description:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`",type:"boolean"},completeHTMLDocument:{defaultValue:!1,description:"Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags",type:"boolean"},metadata:{defaultValue:!1,description:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,description:"Split adjacent blockquote blocks",type:"boolean"}};if(e===!1)return JSON.parse(JSON.stringify(t));var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n].defaultValue);return r}function a(){"use strict";var e=o(!0),t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=!0);return t}function i(e,t){"use strict";var r=t?"Error in "+t+" extension->":"Error in unnamed extension",n={valid:!0,error:""};l.helper.isArray(e)||(e=[e]);for(var o=0;o<e.length;++o){var a=r+" sub-extension "+o+": ",i=e[o];if("object"!=typeof i)return n.valid=!1,n.error=a+"must be an object, but "+typeof i+" given",n;if(!l.helper.isString(i.type))return n.valid=!1,n.error=a+'property "type" must be a string, but '+typeof i.type+" given",n;var s=i.type=i.type.toLowerCase();if("language"===s&&(s=i.type="lang"),"html"===s&&(s=i.type="output"),"lang"!==s&&"output"!==s&&"listener"!==s)return n.valid=!1,n.error=a+"type "+s+' is not recognized. Valid values: "lang/language", "output/html" or "listener"',n;if("listener"===s){if(l.helper.isUndefined(i.listeners))return n.valid=!1,n.error=a+'. Extensions of type "listener" must have a property called "listeners"',n}else if(l.helper.isUndefined(i.filter)&&l.helper.isUndefined(i.regex))return n.valid=!1,n.error=a+s+' extensions must define either a "regex" property or a "filter" method',n;if(i.listeners){if("object"!=typeof i.listeners)return n.valid=!1,n.error=a+'"listeners" property must be an object but '+typeof i.listeners+" given",n;for(var c in i.listeners)if(i.listeners.hasOwnProperty(c)&&"function"!=typeof i.listeners[c])return n.valid=!1,n.error=a+'"listeners" property must be an hash of [event name]: [callback]. listeners.'+c+" must be a function but "+typeof i.listeners[c]+" given",n}if(i.filter){if("function"!=typeof i.filter)return n.valid=!1,n.error=a+'"filter" must be a function, but '+typeof i.filter+" given",n}else if(i.regex){if(l.helper.isString(i.regex)&&(i.regex=new RegExp(i.regex,"g")),!(i.regex instanceof RegExp))return n.valid=!1,n.error=a+'"regex" property must either be a string or a RegExp object, but '+typeof i.regex+" given",n;if(l.helper.isUndefined(i.replace))return n.valid=!1,n.error=a+'"regex" extensions must implement a replace string or function',n}}return n}function s(e,t){"use strict";var r=t.charCodeAt(0);return"¨E"+r+"E"}var l={},c={},u={},p=o(!0),d="vanilla",h={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:o(!0),allOn:a()};l.helper={},l.extensions={},l.setOption=function(e,t){"use strict";return p[e]=t,this},l.getOption=function(e){"use strict";return p[e]},l.getOptions=function(){"use strict";return p},l.resetOptions=function(){"use strict";p=o(!0)},l.setFlavor=function(e){"use strict";if(!h.hasOwnProperty(e))throw Error(e+" flavor was not found");l.resetOptions();var t=h[e];d=e;for(var r in t)t.hasOwnProperty(r)&&(p[r]=t[r])},l.getFlavor=function(){"use strict";return d},l.getFlavorOptions=function(e){"use strict";if(h.hasOwnProperty(e))return h[e]},l.getDefaultOptions=function(e){"use strict";return o(e)},l.subParser=function(e,t){"use strict";if(l.helper.isString(e)){if("undefined"==typeof t){if(c.hasOwnProperty(e))return c[e];throw Error("SubParser named "+e+" not registered!")}c[e]=t}},l.extension=function(e,t){"use strict";if(!l.helper.isString(e))throw Error("Extension 'name' must be a string");if(e=l.helper.stdExtName(e),l.helper.isUndefined(t)){if(!u.hasOwnProperty(e))throw Error("Extension named "+e+" is not registered!");return u[e]}"function"==typeof t&&(t=t()),l.helper.isArray(t)||(t=[t]);var r=i(t,e);if(!r.valid)throw Error(r.error);u[e]=t},l.getAllExtensions=function(){"use strict";return u},l.removeExtension=function(e){"use strict";delete u[e]},l.resetExtensions=function(){"use strict";u={}},l.validateExtension=function(e){"use strict";var t=i(e,null);return!!t.valid||(console.warn(t.error),!1)},l.hasOwnProperty("helper")||(l.helper={}),l.helper.isString=function(e){"use strict";return"string"==typeof e||e instanceof String},l.helper.isFunction=function(e){"use strict";var t={};return e&&"[object Function]"===t.toString.call(e)},l.helper.isArray=function(e){"use strict";return Array.isArray(e)},l.helper.isUndefined=function(e){"use strict";return"undefined"==typeof e},l.helper.forEach=function(e,t){"use strict";if(l.helper.isUndefined(e))throw new Error("obj param is required");if(l.helper.isUndefined(t))throw new Error("callback param is required");if(!l.helper.isFunction(t))throw new Error("callback param must be a function/closure");if("function"==typeof e.forEach)e.forEach(t);else if(l.helper.isArray(e))for(var r=0;r<e.length;r++)t(e[r],r,e);else{if("object"!=typeof e)throw new Error("obj does not seem to be an array or an iterable object");for(var n in e)e.hasOwnProperty(n)&&t(e[n],n,e)}},l.helper.stdExtName=function(e){"use strict";return e.replace(/[_?*+\/\\.^-]/g,"").replace(/\s/g,"").toLowerCase()},l.helper.escapeCharactersCallback=s,l.helper.escapeCharacters=function(e,t,r){"use strict";var n="(["+t.replace(/([\[\]\\])/g,"\\$1")+"])";r&&(n="\\\\"+n);var o=new RegExp(n,"g");return e=e.replace(o,s)},l.helper.unescapeHTMLEntities=function(e){"use strict";return e.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")};var f=function(e,t,r,n){"use strict";var o,a,i,s,l,c=n||"",u=c.indexOf("g")>-1,p=new RegExp(t+"|"+r,"g"+c.replace(/g/g,"")),d=new RegExp(t,c.replace(/g/g,"")),h=[];do for(o=0;i=p.exec(e);)if(d.test(i[0]))o++||(a=p.lastIndex,s=a-i[0].length);else if(o&&!--o){l=i.index+i[0].length;var f={left:{start:s,end:a},match:{start:a,end:i.index},right:{start:i.index,end:l},wholeMatch:{start:s,end:l}};if(h.push(f),!u)return h}while(o&&(p.lastIndex=a));return h};l.helper.matchRecursiveRegExp=function(e,t,r,n){"use strict";for(var o=f(e,t,r,n),a=[],i=0;i<o.length;++i)a.push([e.slice(o[i].wholeMatch.start,o[i].wholeMatch.end),e.slice(o[i].match.start,o[i].match.end),e.slice(o[i].left.start,o[i].left.end),e.slice(o[i].right.start,o[i].right.end)]);return a},l.helper.replaceRecursiveRegExp=function(e,t,r,n,o){"use strict";if(!l.helper.isFunction(t)){var a=t;t=function(){return a}}var i=f(e,r,n,o),s=e,c=i.length;if(c>0){var u=[];0!==i[0].wholeMatch.start&&u.push(e.slice(0,i[0].wholeMatch.start));for(var p=0;p<c;++p)u.push(t(e.slice(i[p].wholeMatch.start,i[p].wholeMatch.end),e.slice(i[p].match.start,i[p].match.end),e.slice(i[p].left.start,i[p].left.end),e.slice(i[p].right.start,i[p].right.end))),p<c-1&&u.push(e.slice(i[p].wholeMatch.end,i[p+1].wholeMatch.start));i[c-1].wholeMatch.end<e.length&&u.push(e.slice(i[c-1].wholeMatch.end)),s=u.join("")}return s},l.helper.regexIndexOf=function(e,t,r){"use strict";if(!l.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";if(t instanceof RegExp==0)throw"InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp";var n=e.substring(r||0).search(t);return n>=0?n+(r||0):n},l.helper.splitAtIndex=function(e,t){"use strict";if(!l.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[e.substring(0,t),e.substring(t)]},l.helper.encodeEmailAddress=function(e){"use strict";var t=[function(e){return"&#"+e.charCodeAt(0)+";"},function(e){return"&#x"+e.charCodeAt(0).toString(16)+";"},function(e){return e}];return e=e.replace(/./g,function(e){if("@"===e)e=t[Math.floor(2*Math.random())](e);else{var r=Math.random();e=r>.9?t[2](e):r>.45?t[1](e):t[0](e)}return e})},l.helper.padEnd=function(e,t,r){"use strict";return t>>=0,r=String(r||" "),e.length>t?String(e):(t-=e.length,t>r.length&&(r+=r.repeat(t/r.length)),String(e)+r.slice(0,t))},"undefined"==typeof console&&(console={warn:function(e){"use strict";alert(e)},log:function(e){"use strict";alert(e)},error:function(e){"use strict";throw e}}),l.helper.regexes={asteriskDashAndColon:/([*_:~])/g},l.helper.emojis={"+1":"ðŸ‘","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰ï¸",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈ï¸",alarm_clock:"â°",alembic:"âš—ï¸",alien:"👽",ambulance:"🚑",amphora:"ðŸº",anchor:"âš“ï¸",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"ðŸœ",apple:"ðŸŽ",aquarius:"â™’ï¸",aries:"♈ï¸",arrow_backward:"â—€ï¸",arrow_double_down:"â¬",arrow_double_up:"â«",arrow_down:"⬇ï¸",arrow_down_small:"🔽",arrow_forward:"â–¶ï¸",arrow_heading_down:"⤵ï¸",arrow_heading_up:"⤴ï¸",arrow_left:"⬅ï¸",arrow_lower_left:"↙ï¸",arrow_lower_right:"↘ï¸",arrow_right:"âž¡ï¸",arrow_right_hook:"↪ï¸",arrow_up:"⬆ï¸",arrow_up_down:"↕ï¸",arrow_up_small:"🔼",arrow_upper_left:"↖ï¸",arrow_upper_right:"↗ï¸",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"ðŸ§",atom_symbol:"âš›ï¸",avocado:"🥑",b:"🅱ï¸",baby:"👶",baby_bottle:"ðŸ¼",baby_chick:"ðŸ¤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"ðŸ¸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"âš–ï¸",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑ï¸",bamboo:"ðŸŽ",banana:"ðŸŒ",bangbang:"‼ï¸",bank:"ðŸ¦",bar_chart:"📊",barber:"💈",baseball:"âš¾ï¸",basketball:"ðŸ€",basketball_man:"⛹ï¸",basketball_woman:"⛹ï¸‍♀ï¸",bat:"🦇",bath:"🛀",bathtub:"ðŸ›",battery:"🔋",beach_umbrella:"ðŸ–",bear:"ðŸ»",bed:"ðŸ›",bee:"ðŸ",beer:"ðŸº",beers:"ðŸ»",beetle:"ðŸž",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"ðŸ±",biking_man:"🚴",bike:"🚲",biking_woman:"🚴‍♀ï¸",bikini:"👙",biohazard:"☣ï¸",bird:"ðŸ¦",birthday:"🎂",black_circle:"âš«ï¸",black_flag:"ðŸ´",black_heart:"🖤",black_joker:"ðŸƒ",black_large_square:"⬛ï¸",black_medium_small_square:"â—¾ï¸",black_medium_square:"â—¼ï¸",black_nib:"✒ï¸",black_small_square:"â–ªï¸",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱‍♀ï¸",blossom:"🌼",blowfish:"ðŸ¡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"ðŸ—",boat:"⛵ï¸",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"ðŸ’",bowing_man:"🙇",bow_and_arrow:"ðŸ¹",bowing_woman:"🙇‍♀ï¸",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"ðŸž",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"ðŸ›",building_construction:"ðŸ—",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"ðŸš",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"ðŸ°",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"ðŸ«",camera:"📷",camera_flash:"📸",camping:"ðŸ•",cancer:"♋ï¸",candle:"🕯",candy:"ðŸ¬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑ï¸",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"ðŸ±",cat2:"ðŸˆ",cd:"💿",chains:"⛓",champagne:"ðŸ¾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"ðŸ",cheese:"🧀",cherries:"ðŸ’",cherry_blossom:"🌸",chestnut:"🌰",chicken:"ðŸ”",children_crossing:"🚸",chipmunk:"ðŸ¿",chocolate_bar:"ðŸ«",christmas_tree:"🎄",church:"⛪ï¸",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"ðŸ™",cl:"🆑",clamp:"🗜",clap:"ðŸ‘",clapper:"🎬",classical_building:"ðŸ›",clinking_glasses:"🥂",clipboard:"📋",clock1:"ðŸ•",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"ðŸ•",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"ðŸ”",closed_umbrella:"🌂",cloud:"â˜ï¸",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣ï¸",cocktail:"ðŸ¸",coffee:"☕ï¸",coffin:"âš°ï¸",cold_sweat:"😰",comet:"☄ï¸",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗ï¸",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷‍♀ï¸",control_knobs:"🎛",convenience_store:"ðŸª",cookie:"ðŸª",cool:"🆒",policeman:"👮",copyright:"©ï¸",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨‍â¤ï¸‍👨",couple_with_heart_woman_woman:"👩‍â¤ï¸‍👩",couplekiss_man_man:"👨‍â¤ï¸‍💋‍👨",couplekiss_man_woman:"ðŸ’",couplekiss_woman_woman:"👩‍â¤ï¸‍💋‍👩",cow:"ðŸ®",cow2:"ðŸ„",cowboy_hat_face:"🤠",crab:"🦀",crayon:"ðŸ–",credit_card:"💳",crescent_moon:"🌙",cricket:"ðŸ",crocodile:"ðŸŠ",croissant:"ðŸ¥",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"âš”ï¸",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"âž°",currency_exchange:"💱",curry:"ðŸ›",custard:"ðŸ®",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯‍♂ï¸",dango:"ðŸ¡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"ðŸ¬",derelict_house:"ðŸš",desert:"ðŸœ",desert_island:"ðŸ",desktop_computer:"🖥",male_detective:"🕵ï¸",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦ï¸",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"ðŸ¶",dog2:"ðŸ•",dollar:"💵",dolls:"🎎",dolphin:"ðŸ¬",door:"🚪",doughnut:"ðŸ©",dove:"🕊",dragon:"ðŸ‰",dragon_face:"ðŸ²",dress:"👗",dromedary_camel:"ðŸª",drooling_face:"🤤",droplet:"💧",drum:"ðŸ¥",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"ðŸŒ",earth_americas:"🌎",earth_asia:"ðŸŒ",egg:"🥚",eggplant:"ðŸ†",eight_pointed_black_star:"✴ï¸",eight_spoked_asterisk:"✳ï¸",electric_plug:"🔌",elephant:"ðŸ˜",email:"✉ï¸",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"ðŸ°",european_post_office:"ðŸ¤",evergreen_tree:"🌲",exclamation:"â—ï¸",expressionless:"😑",eye:"ðŸ‘",eye_speech_bubble:"ðŸ‘‍🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"ðŸ",fallen_leaf:"ðŸ‚",family_man_woman_boy:"👪",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",fast_forward:"â©",fax:"📠",fearful:"😨",feet:"ðŸ¾",female_detective:"🕵ï¸‍♀ï¸",ferris_wheel:"🎡",ferry:"â›´",field_hockey:"ðŸ‘",file_cabinet:"🗄",file_folder:"ðŸ“",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"ðŸŸ",fish_cake:"ðŸ¥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"ðŸŽ",flashlight:"🔦",fleur_de_lis:"âšœï¸",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"ðŸŒ",football:"ðŸˆ",footprints:"👣",fork_and_knife:"ðŸ´",fountain:"⛲ï¸",fountain_pen:"🖋",four_leaf_clover:"ðŸ€",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"ðŸ³",fried_shrimp:"ðŸ¤",fries:"ðŸŸ",frog:"ðŸ¸",frowning:"😦",frowning_face:"☹ï¸",frowning_man:"ðŸ™‍♂ï¸",frowning_woman:"ðŸ™",middle_finger:"🖕",fuelpump:"⛽ï¸",full_moon:"🌕",full_moon_with_face:"ðŸŒ",funeral_urn:"âš±ï¸",game_die:"🎲",gear:"âš™ï¸",gem:"💎",gemini:"♊ï¸",ghost:"👻",gift:"ðŸŽ",gift_heart:"ðŸ’",girl:"👧",globe_with_meridians:"ðŸŒ",goal_net:"🥅",goat:"ðŸ",golf:"⛳ï¸",golfing_man:"ðŸŒï¸",golfing_woman:"ðŸŒï¸‍♀ï¸",gorilla:"ðŸ¦",grapes:"ðŸ‡",green_apple:"ðŸ",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"â•",grey_question:"â”",grimacing:"😬",grin:"ðŸ˜",grinning:"😀",guardsman:"💂",guardswoman:"💂‍♀ï¸",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇‍♂ï¸",hamburger:"ðŸ”",hammer:"🔨",hammer_and_pick:"âš’",hammer_and_wrench:"🛠",hamster:"ðŸ¹",hand:"✋",handbag:"👜",handshake:"ðŸ¤",hankey:"💩",hatched_chick:"ðŸ¥",hatching_chick:"ðŸ£",headphones:"🎧",hear_no_evil:"🙉",heart:"â¤ï¸",heart_decoration:"💟",heart_eyes:"ðŸ˜",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥ï¸",heavy_check_mark:"✔ï¸",heavy_division_sign:"âž—",heavy_dollar_sign:"💲",heavy_heart_exclamation:"â£ï¸",heavy_minus_sign:"âž–",heavy_multiplication_x:"✖ï¸",heavy_plus_sign:"âž•",helicopter:"ðŸš",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"ðŸ¯",horse:"ðŸ´",horse_racing:"ðŸ‡",hospital:"ðŸ¥",hot_pepper:"🌶",hotdog:"ðŸŒ",hotel:"ðŸ¨",hotsprings:"♨ï¸",hourglass:"⌛ï¸",hourglass_flowing_sand:"â³",house:"ðŸ ",house_with_garden:"ðŸ¡",houses:"ðŸ˜",hugs:"🤗",hushed:"😯",ice_cream:"ðŸ¨",ice_hockey:"ðŸ’",ice_skate:"⛸",icecream:"ðŸ¦",id:"🆔",ideograph_advantage:"ðŸ‰",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"ðŸ’",information_source:"ℹï¸",innocent:"😇",interrobang:"â‰ï¸",iphone:"📱",izakaya_lantern:"ðŸ®",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"ðŸ¯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨ï¸",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"ðŸ¥",koala:"ðŸ¨",koko:"ðŸˆ",label:"ðŸ·",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"âœï¸",laughing:"😆",leaves:"ðŸƒ",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔ï¸",leftwards_arrow_with_hook:"↩ï¸",lemon:"ðŸ‹",leo:"♌ï¸",leopard:"ðŸ†",level_slider:"🎚",libra:"♎ï¸",light_rail:"🚈",link:"🔗",lion:"ðŸ¦",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"ðŸ”",lollipop:"ðŸ",loop:"âž¿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"ðŸ©",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"â“‚ï¸",mag:"ðŸ”",mag_right:"🔎",mahjong:"🀄ï¸",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"ðŸ“",man:"👨",man_artist:"👨‍🎨",man_astronaut:"👨‍🚀",man_cartwheeling:"🤸‍♂ï¸",man_cook:"👨‍ðŸ³",man_dancing:"🕺",man_facepalming:"🤦‍♂ï¸",man_factory_worker:"👨‍ðŸ",man_farmer:"👨‍🌾",man_firefighter:"👨‍🚒",man_health_worker:"👨‍âš•ï¸",man_in_tuxedo:"🤵",man_judge:"👨‍âš–ï¸",man_juggling:"🤹‍♂ï¸",man_mechanic:"👨‍🔧",man_office_worker:"👨‍💼",man_pilot:"👨‍✈ï¸",man_playing_handball:"🤾‍♂ï¸",man_playing_water_polo:"🤽‍♂ï¸",man_scientist:"👨‍🔬",man_shrugging:"🤷‍♂ï¸",man_singer:"👨‍🎤",man_student:"👨‍🎓",man_teacher:"👨‍ðŸ«",man_technologist:"👨‍💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"ðŸŠ",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"ðŸ",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆‍♂ï¸",meat_on_bone:"ðŸ–",medal_military:"🎖",medal_sports:"ðŸ…",mega:"📣",melon:"ðŸˆ",memo:"ðŸ“",men_wrestling:"🤼‍♂ï¸",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"ðŸš",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"ðŸ’",monkey_face:"ðŸµ",monorail:"ðŸš",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"ðŸ",motorway:"🛣",mount_fuji:"🗻",mountain:"â›°",mountain_biking_man:"🚵",mountain_biking_woman:"🚵‍♀ï¸",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"ðŸ”",mouse:"ðŸ",mouse2:"ðŸ",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"ðŸ„",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"ðŸž",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"âŽ",nerd_face:"🤓",neutral_face:"ðŸ˜",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"â",ng:"🆖",no_good_man:"🙅‍♂ï¸",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"â›”ï¸",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"ðŸš","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"â•ï¸",o2:"🅾ï¸",ocean:"🌊",octopus:"ðŸ™",oden:"ðŸ¢",office:"ðŸ¢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆‍♂ï¸",ok_woman:"🙆",old_key:"ðŸ—",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"ðŸš",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"ðŸ‘",open_mouth:"😮",open_umbrella:"☂ï¸",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦ï¸",outbox_tray:"📤",owl:"🦉",ox:"ðŸ‚",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"ðŸ¼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"â›±",parking:"🅿ï¸",part_alternation_mark:"〽ï¸",partly_sunny:"â›…ï¸",passenger_ship:"🛳",passport_control:"🛂",pause_button:"â¸",peace_symbol:"☮ï¸",peach:"ðŸ‘",peanuts:"🥜",pear:"ðŸ",pen:"🖊",pencil2:"âœï¸",penguin:"ðŸ§",pensive:"😔",performing_arts:"ðŸŽ",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎ï¸",pick:"â›",pig:"ðŸ·",pig2:"ðŸ–",pig_nose:"ðŸ½",pill:"💊",pineapple:"ðŸ",ping_pong:"ðŸ“",pisces:"♓ï¸",pizza:"ðŸ•",place_of_worship:"ðŸ›",plate_with_cutlery:"ðŸ½",play_or_pause_button:"â¯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"â˜ï¸",point_up_2:"👆",police_car:"🚓",policewoman:"👮‍♀ï¸",poodle:"ðŸ©",popcorn:"ðŸ¿",post_office:"ðŸ£",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"ðŸ‘",poultry_leg:"ðŸ—",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎‍♂ï¸",pray:"ðŸ™",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"â®",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"â“",rabbit:"ðŸ°",rabbit2:"ðŸ‡",racehorse:"ðŸŽ",racing_car:"ðŸŽ",radio:"📻",radio_button:"🔘",radioactive:"☢ï¸",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"ðŸ³ï¸‍🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"ðŸ–",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋‍♂ï¸",ram:"ðŸ",ramen:"ðŸœ",rat:"ðŸ€",record_button:"âº",recycle:"â™»ï¸",red_circle:"🔴",registered:"®ï¸",relaxed:"☺ï¸",relieved:"😌",reminder_ribbon:"🎗",repeat:"ðŸ”",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"âª",rhinoceros:"ðŸ¦",ribbon:"🎀",rice:"ðŸš",rice_ball:"ðŸ™",rice_cracker:"ðŸ˜",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"ðŸ’",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"ðŸ“",rose:"🌹",rosette:"ðŸµ",rotating_light:"🚨",round_pushpin:"ðŸ“",rowing_man:"🚣",rowing_woman:"🚣‍♀ï¸",rugby_football:"ðŸ‰",running_man:"ðŸƒ",running_shirt_with_sash:"🎽",running_woman:"ðŸƒ‍♀ï¸",sa:"🈂ï¸",sagittarius:"â™ï¸",sake:"ðŸ¶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"ðŸ«",school_satchel:"🎒",scissors:"✂ï¸",scorpion:"🦂",scorpius:"â™ï¸",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙ï¸",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘ï¸",shark:"🦈",shaved_ice:"ðŸ§",sheep:"ðŸ‘",shell:"ðŸš",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"ðŸ›",shopping_cart:"🛒",shower:"🚿",shrimp:"ðŸ¦",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"â›·",skull:"💀",skull_and_crossbones:"☠ï¸",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"ðŸ™",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"ðŸ˜",smirk_cat:"😼",smoking:"🚬",snail:"ðŸŒ",snake:"ðŸ",sneezing_face:"🤧",snowboarder:"ðŸ‚",snowflake:"â„ï¸",snowman:"⛄ï¸",snowman_with_snow:"☃ï¸",sob:"ðŸ˜",soccer:"âš½ï¸",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"â™ ï¸",spaghetti:"ðŸ",sparkle:"â‡ï¸",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"ðŸŸ",star:"âï¸",star2:"🌟",star_and_crescent:"☪ï¸",star_of_david:"✡ï¸",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"ðŸ²",stop_button:"â¹",stop_sign:"🛑",stopwatch:"â±",straight_ruler:"ðŸ“",strawberry:"ðŸ“",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"ðŸ˜",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀ï¸",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"ðŸ„",surfing_woman:"ðŸ„‍♀ï¸",sushi:"ðŸ£",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"ðŸ ",swimming_man:"ðŸŠ",swimming_woman:"ðŸŠ‍♀ï¸",symbols:"🔣",synagogue:"ðŸ•",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉ï¸",taxi:"🚕",tea:"ðŸµ",telephone_receiver:"📞",telescope:"ðŸ”",tennis:"🎾",tent:"⛺ï¸",thermometer:"🌡",thinking:"🤔",thought_balloon:"ðŸ’",ticket:"🎫",tickets:"🎟",tiger:"ðŸ¯",tiger2:"ðŸ…",timer_clock:"â²",tipping_hand_man:"ðŸ’‍♂ï¸",tired_face:"😫",tm:"â„¢ï¸",toilet:"🚽",tokyo_tower:"🗼",tomato:"ðŸ…",tongue:"👅",top:"ðŸ”",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"ðŸ“",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"ðŸ†",tropical_drink:"ðŸ¹",tropical_fish:"ðŸ ",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"ðŸ¢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"ðŸ‘",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯ï¸",u6708:"🈷ï¸",u6709:"🈶",u6e80:"🈵",u7121:"🈚ï¸",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔ï¸",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌ï¸",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"â™ï¸",volcano:"🌋",volleyball:"ðŸ",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶‍♀ï¸",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"âš ï¸",wastebasket:"🗑",watch:"⌚ï¸",water_buffalo:"ðŸƒ",watermelon:"ðŸ‰",wave:"👋",wavy_dash:"〰ï¸",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"ðŸ‹ï¸",weight_lifting_woman:"ðŸ‹ï¸‍♀ï¸",whale:"ðŸ³",whale2:"ðŸ‹",wheel_of_dharma:"☸ï¸",wheelchair:"♿ï¸",white_check_mark:"✅",white_circle:"⚪ï¸",white_flag:"ðŸ³ï¸",white_flower:"💮",white_large_square:"⬜ï¸",white_medium_small_square:"â—½ï¸",white_medium_square:"â—»ï¸",white_small_square:"â–«ï¸",white_square_button:"🔳", wilted_flower:"🥀",wind_chime:"ðŸŽ",wind_face:"🌬",wine_glass:"ðŸ·",wink:"😉",wolf:"ðŸº",woman:"👩",woman_artist:"👩‍🎨",woman_astronaut:"👩‍🚀",woman_cartwheeling:"🤸‍♀ï¸",woman_cook:"👩‍ðŸ³",woman_facepalming:"🤦‍♀ï¸",woman_factory_worker:"👩‍ðŸ",woman_farmer:"👩‍🌾",woman_firefighter:"👩‍🚒",woman_health_worker:"👩‍âš•ï¸",woman_judge:"👩‍âš–ï¸",woman_juggling:"🤹‍♀ï¸",woman_mechanic:"👩‍🔧",woman_office_worker:"👩‍💼",woman_pilot:"👩‍✈ï¸",woman_playing_handball:"🤾‍♀ï¸",woman_playing_water_polo:"🤽‍♀ï¸",woman_scientist:"👩‍🔬",woman_shrugging:"🤷‍♀ï¸",woman_singer:"👩‍🎤",woman_student:"👩‍🎓",woman_teacher:"👩‍ðŸ«",woman_technologist:"👩‍💻",woman_with_turban:"👳‍♀ï¸",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼‍♀ï¸",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"âœï¸",x:"âŒ",yellow_heart:"💛",yen:"💴",yin_yang:"☯ï¸",yum:"😋",zap:"âš¡ï¸",zipper_mouth_face:"ðŸ¤",zzz:"💤",octocat:'<img alt=":octocat:" height="20" width="20" align="absmiddle" src="https://assets-cdn.github.com/images/icons/emoji/octocat.png">',showdown:"<span style=\"font-family: 'Anonymous Pro', monospace; text-decoration: underline; text-decoration-style: dashed; text-decoration-color: #3e8b8a;text-underline-position: under;\">S</span>"},l.Converter=function(e){"use strict";function t(){e=e||{};for(var t in p)p.hasOwnProperty(t)&&(s[t]=p[t]);if("object"!=typeof e)throw Error("Converter expects the passed parameter to be an object, but "+typeof e+" was passed instead.");for(var n in e)e.hasOwnProperty(n)&&(s[n]=e[n]);s.extensions&&l.helper.forEach(s.extensions,r)}function r(e,t){if(t=t||null,l.helper.isString(e)){if(e=l.helper.stdExtName(e),t=e,l.extensions[e])return console.warn("DEPRECATION WARNING: "+e+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),void n(l.extensions[e],e);if(l.helper.isUndefined(u[e]))throw Error('Extension "'+e+'" could not be loaded. It was either not found or is not a valid extension.');e=u[e]}"function"==typeof e&&(e=e()),l.helper.isArray(e)||(e=[e]);var r=i(e,t);if(!r.valid)throw Error(r.error);for(var a=0;a<e.length;++a){switch(e[a].type){case"lang":c.push(e[a]);break;case"output":f.push(e[a])}if(e[a].hasOwnProperty("listeners"))for(var s in e[a].listeners)e[a].listeners.hasOwnProperty(s)&&o(s,e[a].listeners[s])}}function n(e,t){"function"==typeof e&&(e=e(new l.Converter)),l.helper.isArray(e)||(e=[e]);var r=i(e,t);if(!r.valid)throw Error(r.error);for(var n=0;n<e.length;++n)switch(e[n].type){case"lang":c.push(e[n]);break;case"output":f.push(e[n]);break;default:throw Error("Extension loader error: Type unrecognized!!!")}}function o(e,t){if(!l.helper.isString(e))throw Error("Invalid argument in converter.listen() method: name must be a string, but "+typeof e+" given");if("function"!=typeof t)throw Error("Invalid argument in converter.listen() method: callback must be a function, but "+typeof t+" given");m.hasOwnProperty(e)||(m[e]=[]),m[e].push(t)}function a(e){var t=e.match(/^\s*/)[0].length,r=new RegExp("^\\s{0,"+t+"}","gm");return e.replace(r,"")}var s={},c=[],f=[],m={},g=d,_={parsed:{},raw:"",format:""};t(),this._dispatch=function(e,t,r,n){if(m.hasOwnProperty(e))for(var o=0;o<m[e].length;++o){var a=m[e][o](e,t,this,r,n);a&&"undefined"!=typeof a&&(t=a)}return t},this.listen=function(e,t){return o(e,t),this},this.makeHtml=function(e){if(!e)return e;var t={gHtmlBlocks:[],gHtmlMdBlocks:[],gHtmlSpans:[],gUrls:{},gTitles:{},gDimensions:{},gListLevel:0,hashLinkCounts:{},langExtensions:c,outputModifiers:f,converter:this,ghCodeBlocks:[],metadata:{parsed:{},raw:"",format:""}};return e=e.replace(/¨/g,"¨T"),e=e.replace(/\$/g,"¨D"),e=e.replace(/\r\n/g,"\n"),e=e.replace(/\r/g,"\n"),e=e.replace(/\u00A0/g," "),s.smartIndentationFix&&(e=a(e)),e="\n\n"+e+"\n\n",e=l.subParser("detab")(e,s,t),e=e.replace(/^[ \t]+$/gm,""),l.helper.forEach(c,function(r){e=l.subParser("runExtension")(r,e,s,t)}),e=l.subParser("metadata")(e,s,t),e=l.subParser("hashPreCodeTags")(e,s,t),e=l.subParser("githubCodeBlocks")(e,s,t),e=l.subParser("hashHTMLBlocks")(e,s,t),e=l.subParser("hashCodeTags")(e,s,t),e=l.subParser("stripLinkDefinitions")(e,s,t),e=l.subParser("blockGamut")(e,s,t),e=l.subParser("unhashHTMLSpans")(e,s,t),e=l.subParser("unescapeSpecialChars")(e,s,t),e=e.replace(/¨D/g,"$$"),e=e.replace(/¨T/g,"¨"),e=l.subParser("completeHTMLDocument")(e,s,t),l.helper.forEach(f,function(r){e=l.subParser("runExtension")(r,e,s,t)}),_=t.metadata,e},this.makeMarkdown=this.makeMd=function(e,t){function r(e){for(var t=0;t<e.childNodes.length;++t){var n=e.childNodes[t];3===n.nodeType?/\S/.test(n.nodeValue)?(n.nodeValue=n.nodeValue.split("\n").join(" "),n.nodeValue=n.nodeValue.replace(/(\s)+/g,"$1")):(e.removeChild(n),--t):1===n.nodeType&&r(n)}}function n(e){for(var t=e.querySelectorAll("pre"),r=[],n=0;n<t.length;++n)if(1===t[n].childElementCount&&"code"===t[n].firstChild.tagName.toLowerCase()){var o=t[n].firstChild.innerHTML.trim(),a=t[n].firstChild.getAttribute("data-language")||"";if(""===a)for(var i=t[n].firstChild.className.split(" "),s=0;s<i.length;++s){var c=i[s].match(/^language-(.+)$/);if(null!==c){a=c[1];break}}o=l.helper.unescapeHTMLEntities(o),r.push(o),t[n].outerHTML='<precode language="'+a+'" precodenum="'+n.toString()+'"></precode>'}else r.push(t[n].innerHTML),t[n].innerHTML="",t[n].setAttribute("prenum",n.toString());return r}if(e=e.replace(/\r\n/g,"\n"),e=e.replace(/\r/g,"\n"),e=e.replace(/>[ \t]+</,">¨NBSP;<"),!t){if(!window||!window.document)throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");t=window.document}var o=t.createElement("div");o.innerHTML=e;var a={preList:n(o)};r(o);for(var i=o.childNodes,s="",c=0;c<i.length;c++)s+=l.subParser("makeMarkdown.node")(i[c],a);return s},this.setOption=function(e,t){s[e]=t},this.getOption=function(e){return s[e]},this.getOptions=function(){return s},this.addExtension=function(e,t){t=t||null,r(e,t)},this.useExtension=function(e){r(e)},this.setFlavor=function(e){if(!h.hasOwnProperty(e))throw Error(e+" flavor was not found");var t=h[e];g=e;for(var r in t)t.hasOwnProperty(r)&&(s[r]=t[r])},this.getFlavor=function(){return g},this.removeExtension=function(e){l.helper.isArray(e)||(e=[e]);for(var t=0;t<e.length;++t){for(var r=e[t],n=0;n<c.length;++n)c[n]===r&&c[n].splice(n,1);for(var o=0;o<f.length;++n)f[o]===r&&f[o].splice(n,1)}},this.getAllExtensions=function(){return{language:c,output:f}},this.getMetadata=function(e){return e?_.raw:_.parsed},this.getMetadataFormat=function(){return _.format},this._setMetadataPair=function(e,t){_.parsed[e]=t},this._setMetadataFormat=function(e){_.format=e},this._setMetadataRaw=function(e){_.raw=e}},l.subParser("anchors",function(e,t,r){"use strict";e=r.converter._dispatch("anchors.before",e,t,r);var n=function(e,n,o,a,i,s,c){if(l.helper.isUndefined(c)&&(c=""),o=o.toLowerCase(),e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)>-1)a="";else if(!a){if(o||(o=n.toLowerCase().replace(/ ?\n/g," ")),a="#"+o,l.helper.isUndefined(r.gUrls[o]))return e;a=r.gUrls[o],l.helper.isUndefined(r.gTitles[o])||(c=r.gTitles[o])}a=a.replace(l.helper.regexes.asteriskDashAndColon,l.helper.escapeCharactersCallback);var u='<a href="'+a+'"';return""!==c&&null!==c&&(c=c.replace(/"/g,"""),c=c.replace(l.helper.regexes.asteriskDashAndColon,l.helper.escapeCharactersCallback),u+=' title="'+c+'"'),t.openLinksInNewWindow&&!/^#/.test(a)&&(u+=' rel="noopener noreferrer" target="¨E95Eblank"'),u+=">"+n+"</a>"};return e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,n),e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,n),e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,n),e=e.replace(/\[([^\[\]]+)]()()()()()/g,n),t.ghMentions&&(e=e.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim,function(e,r,n,o,a){if("\\"===n)return r+o;if(!l.helper.isString(t.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var i=t.ghMentionsLink.replace(/\{u}/g,a),s="";return t.openLinksInNewWindow&&(s=' rel="noopener noreferrer" target="¨E95Eblank"'),r+'<a href="'+i+'"'+s+">"+o+"</a>"})),e=r.converter._dispatch("anchors.after",e,t,r)});var m=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,g=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,_=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,b=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,v=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,y=function(e){"use strict";return function(t,r,n,o,a,i,s){n=n.replace(l.helper.regexes.asteriskDashAndColon,l.helper.escapeCharactersCallback);var c=n,u="",p="",d=r||"",h=s||"";return/^www\./i.test(n)&&(n=n.replace(/^www\./i,"http://www.")),e.excludeTrailingPunctuationFromURLs&&i&&(u=i),e.openLinksInNewWindow&&(p=' rel="noopener noreferrer" target="¨E95Eblank"'),d+'<a href="'+n+'"'+p+">"+c+"</a>"+u+h}},w=function(e,t){"use strict";return function(r,n,o){var a="mailto:";return n=n||"",o=l.subParser("unescapeSpecialChars")(o,e,t),e.encodeEmails?(a=l.helper.encodeEmailAddress(a+o),o=l.helper.encodeEmailAddress(o)):a+=o,n+'<a href="'+a+'">'+o+"</a>"}};l.subParser("autoLinks",function(e,t,r){"use strict";return e=r.converter._dispatch("autoLinks.before",e,t,r),e=e.replace(_,y(t)),e=e.replace(v,w(t,r)),e=r.converter._dispatch("autoLinks.after",e,t,r)}),l.subParser("simplifiedAutoLinks",function(e,t,r){"use strict";return t.simplifiedAutoLink?(e=r.converter._dispatch("simplifiedAutoLinks.before",e,t,r),e=t.excludeTrailingPunctuationFromURLs?e.replace(g,y(t)):e.replace(m,y(t)),e=e.replace(b,w(t,r)),e=r.converter._dispatch("simplifiedAutoLinks.after",e,t,r)):e}),l.subParser("blockGamut",function(e,t,r){"use strict";return e=r.converter._dispatch("blockGamut.before",e,t,r),e=l.subParser("blockQuotes")(e,t,r),e=l.subParser("headers")(e,t,r),e=l.subParser("horizontalRule")(e,t,r),e=l.subParser("lists")(e,t,r),e=l.subParser("codeBlocks")(e,t,r),e=l.subParser("tables")(e,t,r),e=l.subParser("hashHTMLBlocks")(e,t,r),e=l.subParser("paragraphs")(e,t,r),e=r.converter._dispatch("blockGamut.after",e,t,r)}),l.subParser("blockQuotes",function(e,t,r){"use strict";e=r.converter._dispatch("blockQuotes.before",e,t,r),e+="\n\n";var n=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return t.splitAdjacentBlockquotes&&(n=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),e=e.replace(n,function(e){return e=e.replace(/^[ \t]*>[ \t]?/gm,""),e=e.replace(/¨0/g,""),e=e.replace(/^[ \t]+$/gm,""),e=l.subParser("githubCodeBlocks")(e,t,r),e=l.subParser("blockGamut")(e,t,r),e=e.replace(/(^|\n)/g,"$1 "),e=e.replace(/(\s*<pre>[^\r]+?<\/pre>)/gm,function(e,t){var r=t;return r=r.replace(/^ /gm,"¨0"),r=r.replace(/¨0/g,"")}),l.subParser("hashBlock")("<blockquote>\n"+e+"\n</blockquote>",t,r)}),e=r.converter._dispatch("blockQuotes.after",e,t,r)}),l.subParser("codeBlocks",function(e,t,r){"use strict";e=r.converter._dispatch("codeBlocks.before",e,t,r),e+="¨0";var n=/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g;return e=e.replace(n,function(e,n,o){var a=n,i=o,s="\n";return a=l.subParser("outdent")(a,t,r),a=l.subParser("encodeCode")(a,t,r),a=l.subParser("detab")(a,t,r),a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,""),t.omitExtraWLInCodeBlocks&&(s=""),a="<pre><code>"+a+s+"</code></pre>",l.subParser("hashBlock")(a,t,r)+i}),e=e.replace(/¨0/,""),e=r.converter._dispatch("codeBlocks.after",e,t,r)}),l.subParser("codeSpans",function(e,t,r){"use strict";return e=r.converter._dispatch("codeSpans.before",e,t,r),"undefined"==typeof e&&(e=""),e=e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(e,n,o,a){var i=a;return i=i.replace(/^([ \t]*)/g,""),i=i.replace(/[ \t]*$/g,""),i=l.subParser("encodeCode")(i,t,r),i=n+"<code>"+i+"</code>",i=l.subParser("hashHTMLSpans")(i,t,r)}),e=r.converter._dispatch("codeSpans.after",e,t,r)}),l.subParser("completeHTMLDocument",function(e,t,r){"use strict";if(!t.completeHTMLDocument)return e;e=r.converter._dispatch("completeHTMLDocument.before",e,t,r);var n="html",o="<!DOCTYPE HTML>\n",a="",i='<meta charset="utf-8">\n',s="",l="";"undefined"!=typeof r.metadata.parsed.doctype&&(o="<!DOCTYPE "+r.metadata.parsed.doctype+">\n",n=r.metadata.parsed.doctype.toString().toLowerCase(),"html"!==n&&"html5"!==n||(i='<meta charset="utf-8">'));for(var c in r.metadata.parsed)if(r.metadata.parsed.hasOwnProperty(c))switch(c.toLowerCase()){case"doctype":break;case"title":a="<title>"+r.metadata.parsed.title+"</title>\n";break;case"charset":i="html"===n||"html5"===n?'<meta charset="'+r.metadata.parsed.charset+'">\n':'<meta name="charset" content="'+r.metadata.parsed.charset+'">\n';break;case"language":case"lang":s=' lang="'+r.metadata.parsed[c]+'"',l+='<meta name="'+c+'" content="'+r.metadata.parsed[c]+'">\n';break;default:l+='<meta name="'+c+'" content="'+r.metadata.parsed[c]+'">\n'}return e=o+"<html"+s+">\n<head>\n"+a+i+l+"</head>\n<body>\n"+e.trim()+"\n</body>\n</html>",e=r.converter._dispatch("completeHTMLDocument.after",e,t,r)}),l.subParser("detab",function(e,t,r){"use strict";return e=r.converter._dispatch("detab.before",e,t,r),e=e.replace(/\t(?=\t)/g," "),e=e.replace(/\t/g,"¨A¨B"),e=e.replace(/¨B(.+?)¨A/g,function(e,t){for(var r=t,n=4-r.length%4,o=0;o<n;o++)r+=" ";return r}),e=e.replace(/¨A/g," "),e=e.replace(/¨B/g,""),e=r.converter._dispatch("detab.after",e,t,r)}),l.subParser("ellipsis",function(e,t,r){"use strict";return e=r.converter._dispatch("ellipsis.before",e,t,r),e=e.replace(/\.\.\./g,"…"),e=r.converter._dispatch("ellipsis.after",e,t,r)}),l.subParser("emoji",function(e,t,r){"use strict";if(!t.emoji)return e;e=r.converter._dispatch("emoji.before",e,t,r);var n=/:([\S]+?):/g;return e=e.replace(n,function(e,t){return l.helper.emojis.hasOwnProperty(t)?l.helper.emojis[t]:e}),e=r.converter._dispatch("emoji.after",e,t,r)}),l.subParser("encodeAmpsAndAngles",function(e,t,r){"use strict";return e=r.converter._dispatch("encodeAmpsAndAngles.before",e,t,r),e=e.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&"),e=e.replace(/<(?![a-z\/?$!])/gi,"<"),e=e.replace(/</g,"<"),e=e.replace(/>/g,">"),e=r.converter._dispatch("encodeAmpsAndAngles.after",e,t,r)}),l.subParser("encodeBackslashEscapes",function(e,t,r){"use strict";return e=r.converter._dispatch("encodeBackslashEscapes.before",e,t,r),e=e.replace(/\\(\\)/g,l.helper.escapeCharactersCallback),e=e.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g,l.helper.escapeCharactersCallback),e=r.converter._dispatch("encodeBackslashEscapes.after",e,t,r)}),l.subParser("encodeCode",function(e,t,r){"use strict";return e=r.converter._dispatch("encodeCode.before",e,t,r),e=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/([*_{}\[\]\\=~-])/g,l.helper.escapeCharactersCallback),e=r.converter._dispatch("encodeCode.after",e,t,r)}),l.subParser("escapeSpecialCharsWithinTagAttributes",function(e,t,r){"use strict";e=r.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",e,t,r);var n=/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,o=/<!(--(?:(?:[^>-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;return e=e.replace(n,function(e){return e.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,l.helper.escapeCharactersCallback)}),e=e.replace(o,function(e){return e.replace(/([\\`*_~=|])/g,l.helper.escapeCharactersCallback)}),e=r.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",e,t,r)}),l.subParser("githubCodeBlocks",function(e,t,r){"use strict";return t.ghCodeBlocks?(e=r.converter._dispatch("githubCodeBlocks.before",e,t,r),e+="¨0",e=e.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,function(e,n,o,a){var i=t.omitExtraWLInCodeBlocks?"":"\n";return a=l.subParser("encodeCode")(a,t,r),a=l.subParser("detab")(a,t,r),a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,""),a="<pre><code"+(o?' class="'+o+" language-"+o+'"':"")+">"+a+i+"</code></pre>",a=l.subParser("hashBlock")(a,t,r),"\n\n¨G"+(r.ghCodeBlocks.push({text:e,codeblock:a})-1)+"G\n\n"}),e=e.replace(/¨0/,""),r.converter._dispatch("githubCodeBlocks.after",e,t,r)):e}),l.subParser("hashBlock",function(e,t,r){"use strict";return e=r.converter._dispatch("hashBlock.before",e,t,r),e=e.replace(/(^\n+|\n+$)/g,""),e="\n\n¨K"+(r.gHtmlBlocks.push(e)-1)+"K\n\n",e=r.converter._dispatch("hashBlock.after",e,t,r)}),l.subParser("hashCodeTags",function(e,t,r){"use strict";e=r.converter._dispatch("hashCodeTags.before",e,t,r);var n=function(e,n,o,a){var i=o+l.subParser("encodeCode")(n,t,r)+a;return"¨C"+(r.gHtmlSpans.push(i)-1)+"C"};return e=l.helper.replaceRecursiveRegExp(e,n,"<code\\b[^>]*>","</code>","gim"),e=r.converter._dispatch("hashCodeTags.after",e,t,r)}),l.subParser("hashElement",function(e,t,r){"use strict";return function(e,t){var n=t;return n=n.replace(/\n\n/g,"\n"),n=n.replace(/^\n/,""),n=n.replace(/\n+$/g,""),n="\n\n¨K"+(r.gHtmlBlocks.push(n)-1)+"K\n\n"}}),l.subParser("hashHTMLBlocks",function(e,t,r){"use strict";e=r.converter._dispatch("hashHTMLBlocks.before",e,t,r);var n=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],o=function(e,t,n,o){var a=e;return n.search(/\bmarkdown\b/)!==-1&&(a=n+r.converter.makeHtml(t)+o),"\n\n¨K"+(r.gHtmlBlocks.push(a)-1)+"K\n\n"};t.backslashEscapesHTMLTags&&(e=e.replace(/\\<(\/?[^>]+?)>/g,function(e,t){return"<"+t+">"}));for(var a=0;a<n.length;++a)for(var i,s=new RegExp("^ {0,3}(<"+n[a]+"\\b[^>]*>)","im"),c="<"+n[a]+"\\b[^>]*>",u="</"+n[a]+">";(i=l.helper.regexIndexOf(e,s))!==-1;){var p=l.helper.splitAtIndex(e,i),d=l.helper.replaceRecursiveRegExp(p[1],o,c,u,"im");if(d===p[1])break;e=p[0].concat(d)}return e=e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,l.subParser("hashElement")(e,t,r)),e=l.helper.replaceRecursiveRegExp(e,function(e){return"\n\n¨K"+(r.gHtmlBlocks.push(e)-1)+"K\n\n"},"^ {0,3}<!--","-->","gm"),e=e.replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,l.subParser("hashElement")(e,t,r)),e=r.converter._dispatch("hashHTMLBlocks.after",e,t,r)}),l.subParser("hashHTMLSpans",function(e,t,r){"use strict";function n(e){return"¨C"+(r.gHtmlSpans.push(e)-1)+"C"}return e=r.converter._dispatch("hashHTMLSpans.before",e,t,r),e=e.replace(/<[^>]+?\/>/gi,function(e){return n(e)}),e=e.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,function(e){return n(e)}),e=e.replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,function(e){return n(e)}),e=e.replace(/<[^>]+?>/gi,function(e){return n(e)}),e=r.converter._dispatch("hashHTMLSpans.after",e,t,r)}),l.subParser("unhashHTMLSpans",function(e,t,r){"use strict";e=r.converter._dispatch("unhashHTMLSpans.before",e,t,r);for(var n=0;n<r.gHtmlSpans.length;++n){for(var o=r.gHtmlSpans[n],a=0;/¨C(\d+)C/.test(o);){var i=RegExp.$1;if(o=o.replace("¨C"+i+"C",r.gHtmlSpans[i]),10===a){console.error("maximum nesting of 10 spans reached!!!");break}++a}e=e.replace("¨C"+n+"C",o)}return e=r.converter._dispatch("unhashHTMLSpans.after",e,t,r)}),l.subParser("hashPreCodeTags",function(e,t,r){"use strict";e=r.converter._dispatch("hashPreCodeTags.before",e,t,r);var n=function(e,n,o,a){var i=o+l.subParser("encodeCode")(n,t,r)+a;return"\n\n¨G"+(r.ghCodeBlocks.push({text:e,codeblock:i})-1)+"G\n\n"};return e=l.helper.replaceRecursiveRegExp(e,n,"^ {0,3}<pre\\b[^>]*>\\s*<code\\b[^>]*>","^ {0,3}</code>\\s*</pre>","gim"),e=r.converter._dispatch("hashPreCodeTags.after",e,t,r)}),l.subParser("headers",function(e,t,r){"use strict";function n(e){var n,o;if(t.customizedHeaderId){var a=e.match(/\{([^{]+?)}\s*$/);a&&a[1]&&(e=a[1])}return n=e,o=l.helper.isString(t.prefixHeaderId)?t.prefixHeaderId:t.prefixHeaderId===!0?"section-":"",t.rawPrefixHeaderId||(n=o+n),n=t.ghCompatibleHeaderId?n.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():t.rawHeaderId?n.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():n.replace(/[^\w]/g,"").toLowerCase(),t.rawPrefixHeaderId&&(n=o+n),r.hashLinkCounts[n]?n=n+"-"+r.hashLinkCounts[n]++:r.hashLinkCounts[n]=1,n}e=r.converter._dispatch("headers.before",e,t,r);var o=isNaN(parseInt(t.headerLevelStart))?1:parseInt(t.headerLevelStart),a=t.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,i=t.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;e=e.replace(a,function(e,a){var i=l.subParser("spanGamut")(a,t,r),s=t.noHeaderId?"":' id="'+n(a)+'"',c=o,u="<h"+c+s+">"+i+"</h"+c+">";return l.subParser("hashBlock")(u,t,r)}),e=e.replace(i,function(e,a){var i=l.subParser("spanGamut")(a,t,r),s=t.noHeaderId?"":' id="'+n(a)+'"',c=o+1,u="<h"+c+s+">"+i+"</h"+c+">";return l.subParser("hashBlock")(u,t,r)});var s=t.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;return e=e.replace(s,function(e,a,i){var s=i;t.customizedHeaderId&&(s=i.replace(/\s?\{([^{]+?)}\s*$/,""));var c=l.subParser("spanGamut")(s,t,r),u=t.noHeaderId?"":' id="'+n(i)+'"',p=o-1+a.length,d="<h"+p+u+">"+c+"</h"+p+">";return l.subParser("hashBlock")(d,t,r)}),e=r.converter._dispatch("headers.after",e,t,r)}),l.subParser("horizontalRule",function(e,t,r){"use strict";e=r.converter._dispatch("horizontalRule.before",e,t,r);var n=l.subParser("hashBlock")("<hr />",t,r);return e=e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,n),e=e.replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,n),e=e.replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,n),e=r.converter._dispatch("horizontalRule.after",e,t,r)}),l.subParser("images",function(e,t,r){"use strict";function n(e,t,r,n,a,i,s,l){return n=n.replace(/\s/g,""),o(e,t,r,n,a,i,s,l)}function o(e,t,n,o,a,i,s,c){var u=r.gUrls,p=r.gTitles,d=r.gDimensions;if(n=n.toLowerCase(),c||(c=""),e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)>-1)o="";else if(""===o||null===o){if(""!==n&&null!==n||(n=t.toLowerCase().replace(/ ?\n/g," ")),o="#"+n,l.helper.isUndefined(u[n]))return e;o=u[n],l.helper.isUndefined(p[n])||(c=p[n]),l.helper.isUndefined(d[n])||(a=d[n].width,i=d[n].height)}t=t.replace(/"/g,""").replace(l.helper.regexes.asteriskDashAndColon,l.helper.escapeCharactersCallback),o=o.replace(l.helper.regexes.asteriskDashAndColon,l.helper.escapeCharactersCallback);var h='<img src="'+o+'" alt="'+t+'"';return c&&l.helper.isString(c)&&(c=c.replace(/"/g,""").replace(l.helper.regexes.asteriskDashAndColon,l.helper.escapeCharactersCallback),h+=' title="'+c+'"'),a&&i&&(a="*"===a?"auto":a,i="*"===i?"auto":i,h+=' width="'+a+'"',h+=' height="'+i+'"'),h+=" />"}e=r.converter._dispatch("images.before",e,t,r);var a=/!\[([^\]]*?)][ \t]*()\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,i=/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,s=/!\[([^\]]*?)][ \t]*()\([ \t]?<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,c=/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,u=/!\[([^\[\]]+)]()()()()()/g;return e=e.replace(c,o),e=e.replace(s,n),e=e.replace(i,o),e=e.replace(a,o),e=e.replace(u,o),e=r.converter._dispatch("images.after",e,t,r)}),l.subParser("italicsAndBold",function(e,t,r){"use strict";function n(e,t,r){return t+e+r}return e=r.converter._dispatch("italicsAndBold.before",e,t,r),t.literalMidWordUnderscores?(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,function(e,t){return n(t,"<strong><em>","</em></strong>")}),e=e.replace(/\b__(\S[\s\S]*?)__\b/g,function(e,t){return n(t,"<strong>","</strong>")}),e=e.replace(/\b_(\S[\s\S]*?)_\b/g,function(e,t){return n(t,"<em>","</em>")})):(e=e.replace(/___(\S[\s\S]*?)___/g,function(e,t){return/\S$/.test(t)?n(t,"<strong><em>","</em></strong>"):e}),e=e.replace(/__(\S[\s\S]*?)__/g,function(e,t){return/\S$/.test(t)?n(t,"<strong>","</strong>"):e}),e=e.replace(/_([^\s_][\s\S]*?)_/g,function(e,t){return/\S$/.test(t)?n(t,"<em>","</em>"):e})),t.literalMidWordAsterisks?(e=e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,function(e,t,r){return n(r,t+"<strong><em>","</em></strong>")}),e=e.replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,function(e,t,r){return n(r,t+"<strong>","</strong>")}),e=e.replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,function(e,t,r){return n(r,t+"<em>","</em>")})):(e=e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,function(e,t){return/\S$/.test(t)?n(t,"<strong><em>","</em></strong>"):e}),e=e.replace(/\*\*(\S[\s\S]*?)\*\*/g,function(e,t){return/\S$/.test(t)?n(t,"<strong>","</strong>"):e}),e=e.replace(/\*([^\s*][\s\S]*?)\*/g,function(e,t){return/\S$/.test(t)?n(t,"<em>","</em>"):e})),e=r.converter._dispatch("italicsAndBold.after",e,t,r)}),l.subParser("lists",function(e,t,r){"use strict";function n(e,n){r.gListLevel++,e=e.replace(/\n{2,}$/,"\n"),e+="¨0";var o=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,a=/\n[ \t]*\n(?!¨0)/.test(e);return t.disableForced4SpacesIndentedSublists&&(o=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),e=e.replace(o,function(e,n,o,i,s,c,u){u=u&&""!==u.trim();var p=l.subParser("outdent")(s,t,r),d="";return c&&t.tasklists&&(d=' class="task-list-item" style="list-style-type: none;"',p=p.replace(/^[ \t]*\[(x|X| )?]/m,function(){var e='<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"';return u&&(e+=" checked"),e+=">"})),p=p.replace(/^([-*+]|\d\.)[ \t]+[\S\n ]*/g,function(e){return"¨A"+e}),n||p.search(/\n{2,}/)>-1?(p=l.subParser("githubCodeBlocks")(p,t,r),p=l.subParser("blockGamut")(p,t,r)):(p=l.subParser("lists")(p,t,r),p=p.replace(/\n$/,""),p=l.subParser("hashHTMLBlocks")(p,t,r),p=p.replace(/\n\n+/g,"\n\n"),p=a?l.subParser("paragraphs")(p,t,r):l.subParser("spanGamut")(p,t,r)),p=p.replace("¨A",""),p="<li"+d+">"+p+"</li>\n"}),e=e.replace(/¨0/g,""),r.gListLevel--,n&&(e=e.replace(/\s+$/,"")),e}function o(e,t){if("ol"===t){var r=e.match(/^ *(\d+)\./);if(r&&"1"!==r[1])return' start="'+r[1]+'"'}return""}function a(e,r,a){var i=t.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,s=t.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,l="ul"===r?i:s,c="";if(e.search(l)!==-1)!function t(u){var p=u.search(l),d=o(e,r);p!==-1?(c+="\n\n<"+r+d+">\n"+n(u.slice(0,p),!!a)+"</"+r+">\n",r="ul"===r?"ol":"ul",l="ul"===r?i:s,t(u.slice(p))):c+="\n\n<"+r+d+">\n"+n(u,!!a)+"</"+r+">\n"}(e);else{var u=o(e,r);c="\n\n<"+r+u+">\n"+n(e,!!a)+"</"+r+">\n"}return c}return e=r.converter._dispatch("lists.before",e,t,r),e+="¨0",e=r.gListLevel?e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(e,t,r){var n=r.search(/[*+-]/g)>-1?"ul":"ol";return a(t,n,!0)}):e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(e,t,r,n){var o=n.search(/[*+-]/g)>-1?"ul":"ol";return a(r,o,!1)}),e=e.replace(/¨0/,""),e=r.converter._dispatch("lists.after",e,t,r)}),l.subParser("metadata",function(e,t,r){"use strict";function n(e){r.metadata.raw=e,e=e.replace(/&/g,"&").replace(/"/g,"""),e=e.replace(/\n {4}/g," "),e.replace(/^([\S ]+): +([\s\S]+?)$/gm,function(e,t,n){return r.metadata.parsed[t]=n,""})}return t.metadata?(e=r.converter._dispatch("metadata.before",e,t,r),e=e.replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,function(e,t,r){return n(r),"¨M"}),e=e.replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,function(e,t,o){return t&&(r.metadata.format=t),n(o),"¨M"}),e=e.replace(/¨M/g,""),e=r.converter._dispatch("metadata.after",e,t,r)):e}),l.subParser("outdent",function(e,t,r){"use strict";return e=r.converter._dispatch("outdent.before",e,t,r),e=e.replace(/^(\t|[ ]{1,4})/gm,"¨0"),e=e.replace(/¨0/g,""),e=r.converter._dispatch("outdent.after",e,t,r)}),l.subParser("paragraphs",function(e,t,r){"use strict";e=r.converter._dispatch("paragraphs.before",e,t,r),e=e.replace(/^\n+/g,""),e=e.replace(/\n+$/g,"");for(var n=e.split(/\n{2,}/g),o=[],a=n.length,i=0;i<a;i++){var s=n[i];s.search(/¨(K|G)(\d+)\1/g)>=0?o.push(s):s.search(/\S/)>=0&&(s=l.subParser("spanGamut")(s,t,r),s=s.replace(/^([ \t]*)/g,"<p>"),s+="</p>",o.push(s))}for(a=o.length,i=0;i<a;i++){for(var c="",u=o[i],p=!1;/¨(K|G)(\d+)\1/.test(u);){var d=RegExp.$1,h=RegExp.$2;c="K"===d?r.gHtmlBlocks[h]:p?l.subParser("encodeCode")(r.ghCodeBlocks[h].text,t,r):r.ghCodeBlocks[h].codeblock,c=c.replace(/\$/g,"$$$$"),u=u.replace(/(\n\n)?¨(K|G)\d+\2(\n\n)?/,c),/^<pre\b[^>]*>\s*<code\b[^>]*>/.test(u)&&(p=!0)}o[i]=u}return e=o.join("\n"),e=e.replace(/^\n+/g,""),e=e.replace(/\n+$/g,""),r.converter._dispatch("paragraphs.after",e,t,r)}),l.subParser("runExtension",function(e,t,r,n){"use strict";if(e.filter)t=e.filter(t,n.converter,r);else if(e.regex){var o=e.regex;o instanceof RegExp||(o=new RegExp(o,"g")),t=t.replace(o,e.replace)}return t}),l.subParser("spanGamut",function(e,t,r){"use strict";return e=r.converter._dispatch("spanGamut.before",e,t,r),e=l.subParser("codeSpans")(e,t,r),e=l.subParser("escapeSpecialCharsWithinTagAttributes")(e,t,r),e=l.subParser("encodeBackslashEscapes")(e,t,r),e=l.subParser("images")(e,t,r),e=l.subParser("anchors")(e,t,r),e=l.subParser("autoLinks")(e,t,r),e=l.subParser("simplifiedAutoLinks")(e,t,r),e=l.subParser("emoji")(e,t,r),e=l.subParser("underline")(e,t,r),e=l.subParser("italicsAndBold")(e,t,r),e=l.subParser("strikethrough")(e,t,r),e=l.subParser("ellipsis")(e,t,r),e=l.subParser("hashHTMLSpans")(e,t,r),e=l.subParser("encodeAmpsAndAngles")(e,t,r),t.simpleLineBreaks?/\n\n¨K/.test(e)||(e=e.replace(/\n+/g,"<br />\n")):e=e.replace(/ +\n/g,"<br />\n"),e=r.converter._dispatch("spanGamut.after",e,t,r)}),l.subParser("strikethrough",function(e,t,r){"use strict";function n(e){return t.simplifiedAutoLink&&(e=l.subParser("simplifiedAutoLinks")(e,t,r)),"<del>"+e+"</del>"}return t.strikethrough&&(e=r.converter._dispatch("strikethrough.before",e,t,r),e=e.replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,function(e,t){return n(t)}),e=r.converter._dispatch("strikethrough.after",e,t,r)),e}),l.subParser("stripLinkDefinitions",function(e,t,r){"use strict";var n=/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,o=/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;e+="¨0";var a=function(e,n,o,a,i,s,c){return n=n.toLowerCase(),o.match(/^data:.+?\/.+?;base64,/)?r.gUrls[n]=o.replace(/\s/g,""):r.gUrls[n]=l.subParser("encodeAmpsAndAngles")(o,t,r),s?s+c:(c&&(r.gTitles[n]=c.replace(/"|'/g,""")),t.parseImgDimensions&&a&&i&&(r.gDimensions[n]={width:a,height:i}),"")};return e=e.replace(o,a),e=e.replace(n,a),e=e.replace(/¨0/,"")}),l.subParser("tables",function(e,t,r){"use strict";function n(e){return/^:[ \t]*--*$/.test(e)?' style="text-align:left;"':/^--*[ \t]*:[ \t]*$/.test(e)?' style="text-align:right;"':/^:[ \t]*--*[ \t]*:$/.test(e)?' style="text-align:center;"':""}function o(e,n){var o="";return e=e.trim(),(t.tablesHeaderId||t.tableHeaderId)&&(o=' id="'+e.replace(/ /g,"_").toLowerCase()+'"'),e=l.subParser("spanGamut")(e,t,r),"<th"+o+n+">"+e+"</th>\n"}function a(e,n){var o=l.subParser("spanGamut")(e,t,r);return"<td"+n+">"+o+"</td>\n"}function i(e,t){for(var r="<table>\n<thead>\n<tr>\n",n=e.length,o=0;o<n;++o)r+=e[o];for(r+="</tr>\n</thead>\n<tbody>\n",o=0;o<t.length;++o){r+="<tr>\n";for(var a=0;a<n;++a)r+=t[o][a];r+="</tr>\n"}return r+="</tbody>\n</table>\n"; }function s(e){var s,c=e.split("\n");for(s=0;s<c.length;++s)/^ {0,3}\|/.test(c[s])&&(c[s]=c[s].replace(/^ {0,3}\|/,"")),/\|[ \t]*$/.test(c[s])&&(c[s]=c[s].replace(/\|[ \t]*$/,"")),c[s]=l.subParser("codeSpans")(c[s],t,r);var u=c[0].split("|").map(function(e){return e.trim()}),p=c[1].split("|").map(function(e){return e.trim()}),d=[],h=[],f=[],m=[];for(c.shift(),c.shift(),s=0;s<c.length;++s)""!==c[s].trim()&&d.push(c[s].split("|").map(function(e){return e.trim()}));if(u.length<p.length)return e;for(s=0;s<p.length;++s)f.push(n(p[s]));for(s=0;s<u.length;++s)l.helper.isUndefined(f[s])&&(f[s]=""),h.push(o(u[s],f[s]));for(s=0;s<d.length;++s){for(var g=[],_=0;_<h.length;++_)l.helper.isUndefined(d[s][_]),g.push(a(d[s][_],f[_]));m.push(g)}return i(h,m)}if(!t.tables)return e;var c=/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,u=/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm;return e=r.converter._dispatch("tables.before",e,t,r),e=e.replace(/\\(\|)/g,l.helper.escapeCharactersCallback),e=e.replace(c,s),e=e.replace(u,s),e=r.converter._dispatch("tables.after",e,t,r)}),l.subParser("underline",function(e,t,r){"use strict";return t.underline?(e=r.converter._dispatch("underline.before",e,t,r),t.literalMidWordUnderscores?(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,function(e,t){return"<u>"+t+"</u>"}),e=e.replace(/\b__(\S[\s\S]*?)__\b/g,function(e,t){return"<u>"+t+"</u>"})):(e=e.replace(/___(\S[\s\S]*?)___/g,function(e,t){return/\S$/.test(t)?"<u>"+t+"</u>":e}),e=e.replace(/__(\S[\s\S]*?)__/g,function(e,t){return/\S$/.test(t)?"<u>"+t+"</u>":e})),e=e.replace(/(_)/g,l.helper.escapeCharactersCallback),e=r.converter._dispatch("underline.after",e,t,r)):e}),l.subParser("unescapeSpecialChars",function(e,t,r){"use strict";return e=r.converter._dispatch("unescapeSpecialChars.before",e,t,r),e=e.replace(/¨E(\d+)E/g,function(e,t){var r=parseInt(t);return String.fromCharCode(r)}),e=r.converter._dispatch("unescapeSpecialChars.after",e,t,r)}),l.subParser("makeMarkdown.blockquote",function(e,t){"use strict";var r="";if(e.hasChildNodes())for(var n=e.childNodes,o=n.length,a=0;a<o;++a){var i=l.subParser("makeMarkdown.node")(n[a],t);""!==i&&(r+=i)}return r=r.trim(),r="> "+r.split("\n").join("\n> ")}),l.subParser("makeMarkdown.codeBlock",function(e,t){"use strict";var r=e.getAttribute("language"),n=e.getAttribute("precodenum");return"```"+r+"\n"+t.preList[n]+"\n```"}),l.subParser("makeMarkdown.codeSpan",function(e){"use strict";return"`"+e.innerHTML+"`"}),l.subParser("makeMarkdown.emphasis",function(e,t){"use strict";var r="";if(e.hasChildNodes()){r+="*";for(var n=e.childNodes,o=n.length,a=0;a<o;++a)r+=l.subParser("makeMarkdown.node")(n[a],t);r+="*"}return r}),l.subParser("makeMarkdown.header",function(e,t,r){"use strict";var n=new Array(r+1).join("#"),o="";if(e.hasChildNodes()){o=n+" ";for(var a=e.childNodes,i=a.length,s=0;s<i;++s)o+=l.subParser("makeMarkdown.node")(a[s],t)}return o}),l.subParser("makeMarkdown.hr",function(){"use strict";return"---"}),l.subParser("makeMarkdown.image",function(e){"use strict";var t="";return e.hasAttribute("src")&&(t+="+">",e.hasAttribute("width")&&e.hasAttribute("height")&&(t+=" ="+e.getAttribute("width")+"x"+e.getAttribute("height")),e.hasAttribute("title")&&(t+=' "'+e.getAttribute("title")+'"'),t+=")"),t}),l.subParser("makeMarkdown.links",function(e,t){"use strict";var r="";if(e.hasChildNodes()&&e.hasAttribute("href")){var n=e.childNodes,o=n.length;r="[";for(var a=0;a<o;++a)r+=l.subParser("makeMarkdown.node")(n[a],t);r+="](",r+="<"+e.getAttribute("href")+">",e.hasAttribute("title")&&(r+=' "'+e.getAttribute("title")+'"'),r+=")"}return r}),l.subParser("makeMarkdown.list",function(e,t,r){"use strict";var n="";if(!e.hasChildNodes())return"";for(var o=e.childNodes,a=o.length,i=e.getAttribute("start")||1,s=0;s<a;++s)if("undefined"!=typeof o[s].tagName&&"li"===o[s].tagName.toLowerCase()){var c="";c="ol"===r?i.toString()+". ":"- ",n+=c+l.subParser("makeMarkdown.listItem")(o[s],t),++i}return n+="\n<!-- -->\n",n.trim()}),l.subParser("makeMarkdown.listItem",function(e,t){"use strict";for(var r="",n=e.childNodes,o=n.length,a=0;a<o;++a)r+=l.subParser("makeMarkdown.node")(n[a],t);return/\n$/.test(r)?r=r.split("\n").join("\n ").replace(/^ {4}$/gm,"").replace(/\n\n+/g,"\n\n"):r+="\n",r}),l.subParser("makeMarkdown.node",function(e,t,r){"use strict";r=r||!1;var n="";if(3===e.nodeType)return l.subParser("makeMarkdown.txt")(e,t);if(8===e.nodeType)return"<!--"+e.data+"-->\n\n";if(1!==e.nodeType)return"";var o=e.tagName.toLowerCase();switch(o){case"h1":r||(n=l.subParser("makeMarkdown.header")(e,t,1)+"\n\n");break;case"h2":r||(n=l.subParser("makeMarkdown.header")(e,t,2)+"\n\n");break;case"h3":r||(n=l.subParser("makeMarkdown.header")(e,t,3)+"\n\n");break;case"h4":r||(n=l.subParser("makeMarkdown.header")(e,t,4)+"\n\n");break;case"h5":r||(n=l.subParser("makeMarkdown.header")(e,t,5)+"\n\n");break;case"h6":r||(n=l.subParser("makeMarkdown.header")(e,t,6)+"\n\n");break;case"p":r||(n=l.subParser("makeMarkdown.paragraph")(e,t)+"\n\n");break;case"blockquote":r||(n=l.subParser("makeMarkdown.blockquote")(e,t)+"\n\n");break;case"hr":r||(n=l.subParser("makeMarkdown.hr")(e,t)+"\n\n");break;case"ol":r||(n=l.subParser("makeMarkdown.list")(e,t,"ol")+"\n\n");break;case"ul":r||(n=l.subParser("makeMarkdown.list")(e,t,"ul")+"\n\n");break;case"precode":r||(n=l.subParser("makeMarkdown.codeBlock")(e,t)+"\n\n");break;case"pre":r||(n=l.subParser("makeMarkdown.pre")(e,t)+"\n\n");break;case"table":r||(n=l.subParser("makeMarkdown.table")(e,t)+"\n\n");break;case"code":n=l.subParser("makeMarkdown.codeSpan")(e,t);break;case"em":case"i":n=l.subParser("makeMarkdown.emphasis")(e,t);break;case"strong":case"b":n=l.subParser("makeMarkdown.strong")(e,t);break;case"del":n=l.subParser("makeMarkdown.strikethrough")(e,t);break;case"a":n=l.subParser("makeMarkdown.links")(e,t);break;case"img":n=l.subParser("makeMarkdown.image")(e,t);break;default:n=e.outerHTML+"\n\n"}return n}),l.subParser("makeMarkdown.paragraph",function(e,t){"use strict";var r="";if(e.hasChildNodes())for(var n=e.childNodes,o=n.length,a=0;a<o;++a)r+=l.subParser("makeMarkdown.node")(n[a],t);return r=r.trim()}),l.subParser("makeMarkdown.pre",function(e,t){"use strict";var r=e.getAttribute("prenum");return"<pre>"+t.preList[r]+"</pre>"}),l.subParser("makeMarkdown.strikethrough",function(e,t){"use strict";var r="";if(e.hasChildNodes()){r+="~~";for(var n=e.childNodes,o=n.length,a=0;a<o;++a)r+=l.subParser("makeMarkdown.node")(n[a],t);r+="~~"}return r}),l.subParser("makeMarkdown.strong",function(e,t){"use strict";var r="";if(e.hasChildNodes()){r+="**";for(var n=e.childNodes,o=n.length,a=0;a<o;++a)r+=l.subParser("makeMarkdown.node")(n[a],t);r+="**"}return r}),l.subParser("makeMarkdown.table",function(e,t){"use strict";var r,n,o="",a=[[],[]],i=e.querySelectorAll("thead>tr>th"),s=e.querySelectorAll("tbody>tr");for(r=0;r<i.length;++r){var c=l.subParser("makeMarkdown.tableCell")(i[r],t),u="---";if(i[r].hasAttribute("style")){var p=i[r].getAttribute("style").toLowerCase().replace(/\s/g,"");switch(p){case"text-align:left;":u=":---";break;case"text-align:right;":u="---:";break;case"text-align:center;":u=":---:"}}a[0][r]=c.trim(),a[1][r]=u}for(r=0;r<s.length;++r){var d=a.push([])-1,h=s[r].getElementsByTagName("td");for(n=0;n<i.length;++n){var f=" ";"undefined"!=typeof h[n]&&(f=l.subParser("makeMarkdown.tableCell")(h[n],t)),a[d].push(f)}}var m=3;for(r=0;r<a.length;++r)for(n=0;n<a[r].length;++n){var g=a[r][n].length;g>m&&(m=g)}for(r=0;r<a.length;++r){for(n=0;n<a[r].length;++n)1===r?":"===a[r][n].slice(-1)?a[r][n]=l.helper.padEnd(a[r][n].slice(-1),m-1,"-")+":":a[r][n]=l.helper.padEnd(a[r][n],m,"-"):a[r][n]=l.helper.padEnd(a[r][n],m);o+="| "+a[r].join(" | ")+" |\n"}return o.trim()}),l.subParser("makeMarkdown.tableCell",function(e,t){"use strict";var r="";if(!e.hasChildNodes())return"";for(var n=e.childNodes,o=n.length,a=0;a<o;++a)r+=l.subParser("makeMarkdown.node")(n[a],t,!0);return r.trim()}),l.subParser("makeMarkdown.txt",function(e){"use strict";var t=e.nodeValue;return t=t.replace(/ +/g," "),t=t.replace(/¨NBSP;/g," "),t=l.helper.unescapeHTMLEntities(t),t=t.replace(/([*_~|`])/g,"\\$1"),t=t.replace(/^(\s*)>/g,"\\$1>"),t=t.replace(/^#/gm,"\\#"),t=t.replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3"),t=t.replace(/^( {0,3}\d+)\./gm,"$1\\."),t=t.replace(/^( {0,3})([+-])/gm,"$1\\$2"),t=t.replace(/]([\s]*)\(/g,"\\]$1\\("),t=t.replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:")}),n=function(){"use strict";return l}.call(t,r,t,e),!(void 0!==n&&(e.exports=n))}).call(this)},750:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(22),i=r(58),s=function(){function t(e,t){this.login=e,this.router=t}return t.prototype.ngOnInit=function(){var e=this;this.logoutSub=this.login.loggedOut.subscribe(function(){e.router.navigate(["/"])})},t.prototype.ngOnDestroy=function(){this.logoutSub.unsubscribe()},t=__decorate([n.Component({moduleId:e.id,selector:"my-admin",template:r(511),directives:[a.ROUTER_DIRECTIVES]}),__metadata("design:paramtypes",[i.LoginService,o.Router])],t)}();t.AdminComponent=s},751:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(750)),n(r(752))},752:function(e,t,r){"use strict";var n=r(1),o=r(38),a=function(){function t(e){this.api=e}return t.prototype.ngOnInit=function(){this.refresh()},t.prototype.lock=function(e){var t=this;this.error=null,this.api.lockUser(e).subscribe(function(){return t.refresh()},function(e){return t.error=e})},t.prototype.unlock=function(e){var t=this;this.error=null,this.api.unlockUser(e).subscribe(function(){return t.refresh()},function(e){return t.error=e})},t.prototype.resetPassword=function(e,t){var r=this;e.sendingPassword=!0,this.error=null,this.api.resetPassword(e.username,t).finally(function(){return e.sendingPassword=!1}).subscribe(function(){return r.refresh()},function(e){return r.error=e})},t.prototype.deleteUser=function(e){var t=this;e.sendingDelete=!0,this.error=null,this.api.deleteUser(e.username).finally(function(){return e.sendingDelete=!1}).subscribe(function(){return t.refresh()},function(e){return t.error=e})},t.prototype.refresh=function(){var e=this;this.error=null,this.api.getUsers().subscribe(function(t){return e.users=t})},t=__decorate([n.Component({moduleId:e.id,selector:"my-users",template:r(512)}),__metadata("design:paramtypes",[o.ApiService])],t)}();t.UsersComponent=a},753:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(38),i=r(757),s=r(97);r(505);var l=function(){function e(e){this.broken=e}return e=__decorate([n.Component({selector:"my-app",providers:[a.ApiService,s.BrokenService],directives:o.ROUTER_DIRECTIVES.concat([i.LoginComponent]),template:r(513),styles:[r(509)]}),__metadata("design:paramtypes",[s.BrokenService])],e)}();t.AppComponent=l},754:function(e,t,r){"use strict";var n=r(22),o=r(381),a=r(769),i=r(756),s=r(759),l=r(761),c=r(763),u=r(767),p=r(765),d=r(751);t.routes=[{path:"",component:i.HomeComponent},{path:"register",component:u.RegisterComponent},{path:"profile",component:p.ProfileComponent,canActivate:[o.AuthGuard]},{path:"make/:id",component:s.MakeComponent},{path:"model/:id",component:l.ModelComponent},{path:"overall",component:c.OverallComponent},{path:"admin",component:d.AdminComponent,canActivate:[a.AdminGuard],children:[{path:"",redirectTo:"users"},{path:"users",component:d.UsersComponent}]}],t.APP_ROUTER_PROVIDERS=[n.provideRouter(t.routes),o.AuthGuard,a.AdminGuard]},755:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(38),i=function(){function e(e){this.api=e,this.loading=!0}return e.prototype.ngOnInit=function(){var e=this;this.api.getDashboard().subscribe(function(t){e.dashboard=t,e.loading=!1})},e=__decorate([n.Component({selector:"my-home",directives:[o.ROUTER_DIRECTIVES],template:r(514),styles:[r(510)],providers:[a.ApiService]}),__metadata("design:paramtypes",[a.ApiService])],e)}();t.HomeComponent=i},756:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(755))},757:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(758))},758:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(121),i=r(58),s=r(97);r(345);var l=function(){function t(e,t){this.loginService=e,this.brokenService=t,this.isInvalidLogin=!1,this.isLoggingIn=!1}return t.prototype.ngOnInit=function(){},t.prototype.doLogin=function(e){var t=this;this.isInvalidLogin=!1,this.isLoggingIn=!0,this.loginService.login(e.login,e.password).finally(function(){return t.isLoggingIn=!1}).subscribe(function(e){},function(e){t.isInvalidLogin=!0})},t.prototype.doLogout=function(){this.brokenService.isLogoutBroken()||this.loginService.logout()},t=__decorate([n.Component({moduleId:e.id,selector:"my-login",template:r(515),styles:[r(345)],providers:[],directives:[o.ROUTER_DIRECTIVES,a.FORM_DIRECTIVES]}),__metadata("design:paramtypes",[i.LoginService,s.BrokenService])],t)}();t.LoginComponent=l},759:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(760))},760:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(22),i=r(97),s=r(382),l=r(38),c=r(383),u=function(){function e(e,t,r){this.route=e,this.api=t,this.broken=r,this.page=1,this.broken.breakHomeLink()}return e.prototype.ngOnInit=function(){var e=this;this.route.params.map(function(e){return e.id}).subscribe(function(t){e.id=t,e.updateData()})},e.prototype.ngOnDestroy=function(){this.broken.reset()},e.prototype.sortBy=function(e){e&&(this.orderby=e,this.updateData())},e.prototype.goToPage=function(e){this.page=e,this.updateData()},e.prototype.updateData=function(){var e=this;this.api.getMake(this.id,this.page,this.orderby).subscribe(function(t){return e.make=t})},e=__decorate([n.Component({selector:"my-make",template:r(516),directives:[a.ROUTER_DIRECTIVES,s.PagerComponent],pipes:[c.ShowdownPipe]}),__metadata("design:paramtypes",[o.ActivatedRoute,l.ApiService,i.BrokenService])],e)}();t.MakeComponent=u},761:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(762))},762:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(58),i=r(38),s=r(383),l=function(){function t(e,t,r){this.route=e,this.login=t,this.api=r,this.voting=!1}return t.prototype.ngOnInit=function(){var e=this;this.route.params.subscribe(function(t){e.id=t.id,e.refresh()}),this.loginSub=this.login.loggedIn.subscribe(function(){return e.refresh()}),this.logoutSub=this.login.loggedOut.subscribe(function(){return e.refresh()})},t.prototype.ngOnDestroy=function(){this.loginSub.unsubscribe(),this.logoutSub.unsubscribe()},t.prototype.onVote=function(e){var t=this;this.voting=!0,this.error="",this.api.vote(this.id,e).finally(function(){return t.voting=!1}).subscribe(function(e){return t.refresh()},function(e){return t.error=e})},t.prototype.refresh=function(){var e=this;this.id&&this.api.getModel(this.id).subscribe(function(t){return e.model=t})},t=__decorate([n.Component({moduleId:e.id,selector:"my-model",template:r(517),directives:[o.ROUTER_DIRECTIVES],pipes:[s.ShowdownPipe]}),__metadata("design:paramtypes",[o.ActivatedRoute,a.LoginService,i.ApiService])],t)}();t.ModelComponent=l},763:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(764))},764:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(38),i=r(97),s=r(382);r(346);var l=function(){function t(e,t){this.api=e,this.broken=t,this.loading=!0,this.page=1}return t.prototype.ngOnInit=function(){this.broken.breakTwitter(),this.broken.breakLogout(),this.updateData()},t.prototype.ngOnDestroy=function(){this.broken.reset()},t.prototype.sortBy=function(e){this.orderby=e,this.updateData()},t.prototype.goToPage=function(e){this.page=e,this.updateData()},t.prototype.updateData=function(){var e=this;this.api.getModels(this.page,this.orderby).subscribe(function(t){e.models=t.models,e.totalPages=t.totalPages,e.loading=!1})},t=__decorate([n.Component({moduleId:e.id,selector:"my-overall",template:r(518),styles:[r(346)],directives:[o.ROUTER_DIRECTIVES,s.PagerComponent],providers:[a.ApiService]}),__metadata("design:paramtypes",[a.ApiService,i.BrokenService])],t)}();t.OverallComponent=l},765:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(766))},766:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(121),i=r(38),s=function(){function t(e,t){this.fb=e,this.api=t,this.loading=!0,this.success=!1,this.sending=!1}return t.prototype.ngOnInit=function(){var e=this;this.api.getProfile().subscribe(function(t){return e.initForm(t)})},t.prototype.onSubmit=function(){var e=this;this.error="",this.success=!1,this.sending=!0,this.api.saveProfile(this.form.value).finally(function(){return e.sending=!1}).subscribe(function(t){e.resetPasswords(),e.success=!0},function(t){return e.error=t})},t.prototype.resetPasswords=function(){for(var e=0,t=["currentPassword","newPassword","newPasswordConfirmation"];e<t.length;e++){var r=t[e],n=this.form.controls[r];n.updateValue(""),n.setErrors(null)}},t.prototype.initForm=function(e){var t=this;this.form=this.fb.group({username:[e.username],firstName:[e.firstName,a.Validators.required],lastName:[e.lastName,a.Validators.required],gender:[e.gender],age:[e.age,function(e){return t.validateAge(e)}],address:[e.address],phone:[e.phone],hobby:[e.hobby],currentPassword:[""],newPassword:[""],newPasswordConfirmation:["",function(e){return t.validateConfirmPassword(e)}]}),this.form.controls.phone.valueChanges.subscribe(function(e){return t.sanitizePhone()}),this.form.controls.newPassword.valueChanges.subscribe(function(e){t.form.controls.newPasswordConfirmation.updateValueAndValidity()}),this.loading=!1},t.prototype.sanitizePhone=function(){var e=this.form.controls.phone.value||"",t=e.replace(/[^0-9+()]/,"");t!==e&&this.form.controls.phone.updateValue(t)},t.prototype.validateAge=function(e){var t=e.value&&parseInt(e.value,10);return t&&t==e.value&&(t<0||t>95)?{age:{value:!1}}:null},t.prototype.validateConfirmPassword=function(e){return this.form&&this.form.controls.newPassword.value!==e.value?{confirm:{valid:!1}}:null},t=__decorate([n.Component({moduleId:e.id,selector:"my-profile",template:r(519),directives:[o.ROUTER_DIRECTIVES,a.FORM_DIRECTIVES,a.REACTIVE_FORM_DIRECTIVES],providers:[]}),__metadata("design:paramtypes",[a.FormBuilder,i.ApiService])],t)}();t.ProfileComponent=s},767:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(768))},768:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(121),i=r(38);r(347);var s=function(){function t(e,t){var r=this;this.api=e,this.success=!1,this.loading=!1,this.registerForm=t.group({username:["",[a.Validators.required,a.Validators.maxLength(50)]],firstName:["",a.Validators.required],lastName:["",a.Validators.required],password:["",a.Validators.required],confirmPassword:["",function(e){return r.validateConfirmPassword(e)}]}),this.registerForm.controls.password.valueChanges.subscribe(function(e){r.registerForm.controls.confirmPassword.updateValueAndValidity()})}return t.prototype.ngOnInit=function(){},t.prototype.onSubmit=function(e){var t=this;this.error="",this.success=!1,this.loading=!0,this.api.register(e).finally(function(){return t.loading=!1}).subscribe(function(e){return t.onSuccess()},function(e){return t.onError(e)})},t.prototype.onSuccess=function(){this.success=!0,this.error="";for(var e in this.registerForm.controls)if(this.registerForm.controls.hasOwnProperty(e)){var t=this.registerForm.controls[e];t.updateValue(""),t.setErrors(null)}},t.prototype.onError=function(e){this.error=e},t.prototype.validateConfirmPassword=function(e){return this.registerForm&&this.registerForm.controls.password.value!==e.value?{confirm:{valid:!1}}:null},t=__decorate([n.Component({moduleId:e.id,selector:"my-register",template:r(520),styles:[r(347)],directives:[o.ROUTER_DIRECTIVES,a.FORM_DIRECTIVES,a.REACTIVE_FORM_DIRECTIVES],providers:[i.ApiService]}),__metadata("design:paramtypes",[i.ApiService,a.FormBuilder])],t)}();t.RegisterComponent=s},769:function(e,t,r){"use strict";var n=r(1),o=r(22),a=r(58),i=function(){function e(e,t){this.login=e,this.router=t}return e.prototype.canActivate=function(){return!(!this.login.getIsLoggedIn()||!this.login.user.isAdmin)||(this.router.navigate(["/"]),!1)},e=__decorate([n.Injectable(),__metadata("design:paramtypes",[a.LoginService,o.Router])],e)}();t.AdminGuard=i},770:function(e,t,r){"use strict";var n=r(1),o=r(87),a=r(237),i=r(380),s=r(58),l=function(e){function t(t,r,n){e.call(this,n),this.http=t,this.login=r}return __extends(t,e),t.prototype.getDashboard=function(){return this.get("/dashboard").map(function(e){return e.json()})},t.prototype.getModels=function(e,t,r){var n="/models?"+this.urlEncode({page:e,orderBy:t,makeId:r});return this.get(n).map(function(e){return e.json()})},t.prototype.getModel=function(e){return this.get("/models/"+e).map(function(e){return e.json()})},t.prototype.getMake=function(e,t,r){return this.get("/makes/"+e+"?"+this.urlEncode({modelsPage:t,modelsOrderBy:r})).map(function(e){return e.json()})},t.prototype.vote=function(e,t){return this.post("/models/"+e+"/vote",{comment:t})},t.prototype.register=function(e){return this.post("/users",e).map(function(){return!0})},t.prototype.getProfile=function(){return this.get("/users/profile").map(function(e){return e.json()})},t.prototype.saveProfile=function(e){return this.put("/users/profile",e)},t.prototype.getUsers=function(){return this.get("/admin/users").map(function(e){return e.json()})},t.prototype.lockUser=function(e){return this.put("/admin/users/"+encodeURIComponent(e)+"/lock")},t.prototype.unlockUser=function(e){return this.put("/admin/users/"+encodeURIComponent(e)+"/unlock")},t.prototype.resetPassword=function(e,t){return this.put("/admin/users/"+encodeURIComponent(e)+"/password",t)},t.prototype.deleteUser=function(e){return this.delete("/admin/users/"+encodeURIComponent(e))},t.prototype.get=function(e,t){var r=this;return t=t||{},t.headers=this.getAuthHeaders(this.login.getToken()),this.http.get(this.config.serviceUrl+e,t).catch(function(e){return r.handleError(e)})},t.prototype.post=function(e,t,r){var n=this;return r=r||{},r.headers=this.getAuthHeaders(this.login.getToken()),r.headers.append("Content-Type","application/json"),this.http.post(this.config.serviceUrl+e,JSON.stringify(t),r).catch(function(e){return n.handleError(e)})},t.prototype.put=function(e,t,r){var n=this;return r=r||{},r.headers=this.getAuthHeaders(this.login.getToken()),r.headers.append("Content-Type","application/json"),this.http.put(this.config.serviceUrl+e,JSON.stringify(t),r).catch(function(e){return n.handleError(e)})},t.prototype.delete=function(e,t){var r=this;return t=t||{},t.headers=this.getAuthHeaders(this.login.getToken()),this.http.delete(this.config.serviceUrl+e,t).catch(function(e){return r.handleError(e)})},t=__decorate([n.Injectable(),__metadata("design:paramtypes",[o.Http,s.LoginService,a.ConfigService])],t)}(i.BaseApiService);t.ApiService=l},771:function(e,t,r){"use strict";function n(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}n(r(38)),n(r(381)),n(r(58)),n(r(97)),n(r(237))}}); //# sourceMappingURL=app.a5856ccaff510c09debf.js.map