Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@iplab/ngx-file-upload

Package Overview
Dependencies
Maintainers
1
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@iplab/ngx-file-upload - npm Package Compare versions

Comparing version 1.1.3 to 1.1.4

animations/insert.animation.d.ts

2

bundles/iplab-ngx-file-upload.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("rxjs"),require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@iplab/ngx-file-upload",["exports","rxjs","@angular/core","@angular/common","@angular/forms"],t):t((e.iplab=e.iplab||{},e.iplab["ngx-file-upload"]={}),e.rxjs,e.ng.core,e.ng.common,e.ng.forms)}(this,function(e,t,i,n,o){"use strict";function r(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,o,r=i.call(e),s=[];try{for(;(void 0===t||0<t--)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(i=r["return"])&&i.call(r)}finally{if(o)throw o.error}}return s}function s(e){return null==e||0===e.length}var a={INVALID:0,VALID:1,DISABLED:2};a[a.INVALID]="INVALID",a[a.VALID]="VALID",a[a.DISABLED]="DISABLED";var l=function(){function e(e){this.files=new Set,this.listVisible=!0,this.status=a.VALID,this.errors=[],this.validators=[],this.statusChanged=new t.Subject,this.statusChanges=this.statusChanged.asObservable(),this.valueChanges=new t.BehaviorSubject([]),this.listVisibilityChanges=new t.BehaviorSubject(this.listVisible),this.defineValidators(e)}return e.prototype.setValidators=function(e){return this.defineValidators(e),this.validate(),this},e.prototype.defineValidators=function(e){s(e)||(this.validators=Array.isArray(e)?function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e}(e):[e])},e.prototype.addFile=function(e){return this.files.add(e),this.valueChanges.next(Array.from(this.files.values())),this.validate(),this},e.prototype.removeFile=function(e){return this.files["delete"](e),this.valueChanges.next(Array.from(this.files.values())),this.validate(),this},e.prototype.addFiles=function(e){return this.addMultipleFiles(Array.from(e)),this},e.prototype.addMultipleFiles=function(e){var t=this;e.forEach(function(e){return t.files.add(e)}),this.valueChanges.next(Array.from(this.files.values())),this.validate()},Object.defineProperty(e.prototype,"valid",{get:function(){return 0===this.errors.length&&this.status!==a.DISABLED},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invalid",{get:function(){return 0<this.errors.length||this.status===a.DISABLED},enumerable:!0,configurable:!0}),e.prototype.getError=function(){return this.errors},Object.defineProperty(e.prototype,"size",{get:function(){return this.files.size},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return Array.from(this.files.values())},enumerable:!0,configurable:!0}),e.prototype.setValue=function(e){if(this.files.clear(),!(e instanceof Array))throw Error("FormControl.setValue was provided with wrong argument type, "+e+" was provided instead Array<File>");return this.addMultipleFiles(e),this},e.prototype.clear=function(){return this.files.clear(),this.valueChanges.next(Array.from(this.files.values())),this},Object.defineProperty(e.prototype,"isListVisible",{get:function(){return this.listVisible},enumerable:!0,configurable:!0}),e.prototype.setListVisibility=function(e){return void 0===e&&(e=!0),this.listVisible=e,this.listVisibilityChanges.next(this.listVisible),this},Object.defineProperty(e.prototype,"disabled",{get:function(){return this.status===a.DISABLED},enumerable:!0,configurable:!0}),e.prototype.enable=function(e){return void 0===e&&(e=!0),this.status=e?a.VALID:a.DISABLED,this.validate(),this.statusChanged.next(this.status),this},e.prototype.disable=function(e){return void 0===e&&(e=!0),this.status=e?a.DISABLED:a.VALID,this.validate(),this.statusChanged.next(this.status),this},e.prototype.validate=function(){var t=this;if(this.status!==a.DISABLED){var e=this.valid;this.errors=this.validators.map(function(e){return e(t)}).filter(function(e){return e}),e!==this.valid&&this.statusChanged.next(this.valid?a.VALID:a.INVALID)}else this.errors.length=0},e}(),c={aac:"audio/aac",abw:"application/x-abiword",arc:"application/octet-stream",avi:"video/x-msvideo",azw:"application/vnd.amazon.ebook",bin:"application/octet-stream",bmp:"image/bmp",bz:"application/x-bzip",bz2:"application/x-bzip2",csh:"application/x-csh",css:"text/css",csv:"text/csv",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",es:"application/ecmascript",gif:"image/gif",html:"text/html",ico:"image/x-icon",ics:"text/calendar",jar:"application/java-archive",jpg:"image/jpeg",js:"application/javascript",json:"application/json",midi:"audio/midi",mpeg:"video/mpeg",mpkg:"application/vnd.apple.installer+xml",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",otf:"font/otf",png:"image/png",pdf:"application/pdf",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",rar:"application/vnd.openxmlformats-officedocument.presentationml.presentation",rtf:"application/rtf",sh:"application/x-sh",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tiff:"image/tiff",ts:"application/typescript",ttf:"font/ttf",vsd:"application/vnd.visio",wav:"audio/wav",weba:"audio/webm",webm:"video/webm",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xul:"application/vnd.mozilla.xul+xml",zip:"application/zip","3gp":"video/3gpp","3g2":"video/3gpp2","7z":"application/x-7z-compressed"},p=function(){function e(e){this.renderer=e,this.extensions=["bytes","KB","MB","GB"]}return e.prototype.isFileDragDropAvailable=function(){var e=this.renderer.createElement("div");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&FormData&&!!FileReader},e.prototype.calculateSize=function(e,t){return void 0===t&&(t=0),isNaN(e)&&(e=0),e<1024?Math.round(100*e)/100+" "+this.extensions[t]:this.calculateSize(e/1024,t+1)},e.prototype.getFileType=function(t){return Object.keys(c).find(function(e){return c[e]===t.type})},e.decorators=[{type:i.Injectable}],e.ctorParameters=function(){return[{type:i.Renderer2}]},e}(),h="dragover",u="ng-touched",d=function(){function e(e,t,i,n,o){var r=this;this.fileUploadService=e,this.hostElementRef=t,this.renderer=i,this.document=n,this.cdr=o,this.control=null,this.templateRef=null,this.listItem=null,this.templateContext={$implicit:this.fileUploadService.isFileDragDropAvailable(),isFileDragDropAvailable:this.fileUploadService.isFileDragDropAvailable()},this.hooks=[],this.subscriptions=[],this.onChange=function(){},this.onTouch=function(){r.renderer.addClass(r.hostElementRef.nativeElement,u)}}return e.prototype.ngOnInit=function(){s(this.control)&&(this.control=new l),this.setEvents(),this.checkAndMarkAsDisabled(),this.connectToForm()},e.prototype.ngOnDestroy=function(){this.cdr.detach(),this.hooks.forEach(function(e){return e()}),this.hooks.length=0,this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions.length=0},Object.defineProperty(e.prototype,"hasFiles",{get:function(){return this.control.isListVisible&&0<this.control.size},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isInvalid",{get:function(){return!this.control.disabled&&this.control.invalid},enumerable:!0,configurable:!0}),e.prototype.setEvents=function(){var t=this;["drag","dragstart","dragend","dragover","dragenter","dragleave","drop"].forEach(function(e){t.hooks.push(t.renderer.listen(t.document,e,function(e){return t.preventDragEvents(e)}))}),["dragover","dragenter"].forEach(function(e){t.hooks.push(t.renderer.listen(t.hostElementRef.nativeElement,e,function(e){return t.onDragOver(e)}))}),["dragleave","dragend","drop"].forEach(function(e){t.hooks.push(t.renderer.listen(t.hostElementRef.nativeElement,e,function(e){return t.onDragLeave(e)}))}),this.subscriptions.push(this.control.statusChanges.subscribe(function(e){return t.checkAndMarkAsDisabled()})),this.subscriptions.push(this.control.valueChanges.subscribe(function(e){return t.cdr.markForCheck()}))},e.prototype.checkAndMarkAsDisabled=function(){this.control.disabled?(this.renderer.addClass(this.hostElementRef.nativeElement,"disabled"),this.renderer.setProperty(this.input.nativeElement,"disabled",!0)):(this.renderer.removeClass(this.hostElementRef.nativeElement,"disabled"),this.renderer.setProperty(this.input.nativeElement,"disabled",!1))},e.prototype.preventDragEvents=function(e){e.preventDefault(),e.stopPropagation()},e.prototype.onDragOver=function(e){this.renderer.addClass(this.hostElementRef.nativeElement,h)},e.prototype.onDragLeave=function(e){this.renderer.removeClass(this.hostElementRef.nativeElement,h)},e.prototype.onDrop=function(e){if(!this.control.disabled){var t=e.dataTransfer.files;this.control.addFiles(t),this.onTouch()}},e.prototype.onInputChange=function(e){var t=e.target;this.control.disabled||this.control.addFiles(t.files),this.clearInputEl(),this.onTouch()},e.prototype.clearInputEl=function(){this.input.nativeElement.value=null},e.prototype.connectToForm=function(){var t=this;this.subscriptions.push(this.control.valueChanges.subscribe(function(e){return t.onChange(e)}))},e.prototype.writeValue=function(e){null!=e&&this.control.setValue(e)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouch=e},e.prototype.setDisabledState=function(e){this.control.disable(e)},e.decorators=[{type:i.Component,args:[{selector:"file-upload",template:'<label class="upload-input">\n\n <ng-container *ngTemplateOutlet="templateRef ? templateRef : defaultTemplate; context: templateContext"></ng-container>\n\n <ng-template #defaultTemplate let-isFileDragDropAvailable="isFileDragDropAvailable">\n <div class="icon">\n <svg viewBox="0 0 96 96">\n <g>\n <path d="M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z"/>\n </g>\n </svg>\n </div>\n \n <div class="upload-text">\n <ng-container *ngIf="isFileDragDropAvailable; else isNotDragDropAvailable">\n <b>Drag and drop</b> files<br> or click here\n </ng-container>\n <ng-template #isNotDragDropAvailable>\n <b>Click here</b> to<br> choose a files\n </ng-template>\n </div>\n </ng-template>\n\n <input #inputRef type="file" class="files-input" multiple (change)="onInputChange($event)">\n</label>\n\n<div class="upload-list" *ngIf="(control.listVisibilityChanges | async) && control.size > 0">\n <ng-template ngFor let-file let-i="index" [ngForOf]="control.valueChanges | async">\n <ng-container *ngTemplateOutlet="listItem ? listItem : defaultItemTemplate; context: { $implicit: file, file: file, index: i, control: control }"></ng-container>\n </ng-template>\n \n <ng-template #defaultItemTemplate let-i="index" let-file="file" let-control="control">\n <file-upload-list-item [index]="i" [file]="file" [control]="control"></file-upload-list-item>\n </ng-template>\n</div>',styles:[':host,:host>*{box-sizing:border-box}:host{overflow:hidden;display:block;background:#fafafa;padding:20px 66px 20px 20px;min-height:140px;outline:#92b0b3 dashed 1px;outline-offset:-10px;position:relative}:host(.dragover){outline-width:2px}:host(.disabled){opacity:.5;cursor:no-drop}.files-input{width:.1px;height:.1px;opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;float:left;margin-right:20px}:host(.has-files) .icon{margin:0}.icon svg{fill:#909293}.upload-input:after{clear:both;content:"\\0A0";display:block;height:0;line-height:0;visibility:hidden;zoom:1}.upload-input{cursor:pointer;display:inline-block;color:#646464;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:all .15s ease-in-out}:host(.disabled) .upload-input{cursor:not-allowed}:host(.has-files) .upload-input{top:20px;left:100%;margin-left:-20px;-webkit-transform:translate(-100%,0);transform:translate(-100%,0);text-align:center}.upload-text{overflow:hidden;width:auto}:host(.has-files) .upload-text{display:none}:host(.dragover:not(.disabled)) .upload-input,:host(:not(.disabled)) .upload-input:hover{color:#80a9d2}:host(.dragover:not(.disabled)) .icon svg,:host(:not(.disabled)) .upload-input:hover svg{fill:#80a9d2}:host(:not(.disabled)) .upload-input:hover .icon{border-color:#80a9d2}file-upload-list-item{padding:10px 0 0}file-upload-list-item:first-child{padding:0}'],providers:[p,{provide:o.NG_VALUE_ACCESSOR,useExisting:i.forwardRef(function(){return e}),multi:!0}],changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:p},{type:i.ElementRef},{type:i.Renderer2},{type:undefined,decorators:[{type:i.Inject,args:[n.DOCUMENT]}]},{type:i.ChangeDetectorRef}]},e.propDecorators={control:[{type:i.Input}],templateRef:[{type:i.ContentChild,args:["placeholder"]}],listItem:[{type:i.ContentChild,args:["item"]}],input:[{type:i.ViewChild,args:["inputRef"]}],hasFiles:[{type:i.HostBinding,args:["class.has-files"]}],isInvalid:[{type:i.HostBinding,args:["class.ng-invalid"]}],onDrop:[{type:i.HostListener,args:["drop",["$event"]]}]},e}(),f=function(){function e(e){this.fileUploadService=e}return e.prototype.removeFile=function(e){this.control.removeFile(e)},e.prototype.calculateSize=function(e){return this.fileUploadService.calculateSize(e)},e.decorators=[{type:i.Component,args:[{selector:"file-upload-list-item",template:'\n <file-upload-icon [file]="file"></file-upload-icon>\n <div class="file-info">\n <span class="file-name">{{ file.name }}</span> ({{ calculateSize( file.size ) }})\n </div>\n <div class="file-buttons">\n <span class="remove-btn" (click)="removeFile(file)">\n <svg viewBox="0 0 96 96">\n <g>\n <path d="M40.5,66.8V39.3c0-0.4-0.1-0.7-0.4-0.9S39.6,38,39.3,38h-2.5c-0.4,0-0.7,0.1-0.9,0.4\n s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4h2.5c0.4,0,0.7-0.1,0.9-0.4S40.5,67.1,40.5,66.8z M50.5,66.8V39.3\n c0-0.4-0.1-0.7-0.4-0.9S49.6,38,49.3,38h-2.5c-0.4,0-0.7,0.1-0.9,0.4s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4\n h2.5c0.4,0,0.7-0.1,0.9-0.4S50.5,67.1,50.5,66.8z M60.5,66.8V39.3c0-0.4-0.1-0.7-0.4-0.9S59.6,38,59.3,38h-2.5\n c-0.4,0-0.7,0.1-0.9,0.4s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4h2.5c0.4,0,0.7-0.1,0.9-0.4\n S60.5,67.1,60.5,66.8z M39.3,28h17.5l-1.9-4.6c-0.2-0.2-0.4-0.4-0.7-0.4H41.8c-0.3,0.1-0.5,0.2-0.7,0.4L39.3,28z M75.5,29.3v2.5\n c0,0.4-0.1,0.7-0.4,0.9S74.6,33,74.3,33h-3.8v37c0,2.2-0.6,4-1.8,5.6S66,78,64.3,78H31.8c-1.7,0-3.2-0.8-4.4-2.3s-1.8-3.4-1.8-5.5\n V33h-3.8c-0.4,0-0.7-0.1-0.9-0.4s-0.4-0.5-0.4-0.9v-2.5c0-0.4,0.1-0.7,0.4-0.9s0.5-0.4,0.9-0.4h12.1l2.7-6.5c0.4-1,1.1-1.8,2.1-2.5\n s2-1,3.1-1h12.5c1,0,2.1,0.3,3.1,1s1.7,1.5,2.1,2.5l2.7,6.5h12.1c0.4,0,0.7,0.1,0.9,0.4S75.5,28.9,75.5,29.3z"/>\n </g>\n </svg> Remove</span>\n </div>\n ',styles:[':host{display:block;font-size:14px;color:#646464}:host:after{clear:both;content:"\\0A0";display:block;height:0;line-height:0;visibility:hidden;zoom:1}file-upload-icon{float:left;width:30px;height:36px;margin:0 10px 0 0}.remove-btn{font-size:12px;cursor:pointer}.remove-btn svg{display:inline-block;vertical-align:-20%;height:18px;width:18px}']}]}],e.ctorParameters=function(){return[{type:p}]},e.propDecorators={index:[{type:i.Input}],file:[{type:i.Input}],control:[{type:i.Input}]},e}(),g=function(){function e(e){this.fileUploadService=e,this.fileType="unknown"}return e.prototype.ngOnInit=function(){this.fileType=this.fileUploadService.getFileType(this.file)},e.prototype.isIcon=function(e){switch(e){case"text":return"html"===this.fileType||"css"===this.fileType||"csv"===this.fileType||"js"===this.fileType||"pdf"===this.fileType||"ppt"===this.fileType||"xls"===this.fileType||"xlsx"===this.fileType||"xml"===this.fileType||"doc"===this.fileType||"docx"===this.fileType;case"audio":return"aac"===this.fileType||"midi"===this.fileType||"oga"===this.fileType||"wav"===this.fileType||"weba"===this.fileType;case"image":return"png"===this.fileType||"bmp"===this.fileType||"gif"===this.fileType||"jpg"===this.fileType||"svg"===this.fileType||"webp"===this.fileType||"ico"===this.fileType;case"video":return"avi"===this.fileType||"mpeg"===this.fileType||"ogv"===this.fileType||"webm"===this.fileType||"3gp"===this.fileType||"3g2"===this.fileType}},e.decorators=[{type:i.Component,args:[{selector:"file-upload-icon",template:'\n\n<ng-container [ngSwitch]="true">\n\n <svg *ngSwitchDefault viewBox="0 0 96 96">\n <g>\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase="isIcon(\'image\')" viewBox="0 0 96 96">\n <g>\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M65.1,58.7v10.7H30.9V63l6.4-6.4l4.3,4.3L54.4,48L65.1,58.7z M37.3,52.3c-1.8,0-3.3-0.6-4.6-1.9c-1.3-1.2-1.9-2.8-1.9-4.6\n c0-1.8,0.6-3.3,1.9-4.6c1.3-1.2,2.8-1.9,4.6-1.9s3.3,0.6,4.6,1.9c1.3,1.3,1.9,2.8,1.9,4.6c0,1.8-0.6,3.3-1.9,4.6\n C40.6,51.7,39.1,52.3,37.3,52.3z"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase="isIcon(\'audio\')" viewBox="0 0 96 96">\n <g>\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M43,46.5c0.4,0.2,0.7,0.5,0.7,1v18.2c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.5-0.1-0.8-0.3l-5.6-5.6h-4.4\n c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8v-6.4c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h4.4l5.6-5.6\n C42.2,46.4,42.6,46.3,43,46.5z M57,69.5c0.7,0,1.3-0.3,1.7-0.8c2.9-3.5,4.3-7.6,4.3-12.2s-1.4-8.6-4.3-12.2\n c-0.4-0.5-0.8-0.7-1.4-0.8c-0.6-0.1-1.1,0.1-1.6,0.5c-0.5,0.4-0.7,0.9-0.8,1.5c-0.1,0.6,0.1,1.1,0.5,1.6c2.2,2.7,3.3,5.9,3.3,9.4\n c0,3.5-1.1,6.7-3.3,9.4c-0.4,0.5-0.5,1-0.5,1.6c0.1,0.6,0.3,1.1,0.8,1.4C56.1,69.4,56.5,69.5,57,69.5z M49.9,64.6\n c0.6,0,1.1-0.2,1.6-0.7c1.9-2.1,2.9-4.5,2.9-7.3s-1-5.3-2.9-7.3c-0.4-0.4-0.9-0.6-1.5-0.7c-0.6,0-1.1,0.2-1.5,0.6s-0.6,0.9-0.7,1.5\n c0,0.6,0.2,1.1,0.6,1.6c1.2,1.3,1.7,2.7,1.7,4.4c0,1.7-0.6,3.1-1.7,4.4c-0.4,0.4-0.6,1-0.6,1.6c0,0.6,0.2,1.1,0.7,1.5\n C48.9,64.4,49.4,64.6,49.9,64.6z"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase="isIcon(\'text\')" viewBox="0 0 96 96">\n <g>\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M35.1,44.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h23.6c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1\n c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8V44.8z M59.8,52.3\n c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z M59.8,60.9c0.3,0,0.6,0.1,0.8,0.3\n c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase="isIcon(\'video\')" viewBox="0 0 96 96">\n <g>\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M48,43.7c1.2,0,2.2,0.4,3,1.3c0.8,0.8,1.3,1.9,1.3,3v12.9c0,1.2-0.4,2.2-1.3,3c-0.8,0.8-1.9,1.3-3,1.3H35.1c-1.2,0-2.2-0.4-3-1.3\n c-0.8-0.8-1.3-1.9-1.3-3V48c0-1.2,0.4-2.2,1.3-3c0.8-0.8,1.9-1.3,3-1.3H48z M64.5,43.8c0.4,0.2,0.7,0.5,0.7,1v19.3\n c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.6-0.1-0.8-0.3l-8.9-8.9v-3l8.9-8.9c0.2-0.2,0.5-0.3,0.8-0.3\n C64.2,43.7,64.3,43.7,64.5,43.8z"/>\n </g>\n </svg>\n\n</ng-container>',styles:[":host{display:block;border:1px solid #eaeaea;border-radius:4px}:host svg{fill:#909293}"]}]}],e.ctorParameters=function(){return[{type:p}]},e.propDecorators={file:[{type:i.Input}]},e}(),v=function(){function e(e,t,i,n){var o=this;this.fileUploadService=e,this.hostElementRef=t,this.renderer=i,this.document=n,this.control=null,this.templateRef=null,this.hooks=[],this.subscriptions=[],this.onTouch=function(){o.renderer.addClass(o.hostElementRef.nativeElement,u)}}return e.prototype.ngOnInit=function(){s(this.control)&&(this.control=new l)},e.prototype.ngAfterViewInit=function(){this.fileUploadService.isFileDragDropAvailable()&&(this.setEvents(),this.checkAndMarkAsDisabled())},e.prototype.ngOnDestroy=function(){this.hooks.forEach(function(e){return e()}),this.hooks.length=0,this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions.length=0},Object.defineProperty(e.prototype,"hasFiles",{get:function(){return this.control.isListVisible&&0<this.control.size},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isInvalid",{get:function(){return!this.control.disabled&&this.control.invalid},enumerable:!0,configurable:!0}),e.prototype.setEvents=function(){var i=this;["drag","dragstart","dragend","dragover","dragenter","dragleave","drop"].forEach(function(e){i.hooks.push(i.renderer.listen(i.document,e,function(e){return i.preventDragEvents(e)}))}),["dragover","dragenter"].forEach(function(e){i.hooks.push(i.renderer.listen(i.hostElementRef.nativeElement,e,function(e){return i.onDragOver(e)}))}),["dragleave","dragend","drop"].forEach(function(t){i.hooks.push(i.renderer.listen(i.hostElementRef.nativeElement,t,function(e){(i.control.disabled&&"dragleave"===t||"dragleave"!==t)&&i.onDragLeave(e)}))}),["dragleave"].forEach(function(e){i.hooks.push(i.renderer.listen(i.overlay.nativeElement,e,function(e){return i.onDragLeave(e)}))}),this.subscriptions.push(this.control.statusChanges.subscribe(function(e){return i.checkAndMarkAsDisabled()}))},e.prototype.checkAndMarkAsDisabled=function(){this.control.disabled?this.renderer.addClass(this.hostElementRef.nativeElement,"disabled"):this.renderer.removeClass(this.hostElementRef.nativeElement,"disabled")},e.prototype.preventDragEvents=function(e){e.preventDefault(),e.stopPropagation()},e.prototype.onDragOver=function(e){this.renderer.addClass(this.hostElementRef.nativeElement,h)},e.prototype.onDragLeave=function(e){this.renderer.removeClass(this.hostElementRef.nativeElement,h)},e.prototype.onDrop=function(e){if(!this.control.disabled){var t=e.dataTransfer.files;this.control.addFiles(t),this.onTouch()}},e.decorators=[{type:i.Component,args:[{selector:"[file-drop-zone]",template:'\n <ng-content></ng-content>\n <div #overlay class="overlay" *ngIf="fileUploadService.isFileDragDropAvailable()">\n\n <div class="upload-input">\n <ng-container *ngTemplateOutlet="templateRef ? templateRef : defaultTemplate"></ng-container>\n\n <ng-template #defaultTemplate>\n <div class="icon">\n <svg viewBox="0 0 96 96">\n <g>\n <path d="M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z"/>\n </g>\n </svg>\n </div>\n \n <div class="upload-text">\n <b>Drop</b> it here\n </div>\n </ng-template>\n </div>\n </div>\n ',styles:[":host{position:relative;display:block}:host .overlay{display:none;background:rgba(255,255,255,.8);outline:#92b0b3 dashed 2px;outline-offset:-10px;position:absolute;top:0;left:0;right:0;bottom:0}:host(.dragover:not(.disabled)) .overlay{display:block}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;margin:0 auto 10px}:host /deep/ .icon svg{fill:#80a9d2}.upload-input{pointer-events:none;cursor:pointer;display:inline-block;color:#80a9d2;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:all .15s ease-in-out}"],providers:[p]}]}],e.ctorParameters=function(){return[{type:p},{type:i.ElementRef},{type:i.Renderer2},{type:undefined,decorators:[{type:i.Inject,args:[n.DOCUMENT]}]}]},e.propDecorators={control:[{type:i.Input}],overlay:[{type:i.ViewChild,args:["overlay"]}],templateRef:[{type:i.ContentChild,args:["placeholder"]}],hasFiles:[{type:i.HostBinding,args:["class.has-files"]}],isInvalid:[{type:i.HostBinding,args:["class.ng-invalid"]}],onDrop:[{type:i.HostListener,args:["drop",["$event"]]}]},e}(),m=function(e,t,i){return void 0===i&&(i=0),!s(t)&&e.size>t||e.size<i?{maxSize:t,minSize:i,actual:e.size,file:e}:null},y=/(^[.]\w*)$/gm,b=function(e){if(!Array.isArray(e))throw Error("FormControl.setValue was provided with wrong argument type, "+e+" was provided instead Array<File>")},x=function(){function e(){}return e.fileSize=function(n){return function(e){var t=e.value;if(s(t))return null;b(t);var i=t.map(function(e){return m(e,n)}).filter(function(e){return e});return 0<i.length?{fileSize:i}:null}},e.sizeRange=function(e){var n=e.minSize,o=e.maxSize;return function(e){var t=e.value;if(s(t))return null;b(t);var i=t.map(function(e){return m(e,o,n)}).filter(function(e){return e});return 0<i.length?{sizeRange:i}:null}},e.filesLimit=function(i){return function(e){var t=e.value;return s(t)?null:(b(t),t.length>i?{filesLimit:{max:i,actual:t.length}}:null)}},e.accept=function(n){return function(e){var t=e.value;if(s(t))return null;b(t);var i=t.map(function(e){return function(e,t){for(var i=e.name.slice(1+(e.name.lastIndexOf(".")-1>>>0)),n=!1,o=0;o<t.length;o++){var r=t[o];if(n=y.test(r)?r===i:new RegExp(r).test(e.type))break}return n?null:{allowedTypes:t,actual:e.type,file:e}}(e,n)}).filter(function(e){return e});return 0<i.length?{fileTypes:i}:null}},e}(),z=function(){function e(){}return e.prototype.ngOnChanges=function(e){("filesize"in e||"maxsize"in e||"minsize"in e)&&(this._createValidator(),this.onChange&&this.onChange())},e.prototype.validate=function(e){return this.validator(e)},e.prototype.registerOnValidatorChange=function(e){this.onChange=e},e.prototype._createValidator=function(){var e=null;s(this.maxsize)?s(this.filesize)||(e="string"==typeof this.filesize?parseInt(this.filesize,10):this.filesize):e="string"==typeof this.maxsize?parseInt(this.maxsize,10):this.maxsize;var t="string"==typeof this.minsize?parseInt(this.minsize,10):this.minsize;this.validator=x.sizeRange({maxSize:e,minSize:t})},e.decorators=[{type:i.Directive,args:[{selector:"[filesize][formControlName],[filesize][formControl],[filesize][ngModel],\n [minsize][formControlName],[minsize][formControl],[minsize][ngModel],\n [maxsize][formControlName],[maxsize][formControl],[maxsize][ngModel]",providers:[{provide:o.NG_VALIDATORS,useExisting:i.forwardRef(function(){return e}),multi:!0}],host:{"[attr.filesize]":"filesize ? filesize : null","[attr.minsize]":"minsize ? minsize : null","[attr.maxsize]":"maxsize ? maxsize : null"}}]}],e.propDecorators={filesize:[{type:i.Input}],minsize:[{type:i.Input}],maxsize:[{type:i.Input}]},e}(),C=function(){function e(){}return e.prototype.ngOnChanges=function(e){"fileslimit"in e&&(this._createValidator(),this.onChange&&this.onChange())},e.prototype.validate=function(e){return null!=this.fileslimit?this.validator(e):null},e.prototype.registerOnValidatorChange=function(e){this.onChange=e},e.prototype._createValidator=function(){this.validator=x.filesLimit("string"==typeof this.fileslimit?parseInt(this.fileslimit,10):this.fileslimit)},e.decorators=[{type:i.Directive,args:[{selector:"[fileslimit][formControlName],[fileslimit][formControl],[fileslimit][ngModel]",providers:[{provide:o.NG_VALIDATORS,useExisting:i.forwardRef(function(){return e}),multi:!0}],host:{"[attr.fileslimit]":"fileslimit ? fileslimit : null"}}]}],e.propDecorators={fileslimit:[{type:i.Input}]},e}(),D=function(){function e(){}return e.prototype.ngOnChanges=function(e){"accept"in e&&(this._createValidator(),this.onChange&&this.onChange())},e.prototype.validate=function(e){return null!=this.accept?this.validator(e):null},e.prototype.registerOnValidatorChange=function(e){this.onChange=e},e.prototype._createValidator=function(){this.validator=x.accept(this.accept.split(","))},e.decorators=[{type:i.Directive,args:[{selector:"[accept][formControlName],[accept][formControl],[accept][ngModel]",providers:[{provide:o.NG_VALIDATORS,useExisting:i.forwardRef(function(){return C}),multi:!0}],host:{"[attr.accept]":"accept ? accept : null"}}]}],e.propDecorators={accept:[{type:i.Input}]},e}(),w=function(){function e(e){this.injector=e}return e.prototype.ngDoBootstrap=function(){},e.decorators=[{type:i.NgModule,args:[{imports:[n.CommonModule,o.ReactiveFormsModule,o.FormsModule],declarations:[d,f,g,v,z,C,D],exports:[d,v,z,C,D],entryComponents:[d]}]}],e.ctorParameters=function(){return[{type:i.Injector}]},e}();e.FileUploadControl=l,e.FileUploadValidators=x,e.FileUploadTypes=c,e.FileUploadModule=w,e.ɵe=v,e.ɵd=g,e.ɵc=f,e.ɵa=d,e.ɵf=z,e.ɵh=D,e.ɵg=C,e.ɵb=p,Object.defineProperty(e,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/platform-browser/animations"),require("rxjs"),require("@angular/animations"),require("@angular/common"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@iplab/ngx-file-upload",["exports","@angular/platform-browser/animations","rxjs","@angular/animations","@angular/common","@angular/core","@angular/forms"],e):e((t.iplab=t.iplab||{},t.iplab["ngx-file-upload"]={}),t.ng.platformBrowser.animations,t.rxjs,t.ng.animations,t.ng.common,t.ng.core,t.ng.forms)}(this,function(t,e,i,n,o,r,s){"use strict";function a(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,o,r=i.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(i=r["return"])&&i.call(r)}finally{if(o)throw o.error}}return s}function l(t){return null==t||0===t.length}var c={INVALID:0,VALID:1,DISABLED:2};c[c.INVALID]="INVALID",c[c.VALID]="VALID",c[c.DISABLED]="DISABLED";var p=function(){function t(t){this.files=new Set,this.listVisible=!0,this.status=c.VALID,this.errors=[],this.validators=[],this.statusChanged=new i.Subject,this.statusChanges=this.statusChanged.asObservable(),this.valueChanges=new i.BehaviorSubject([]),this.listVisibilityChanges=new i.BehaviorSubject(this.listVisible),this.defineValidators(t)}return t.prototype.setValidators=function(t){return this.defineValidators(t),this.validate(),this},t.prototype.defineValidators=function(t){l(t)||(this.validators=Array.isArray(t)?function i(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(a(arguments[e]));return t}(t):[t])},t.prototype.addFile=function(t){return this.files.add(t),this.validate(),this.valueChanges.next(Array.from(this.files.values())),this},t.prototype.removeFile=function(t){return this.files["delete"](t),this.validate(),this.valueChanges.next(Array.from(this.files.values())),this},t.prototype.addFiles=function(t){return this.addMultipleFiles(Array.from(t)),this},t.prototype.addMultipleFiles=function(t){var e=this;t.forEach(function(t){return e.files.add(t)}),this.validate(),this.valueChanges.next(Array.from(this.files.values()))},Object.defineProperty(t.prototype,"valid",{get:function(){return 0===this.errors.length&&this.status!==c.DISABLED},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return 0<this.errors.length||this.status===c.DISABLED},enumerable:!0,configurable:!0}),t.prototype.getError=function(){return this.errors},Object.defineProperty(t.prototype,"size",{get:function(){return this.files.size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return Array.from(this.files.values())},enumerable:!0,configurable:!0}),t.prototype.setValue=function(t){if(this.files.clear(),!(t instanceof Array))throw Error("FormControl.setValue was provided with wrong argument type, "+t+" was provided instead Array<File>");return this.addMultipleFiles(t),this},t.prototype.clear=function(){return this.files.clear(),this.validate(),this.valueChanges.next(Array.from(this.files.values())),this},Object.defineProperty(t.prototype,"isListVisible",{get:function(){return this.listVisible},enumerable:!0,configurable:!0}),t.prototype.setListVisibility=function(t){return void 0===t&&(t=!0),this.listVisible=t,this.listVisibilityChanges.next(this.listVisible),this},Object.defineProperty(t.prototype,"disabled",{get:function(){return this.status===c.DISABLED},enumerable:!0,configurable:!0}),t.prototype.enable=function(t){return void 0===t&&(t=!0),this.status=t?c.VALID:c.DISABLED,this.validate(),this.statusChanged.next(this.status),this},t.prototype.disable=function(t){return void 0===t&&(t=!0),this.status=t?c.DISABLED:c.VALID,this.validate(),this.statusChanged.next(this.status),this},t.prototype.validate=function(){var e=this;if(this.status!==c.DISABLED){var t=this.valid;this.errors=this.validators.map(function(t){return t(e)}).filter(function(t){return t}),t!==this.valid&&this.statusChanged.next(this.valid?c.VALID:c.INVALID)}else this.errors.length=0},t}(),h={aac:"audio/aac",abw:"application/x-abiword",arc:"application/octet-stream",avi:"video/x-msvideo",azw:"application/vnd.amazon.ebook",bin:"application/octet-stream",bmp:"image/bmp",bz:"application/x-bzip",bz2:"application/x-bzip2",csh:"application/x-csh",css:"text/css",csv:"text/csv",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",es:"application/ecmascript",gif:"image/gif",html:"text/html",ico:"image/x-icon",ics:"text/calendar",jar:"application/java-archive",jpg:"image/jpeg",js:"application/javascript",json:"application/json",midi:"audio/midi",mpeg:"video/mpeg",mpkg:"application/vnd.apple.installer+xml",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",otf:"font/otf",png:"image/png",pdf:"application/pdf",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",rar:"application/vnd.openxmlformats-officedocument.presentationml.presentation",rtf:"application/rtf",sh:"application/x-sh",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tiff:"image/tiff",ts:"application/typescript",ttf:"font/ttf",vsd:"application/vnd.visio",wav:"audio/wav",weba:"audio/webm",webm:"video/webm",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xul:"application/vnd.mozilla.xul+xml",zip:"application/zip","3gp":"video/3gpp","3g2":"video/3gpp2","7z":"application/x-7z-compressed"},u=function(){function t(t){this.renderer=t,this.extensions=["bytes","KB","MB","GB"]}return t.prototype.isFileDragDropAvailable=function(){var t=this.renderer.createElement("div");return("draggable"in t||"ondragstart"in t&&"ondrop"in t)&&FormData&&!!FileReader},t.prototype.calculateSize=function(t,e){return void 0===e&&(e=0),isNaN(t)&&(t=0),t<1024?Math.round(100*t)/100+" "+this.extensions[e]:this.calculateSize(t/1024,e+1)},t.prototype.getFileType=function(e){return Object.keys(h).find(function(t){return h[t]===e.type})},t.decorators=[{type:r.Injectable}],t.ctorParameters=function(){return[{type:r.Renderer2}]},t}(),d=n.trigger("insertAnimation",[n.transition("* => *",[n.query(":leave",[n.stagger(30,[n.animate(".3s",n.style({opacity:0}))])],{optional:!0}),n.query(":enter",[n.style({opacity:0}),n.stagger(30,[n.animate(".3s",n.style({opacity:1}))])],{optional:!0})])]),f=n.trigger("zoomAnimation",[n.transition("static => zoomOut",[n.animate(250,n.style({transform:"translate(-50%, -50%) scale(2, 2)",opacity:0}))]),n.transition("static => zoomIn",[n.query(":self",[n.style({transform:"translate(-50%, -50%) scale(.2, .2)",opacity:0,top:"50%",left:"50%",margin:0}),n.stagger(50,[n.animate(250,n.style({transform:"translate(-50%, -50%) scale(1, 1)",opacity:1}))])])])]),g="dragover",m="ng-touched",v=function(){function t(t,e,i,n,o){var r=this;this.fileUploadService=t,this.hostElementRef=e,this.renderer=i,this.document=n,this.cdr=o,this.control=null,this.templateRef=null,this.listItem=null,this.templateContext={$implicit:this.fileUploadService.isFileDragDropAvailable(),isFileDragDropAvailable:this.fileUploadService.isFileDragDropAvailable()},this.zoomText="static",this.listVisible=!1,this.hooks=[],this.subscriptions=[],this.onChange=function(){},this.onTouch=function(){r.renderer.addClass(r.hostElementRef.nativeElement,m)}}return t.prototype.ngOnInit=function(){l(this.control)&&(this.control=new p),this.setEvents(),this.checkAndMarkAsDisabled(),this.connectToForm()},t.prototype.ngOnDestroy=function(){this.cdr.detach(),this.hooks.forEach(function(t){return t()}),this.hooks.length=0,this.subscriptions.forEach(function(t){return t.unsubscribe()}),this.subscriptions.length=0},Object.defineProperty(t.prototype,"hasFiles",{get:function(){return this.control.isListVisible&&0<this.control.size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isInvalid",{get:function(){return!this.control.disabled&&this.control.invalid},enumerable:!0,configurable:!0}),t.prototype.setEvents=function(){var e=this;["drag","dragstart","dragend","dragover","dragenter","dragleave","drop"].forEach(function(t){e.hooks.push(e.renderer.listen(e.document,t,function(t){return e.preventDragEvents(t)}))}),["dragover","dragenter"].forEach(function(t){e.hooks.push(e.renderer.listen(e.hostElementRef.nativeElement,t,function(t){return e.onDragOver(t)}))}),["dragleave","dragend","drop"].forEach(function(t){e.hooks.push(e.renderer.listen(e.hostElementRef.nativeElement,t,function(t){return e.onDragLeave(t)}))}),this.subscriptions.push(this.control.statusChanges.subscribe(function(t){return e.checkAndMarkAsDisabled()})),this.subscriptions.push(this.control.valueChanges.subscribe(function(t){return e.renderView()})),this.subscriptions.push(this.control.listVisibilityChanges.subscribe(function(t){return e.toggleListVisibility()}))},t.prototype.checkAndMarkAsDisabled=function(){this.control.disabled?(this.renderer.addClass(this.hostElementRef.nativeElement,"disabled"),this.renderer.setProperty(this.input.nativeElement,"disabled",!0)):(this.renderer.removeClass(this.hostElementRef.nativeElement,"disabled"),this.renderer.setProperty(this.input.nativeElement,"disabled",!1))},t.prototype.preventDragEvents=function(t){t.preventDefault(),t.stopPropagation()},t.prototype.renderView=function(){this.listVisible||(this.zoomText=this.control.isListVisible&&0<this.control.size?"zoomOut":"static"),this.cdr.markForCheck()},t.prototype.showList=function(){"static"!==this.zoomText&&(this.listVisible=!0)},t.prototype.hideList=function(){this.listVisible=!1},t.prototype.toggleListVisibility=function(){this.listVisible=this.control.isListVisible&&0<this.control.size,this.listVisible&&(this.renderer.addClass(this.hostElementRef.nativeElement,"list-visible"),this.zoomText="static"),this.cdr.markForCheck()},t.prototype.onDragOver=function(t){this.renderer.addClass(this.hostElementRef.nativeElement,g)},t.prototype.onDragLeave=function(t){this.renderer.removeClass(this.hostElementRef.nativeElement,g)},t.prototype.onDrop=function(t){if(!this.control.disabled){var e=t.dataTransfer.files;this.control.addFiles(e),this.onTouch()}},t.prototype.onInputChange=function(t){var e=t.target;this.control.disabled||this.control.addFiles(e.files),this.clearInputEl(),this.onTouch()},t.prototype.clearInputEl=function(){this.input.nativeElement.value=null},t.prototype.connectToForm=function(){var e=this;this.subscriptions.push(this.control.valueChanges.subscribe(function(t){return e.onChange(t)}))},t.prototype.writeValue=function(t){null!=t&&this.control.setValue(t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouch=t},t.prototype.setDisabledState=function(t){this.control.disable(t)},t.prototype.zoomAnimationDone=function(t){this.control.isListVisible&&0<this.control.size?this.showList():this.hideList(),"static"===t.fromState&&"zoomOut"===t.toState?this.renderer.addClass(this.hostElementRef.nativeElement,"hide-text"):this.renderer.removeClass(this.hostElementRef.nativeElement,"hide-text"),"zoomIn"===t.toState&&(this.zoomText="static")},t.prototype.animationListFinished=function(t){"void"===t.toState&&(this.zoomText="zoomIn",this.renderer.removeClass(this.hostElementRef.nativeElement,"list-visible")),"void"===t.fromState&&(this.zoomText="static",this.renderer.addClass(this.hostElementRef.nativeElement,"list-visible"))},t.decorators=[{type:r.Component,args:[{selector:"file-upload",template:'<label class="upload-input" [@zoomAnimation]="zoomText" (@zoomAnimation.done)="zoomAnimationDone($event)">\r\n\r\n <ng-container *ngTemplateOutlet="templateRef ? templateRef : defaultTemplate; context: templateContext"></ng-container>\r\n\r\n <ng-template #defaultTemplate let-isFileDragDropAvailable="isFileDragDropAvailable">\r\n <div class="icon">\r\n <svg viewBox="0 0 96 96">\r\n <g>\r\n <path d="M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\r\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\r\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\r\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\r\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\r\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\r\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\r\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\r\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z"/>\r\n </g>\r\n </svg>\r\n </div>\r\n \r\n <div class="upload-text">\r\n <ng-container *ngIf="isFileDragDropAvailable; else isNotDragDropAvailable">\r\n <b>Drag and drop</b> files<br> or click here\r\n </ng-container>\r\n <ng-template #isNotDragDropAvailable>\r\n <b>Click here</b> to<br> choose a files\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n\r\n <input #inputRef type="file" class="files-input" multiple (change)="onInputChange($event)">\r\n</label>\r\n\r\n<div class="upload-list" *ngIf="(control.listVisibilityChanges | async) && control.size > 0 && listVisible" [@insertAnimation]="control.size" (@insertAnimation.done)="animationListFinished($event)">\r\n <ng-template ngFor let-file let-i="index" [ngForOf]="control.valueChanges | async">\r\n <ng-container *ngTemplateOutlet="listItem ? listItem : defaultItemTemplate; context: { $implicit: file, file: file, index: i, control: control }"></ng-container>\r\n </ng-template>\r\n \r\n <ng-template #defaultItemTemplate let-i="index" let-file="file" let-control="control">\r\n <file-upload-list-item [index]="i" [file]="file" [control]="control"></file-upload-list-item>\r\n </ng-template>\r\n</div>',providers:[u,{provide:s.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return t}),multi:!0}],changeDetection:r.ChangeDetectionStrategy.OnPush,animations:[f,d],styles:[':host,:host>*{box-sizing:border-box}:host{overflow:hidden;display:block;background:#fafafa;padding:20px 66px 20px 20px;min-height:140px;outline:#92b0b3 dashed 1px;outline-offset:-10px;position:relative}:host(.dragover){outline-width:2px}:host(.disabled){opacity:.5;cursor:no-drop}.files-input{width:.1px;height:.1px;opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;float:left}.icon svg{fill:#909293}.upload-input:after{clear:both;content:"\\0A0";display:block;height:0;line-height:0;visibility:hidden;zoom:1}.upload-input{cursor:pointer;display:inline-block;color:#646464;position:absolute;top:50%;left:50%;margin:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}:host(.disabled) .upload-input{cursor:not-allowed}:host(.list-visible) .upload-input{top:20px;left:100%;margin-left:-20px;-webkit-transform:translate(-100%,0);transform:translate(-100%,0);text-align:center}.upload-text{overflow:hidden;width:auto;position:relative;padding-left:20px}:host(.hide-text) .upload-input{opacity:0}:host(.list-visible) .upload-text{display:none}:host(.dragover:not(.disabled)) .upload-input,:host(:not(.disabled)) .upload-input:hover{color:#80a9d2}:host(.dragover:not(.disabled)) .icon svg,:host(:not(.disabled)) .upload-input:hover svg{fill:#80a9d2}file-upload-list-item{padding:10px 0 0}file-upload-list-item:first-child{padding:0}']}]}],t.ctorParameters=function(){return[{type:u},{type:r.ElementRef},{type:r.Renderer2},{type:undefined,decorators:[{type:r.Inject,args:[o.DOCUMENT]}]},{type:r.ChangeDetectorRef}]},t.propDecorators={control:[{type:r.Input}],templateRef:[{type:r.ContentChild,args:["placeholder"]}],listItem:[{type:r.ContentChild,args:["item"]}],input:[{type:r.ViewChild,args:["inputRef"]}],hasFiles:[{type:r.HostBinding,args:["class.has-files"]}],isInvalid:[{type:r.HostBinding,args:["class.ng-invalid"]}],onDrop:[{type:r.HostListener,args:["drop",["$event"]]}]},t}(),y=function(){function t(t){this.fileUploadService=t}return t.prototype.removeFile=function(t){this.control.removeFile(t)},t.prototype.calculateSize=function(t){return this.fileUploadService.calculateSize(t)},t.decorators=[{type:r.Component,args:[{selector:"file-upload-list-item",template:'\n <file-upload-icon [file]="file"></file-upload-icon>\n <div class="file-info">\n <span class="file-name">{{ file.name }}</span> ({{ calculateSize( file.size ) }})\n </div>\n <div class="file-buttons">\n <span class="remove-btn" (click)="removeFile(file)">\n <svg viewBox="0 0 96 96">\n <g>\n <path d="M40.5,66.8V39.3c0-0.4-0.1-0.7-0.4-0.9S39.6,38,39.3,38h-2.5c-0.4,0-0.7,0.1-0.9,0.4\n s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4h2.5c0.4,0,0.7-0.1,0.9-0.4S40.5,67.1,40.5,66.8z M50.5,66.8V39.3\n c0-0.4-0.1-0.7-0.4-0.9S49.6,38,49.3,38h-2.5c-0.4,0-0.7,0.1-0.9,0.4s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4\n h2.5c0.4,0,0.7-0.1,0.9-0.4S50.5,67.1,50.5,66.8z M60.5,66.8V39.3c0-0.4-0.1-0.7-0.4-0.9S59.6,38,59.3,38h-2.5\n c-0.4,0-0.7,0.1-0.9,0.4s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4h2.5c0.4,0,0.7-0.1,0.9-0.4\n S60.5,67.1,60.5,66.8z M39.3,28h17.5l-1.9-4.6c-0.2-0.2-0.4-0.4-0.7-0.4H41.8c-0.3,0.1-0.5,0.2-0.7,0.4L39.3,28z M75.5,29.3v2.5\n c0,0.4-0.1,0.7-0.4,0.9S74.6,33,74.3,33h-3.8v37c0,2.2-0.6,4-1.8,5.6S66,78,64.3,78H31.8c-1.7,0-3.2-0.8-4.4-2.3s-1.8-3.4-1.8-5.5\n V33h-3.8c-0.4,0-0.7-0.1-0.9-0.4s-0.4-0.5-0.4-0.9v-2.5c0-0.4,0.1-0.7,0.4-0.9s0.5-0.4,0.9-0.4h12.1l2.7-6.5c0.4-1,1.1-1.8,2.1-2.5\n s2-1,3.1-1h12.5c1,0,2.1,0.3,3.1,1s1.7,1.5,2.1,2.5l2.7,6.5h12.1c0.4,0,0.7,0.1,0.9,0.4S75.5,28.9,75.5,29.3z"/>\n </g>\n </svg> Remove</span>\n </div>\n ',styles:[':host{display:block;font-size:14px;color:#646464}:host:after{clear:both;content:"\\0A0";display:block;height:0;line-height:0;visibility:hidden;zoom:1}file-upload-icon{float:left;width:30px;height:36px;margin:0 10px 0 0}.remove-btn{font-size:12px;cursor:pointer}.remove-btn svg{display:inline-block;vertical-align:-20%;height:18px;width:18px}']}]}],t.ctorParameters=function(){return[{type:u}]},t.propDecorators={index:[{type:r.Input}],file:[{type:r.Input}],control:[{type:r.Input}]},t}(),b=function(){function t(t){this.fileUploadService=t,this.fileType="unknown"}return t.prototype.ngOnInit=function(){this.fileType=this.fileUploadService.getFileType(this.file)},t.prototype.isIcon=function(t){switch(t){case"text":return"html"===this.fileType||"css"===this.fileType||"csv"===this.fileType||"js"===this.fileType||"pdf"===this.fileType||"ppt"===this.fileType||"xls"===this.fileType||"xlsx"===this.fileType||"xml"===this.fileType||"doc"===this.fileType||"docx"===this.fileType;case"audio":return"aac"===this.fileType||"midi"===this.fileType||"oga"===this.fileType||"wav"===this.fileType||"weba"===this.fileType;case"image":return"png"===this.fileType||"bmp"===this.fileType||"gif"===this.fileType||"jpg"===this.fileType||"svg"===this.fileType||"webp"===this.fileType||"ico"===this.fileType;case"video":return"avi"===this.fileType||"mpeg"===this.fileType||"ogv"===this.fileType||"webm"===this.fileType||"3gp"===this.fileType||"3g2"===this.fileType}},t.decorators=[{type:r.Component,args:[{selector:"file-upload-icon",template:'\r\n\r\n<ng-container [ngSwitch]="true">\r\n\r\n <svg *ngSwitchDefault viewBox="0 0 96 96">\r\n <g>\r\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase="isIcon(\'image\')" viewBox="0 0 96 96">\r\n <g>\r\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M65.1,58.7v10.7H30.9V63l6.4-6.4l4.3,4.3L54.4,48L65.1,58.7z M37.3,52.3c-1.8,0-3.3-0.6-4.6-1.9c-1.3-1.2-1.9-2.8-1.9-4.6\r\n c0-1.8,0.6-3.3,1.9-4.6c1.3-1.2,2.8-1.9,4.6-1.9s3.3,0.6,4.6,1.9c1.3,1.3,1.9,2.8,1.9,4.6c0,1.8-0.6,3.3-1.9,4.6\r\n C40.6,51.7,39.1,52.3,37.3,52.3z"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase="isIcon(\'audio\')" viewBox="0 0 96 96">\r\n <g>\r\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M43,46.5c0.4,0.2,0.7,0.5,0.7,1v18.2c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.5-0.1-0.8-0.3l-5.6-5.6h-4.4\r\n c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8v-6.4c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h4.4l5.6-5.6\r\n C42.2,46.4,42.6,46.3,43,46.5z M57,69.5c0.7,0,1.3-0.3,1.7-0.8c2.9-3.5,4.3-7.6,4.3-12.2s-1.4-8.6-4.3-12.2\r\n c-0.4-0.5-0.8-0.7-1.4-0.8c-0.6-0.1-1.1,0.1-1.6,0.5c-0.5,0.4-0.7,0.9-0.8,1.5c-0.1,0.6,0.1,1.1,0.5,1.6c2.2,2.7,3.3,5.9,3.3,9.4\r\n c0,3.5-1.1,6.7-3.3,9.4c-0.4,0.5-0.5,1-0.5,1.6c0.1,0.6,0.3,1.1,0.8,1.4C56.1,69.4,56.5,69.5,57,69.5z M49.9,64.6\r\n c0.6,0,1.1-0.2,1.6-0.7c1.9-2.1,2.9-4.5,2.9-7.3s-1-5.3-2.9-7.3c-0.4-0.4-0.9-0.6-1.5-0.7c-0.6,0-1.1,0.2-1.5,0.6s-0.6,0.9-0.7,1.5\r\n c0,0.6,0.2,1.1,0.6,1.6c1.2,1.3,1.7,2.7,1.7,4.4c0,1.7-0.6,3.1-1.7,4.4c-0.4,0.4-0.6,1-0.6,1.6c0,0.6,0.2,1.1,0.7,1.5\r\n C48.9,64.4,49.4,64.6,49.9,64.6z"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase="isIcon(\'text\')" viewBox="0 0 96 96">\r\n <g>\r\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M35.1,44.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h23.6c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1\r\n c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8V44.8z M59.8,52.3\r\n c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\r\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z M59.8,60.9c0.3,0,0.6,0.1,0.8,0.3\r\n c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\r\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase="isIcon(\'video\')" viewBox="0 0 96 96">\r\n <g>\r\n <path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M48,43.7c1.2,0,2.2,0.4,3,1.3c0.8,0.8,1.3,1.9,1.3,3v12.9c0,1.2-0.4,2.2-1.3,3c-0.8,0.8-1.9,1.3-3,1.3H35.1c-1.2,0-2.2-0.4-3-1.3\r\n c-0.8-0.8-1.3-1.9-1.3-3V48c0-1.2,0.4-2.2,1.3-3c0.8-0.8,1.9-1.3,3-1.3H48z M64.5,43.8c0.4,0.2,0.7,0.5,0.7,1v19.3\r\n c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.6-0.1-0.8-0.3l-8.9-8.9v-3l8.9-8.9c0.2-0.2,0.5-0.3,0.8-0.3\r\n C64.2,43.7,64.3,43.7,64.5,43.8z"/>\r\n </g>\r\n </svg>\r\n\r\n</ng-container>',styles:[":host{display:block;border:1px solid #eaeaea;border-radius:4px}:host svg{fill:#909293}"]}]}],t.ctorParameters=function(){return[{type:u}]},t.propDecorators={file:[{type:r.Input}]},t}(),x=function(){function t(t,e,i,n){var o=this;this.fileUploadService=t,this.hostElementRef=e,this.renderer=i,this.document=n,this.control=null,this.templateRef=null,this.hooks=[],this.subscriptions=[],this.onTouch=function(){o.renderer.addClass(o.hostElementRef.nativeElement,m)}}return t.prototype.ngOnInit=function(){l(this.control)&&(this.control=new p)},t.prototype.ngAfterViewInit=function(){this.fileUploadService.isFileDragDropAvailable()&&(this.setEvents(),this.checkAndMarkAsDisabled())},t.prototype.ngOnDestroy=function(){this.hooks.forEach(function(t){return t()}),this.hooks.length=0,this.subscriptions.forEach(function(t){return t.unsubscribe()}),this.subscriptions.length=0},Object.defineProperty(t.prototype,"hasFiles",{get:function(){return this.control.isListVisible&&0<this.control.size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isInvalid",{get:function(){return!this.control.disabled&&this.control.invalid},enumerable:!0,configurable:!0}),t.prototype.setEvents=function(){var i=this;["drag","dragstart","dragend","dragover","dragenter","dragleave","drop"].forEach(function(t){i.hooks.push(i.renderer.listen(i.document,t,function(t){return i.preventDragEvents(t)}))}),["dragover","dragenter"].forEach(function(t){i.hooks.push(i.renderer.listen(i.hostElementRef.nativeElement,t,function(t){return i.onDragOver(t)}))}),["dragleave","dragend","drop"].forEach(function(e){i.hooks.push(i.renderer.listen(i.hostElementRef.nativeElement,e,function(t){(i.control.disabled&&"dragleave"===e||"dragleave"!==e)&&i.onDragLeave(t)}))}),["dragleave"].forEach(function(t){i.hooks.push(i.renderer.listen(i.overlay.nativeElement,t,function(t){return i.onDragLeave(t)}))}),this.subscriptions.push(this.control.statusChanges.subscribe(function(t){return i.checkAndMarkAsDisabled()}))},t.prototype.checkAndMarkAsDisabled=function(){this.control.disabled?this.renderer.addClass(this.hostElementRef.nativeElement,"disabled"):this.renderer.removeClass(this.hostElementRef.nativeElement,"disabled")},t.prototype.preventDragEvents=function(t){t.preventDefault(),t.stopPropagation()},t.prototype.onDragOver=function(t){this.renderer.addClass(this.hostElementRef.nativeElement,g)},t.prototype.onDragLeave=function(t){this.renderer.removeClass(this.hostElementRef.nativeElement,g)},t.prototype.onDrop=function(t){if(!this.control.disabled){var e=t.dataTransfer.files;this.control.addFiles(e),this.onTouch()}},t.decorators=[{type:r.Component,args:[{selector:"[file-drop-zone]",template:'\n <ng-content></ng-content>\n <div #overlay class="overlay" *ngIf="fileUploadService.isFileDragDropAvailable()">\n\n <div class="upload-input">\n <ng-container *ngTemplateOutlet="templateRef ? templateRef : defaultTemplate"></ng-container>\n\n <ng-template #defaultTemplate>\n <div class="icon">\n <svg viewBox="0 0 96 96">\n <g>\n <path d="M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z"/>\n </g>\n </svg>\n </div>\n \n <div class="upload-text">\n <b>Drop</b> it here\n </div>\n </ng-template>\n </div>\n </div>\n ',providers:[u],styles:[":host{position:relative;display:block}:host .overlay{display:none;background:rgba(255,255,255,.8);outline:#92b0b3 dashed 2px;outline-offset:-10px;position:absolute;top:0;left:0;right:0;bottom:0}:host(.dragover:not(.disabled)) .overlay{display:block}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;margin:0 auto 10px}:host /deep/ .icon svg{fill:#80a9d2}.upload-input{pointer-events:none;cursor:pointer;display:inline-block;color:#80a9d2;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:.15s ease-in-out}"]}]}],t.ctorParameters=function(){return[{type:u},{type:r.ElementRef},{type:r.Renderer2},{type:undefined,decorators:[{type:r.Inject,args:[o.DOCUMENT]}]}]},t.propDecorators={control:[{type:r.Input}],overlay:[{type:r.ViewChild,args:["overlay"]}],templateRef:[{type:r.ContentChild,args:["placeholder"]}],hasFiles:[{type:r.HostBinding,args:["class.has-files"]}],isInvalid:[{type:r.HostBinding,args:["class.ng-invalid"]}],onDrop:[{type:r.HostListener,args:["drop",["$event"]]}]},t}(),z=function(t,e,i){return void 0===i&&(i=0),!l(e)&&t.size>e||t.size<i?{maxSize:e,minSize:i,actual:t.size,file:t}:null},C=/(^[.]\w*)$/gm,D=function(t){if(!Array.isArray(t))throw Error("FormControl.setValue was provided with wrong argument type, "+t+" was provided instead Array<File>")},w=function(){function t(){}return t.fileSize=function(n){return function(t){var e=t.value;if(l(e))return null;D(e);var i=e.map(function(t){return z(t,n)}).filter(function(t){return t});return 0<i.length?{fileSize:i}:null}},t.sizeRange=function(t){var n=t.minSize,o=t.maxSize;return function(t){var e=t.value;if(l(e))return null;D(e);var i=e.map(function(t){return z(t,o,n)}).filter(function(t){return t});return 0<i.length?{sizeRange:i}:null}},t.filesLimit=function(i){return function(t){var e=t.value;return l(e)?null:(D(e),e.length>i?{filesLimit:{max:i,actual:e.length}}:null)}},t.accept=function(n){return function(t){var e=t.value;if(l(e))return null;D(e);var i=e.map(function(t){return function(t,e){for(var i=t.name.slice(1+(t.name.lastIndexOf(".")-1>>>0)),n=!1,o=0;o<e.length;o++){var r=e[o];if(n=C.test(r)?r===i:new RegExp(r).test(t.type))break}return n?null:{allowedTypes:e,actual:t.type,file:t}}(t,n)}).filter(function(t){return t});return 0<i.length?{fileTypes:i}:null}},t}(),E=function(){function t(){}return t.prototype.ngOnChanges=function(t){("filesize"in t||"maxsize"in t||"minsize"in t)&&(this._createValidator(),this.onChange&&this.onChange())},t.prototype.validate=function(t){return this.validator(t)},t.prototype.registerOnValidatorChange=function(t){this.onChange=t},t.prototype._createValidator=function(){var t=null;l(this.maxsize)?l(this.filesize)||(t="string"==typeof this.filesize?parseInt(this.filesize,10):this.filesize):t="string"==typeof this.maxsize?parseInt(this.maxsize,10):this.maxsize;var e="string"==typeof this.minsize?parseInt(this.minsize,10):this.minsize;this.validator=w.sizeRange({maxSize:t,minSize:e})},t.decorators=[{type:r.Directive,args:[{selector:"[filesize][formControlName],[filesize][formControl],[filesize][ngModel],\n [minsize][formControlName],[minsize][formControl],[minsize][ngModel],\n [maxsize][formControlName],[maxsize][formControl],[maxsize][ngModel]",providers:[{provide:s.NG_VALIDATORS,useExisting:r.forwardRef(function(){return t}),multi:!0}],host:{"[attr.filesize]":"filesize ? filesize : null","[attr.minsize]":"minsize ? minsize : null","[attr.maxsize]":"maxsize ? maxsize : null"}}]}],t.propDecorators={filesize:[{type:r.Input}],minsize:[{type:r.Input}],maxsize:[{type:r.Input}]},t}(),V=function(){function t(){}return t.prototype.ngOnChanges=function(t){"fileslimit"in t&&(this._createValidator(),this.onChange&&this.onChange())},t.prototype.validate=function(t){return null!=this.fileslimit?this.validator(t):null},t.prototype.registerOnValidatorChange=function(t){this.onChange=t},t.prototype._createValidator=function(){this.validator=w.filesLimit("string"==typeof this.fileslimit?parseInt(this.fileslimit,10):this.fileslimit)},t.decorators=[{type:r.Directive,args:[{selector:"[fileslimit][formControlName],[fileslimit][formControl],[fileslimit][ngModel]",providers:[{provide:s.NG_VALIDATORS,useExisting:r.forwardRef(function(){return t}),multi:!0}],host:{"[attr.fileslimit]":"fileslimit ? fileslimit : null"}}]}],t.propDecorators={fileslimit:[{type:r.Input}]},t}(),A=function(){function t(){}return t.prototype.ngOnChanges=function(t){"accept"in t&&(this._createValidator(),this.onChange&&this.onChange())},t.prototype.validate=function(t){return null!=this.accept?this.validator(t):null},t.prototype.registerOnValidatorChange=function(t){this.onChange=t},t.prototype._createValidator=function(){this.validator=w.accept(this.accept.split(","))},t.decorators=[{type:r.Directive,args:[{selector:"[accept][formControlName],[accept][formControl],[accept][ngModel]",providers:[{provide:s.NG_VALIDATORS,useExisting:r.forwardRef(function(){return V}),multi:!0}],host:{"[attr.accept]":"accept ? accept : null"}}]}],t.propDecorators={accept:[{type:r.Input}]},t}(),I=function(){function t(t){this.injector=t}return t.prototype.ngDoBootstrap=function(){},t.decorators=[{type:r.NgModule,args:[{imports:[o.CommonModule,s.ReactiveFormsModule,s.FormsModule,e.BrowserAnimationsModule],declarations:[v,y,b,x,E,V,A],exports:[v,x,E,V,A],entryComponents:[v]}]}],t.ctorParameters=function(){return[{type:r.Injector}]},t}();t.FileUploadControl=p,t.FileUploadValidators=w,t.FileUploadTypes=h,t.FileUploadModule=I,t.ɵd=d,t.ɵc=f,t.ɵg=x,t.ɵf=b,t.ɵe=y,t.ɵa=v,t.ɵh=E,t.ɵj=A,t.ɵi=V,t.ɵb=u,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=iplab-ngx-file-upload.umd.min.js.map
import { OnInit, ElementRef, Renderer2, OnDestroy, TemplateRef, ChangeDetectorRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { AnimationEvent } from '@angular/animations';
import { FileUploadControl } from './../helpers/control.class';

@@ -21,2 +22,5 @@ import { FileUploadService } from './../services/file-upload.service';

};
/** animation fields */
zoomText: 'zoomOut' | 'zoomIn' | 'static';
listVisible: boolean;
private hooks;

@@ -32,2 +36,6 @@ private subscriptions;

private preventDragEvents;
private renderView;
private showList;
private hideList;
private toggleListVisibility;
/**

@@ -61,2 +69,4 @@ * on file over add class name

setDisabledState(isDisabled: boolean): void;
zoomAnimationDone(event: AnimationEvent): void;
animationListFinished(event: AnimationEvent): void;
}

@@ -174,7 +174,7 @@ /**

`,
styles: [`:host{position:relative;display:block}:host .overlay{display:none;background:rgba(255,255,255,.8);outline:#92b0b3 dashed 2px;outline-offset:-10px;position:absolute;top:0;left:0;right:0;bottom:0}:host(.dragover:not(.disabled)) .overlay{display:block}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;margin:0 auto 10px}:host /deep/ .icon svg{fill:#80a9d2}.upload-input{pointer-events:none;cursor:pointer;display:inline-block;color:#80a9d2;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:all .15s ease-in-out}`],
providers: [
FileUploadService
]
},] },
],
styles: [":host{position:relative;display:block}:host .overlay{display:none;background:rgba(255,255,255,.8);outline:#92b0b3 dashed 2px;outline-offset:-10px;position:absolute;top:0;left:0;right:0;bottom:0}:host(.dragover:not(.disabled)) .overlay{display:block}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;margin:0 auto 10px}:host /deep/ .icon svg{fill:#80a9d2}.upload-input{pointer-events:none;cursor:pointer;display:inline-block;color:#80a9d2;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:.15s ease-in-out}"]
}] }
];

@@ -218,2 +218,2 @@ /** @nocollapse */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC1hdHRyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNILEtBQUssRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUEwQzVELE1BQU0sT0FBTyw0QkFBNEI7Ozs7Ozs7SUFlckMsWUFDVyxpQkFBb0MsRUFDbkMsY0FBMEIsRUFDMUIsUUFBbUIsRUFDRCxRQUFRO1FBSDNCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQVk7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FBUixRQUFRLENBQUE7UUFoQi9CLFlBQU8sR0FBc0IsSUFBSSxDQUFDO1FBTWxDLGdCQUFXLEdBQXFCLElBQUksQ0FBQztRQUVwQyxVQUFLLEdBQW9CLEVBQUUsQ0FBQztRQUU1QixrQkFBYSxHQUF3QixFQUFFLENBQUM7UUE4R3hDLFlBQU8sR0FBZSxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENB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QyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Ozs7O0lBR00sTUFBTSxDQUFDLEtBQWdCO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDdkIsT0FBTztTQUNWOztjQUNLLEtBQUssR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUs7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7OztZQS9KSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E4QlQ7Z0JBQ0QsTUFBTSxFQUFFLENBQUMsdWxCQUF1bEIsQ0FBQztnQkFDam1CLFNBQVMsRUFBRTtvQkFDUCxpQkFBaUI7aUJBQ3BCO2FBQ0o7Ozs7WUExQ1EsaUJBQWlCO1lBaEJ0QixVQUFVO1lBRVYsU0FBUzs0Q0E0RUosTUFBTSxTQUFDLFFBQVE7OztzQkFqQm5CLEtBQUs7c0JBR0wsU0FBUyxTQUFDLFNBQVM7MEJBR25CLFlBQVksU0FBQyxhQUFhO3VCQWtDMUIsV0FBVyxTQUFDLGlCQUFpQjt3QkFLN0IsV0FBVyxTQUFDLGtCQUFrQjtxQkFrRTlCLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUEvR2hDLCtDQUN5Qzs7SUFFekMsK0NBQzJDOztJQUUzQyxtREFDNEM7O0lBRTVDLDZDQUFvQzs7SUFFcEMscURBQWdEOztJQThHaEQsK0NBRUU7O0lBN0dFLHlEQUEyQzs7SUFDM0Msc0RBQWtDOztJQUNsQyxnREFBMkI7O0lBQzNCLGdEQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIEluamVjdCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENvbnRlbnRDaGlsZCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gJy4uL2hlbHBlcnMvY29udHJvbC5jbGFzcyc7XHJcbmltcG9ydCB7IElzTnVsbE9yRW1wdHkgfSBmcm9tICcuLi9oZWxwZXJzL2hlbHBlcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEUkFHT1ZFUiwgVE9VQ0hFRCB9IGZyb20gJy4vZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogYFtmaWxlLWRyb3Atem9uZV1gLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiAjb3ZlcmxheSBjbGFzcz1cIm92ZXJsYXlcIiAqbmdJZj1cImZpbGVVcGxvYWRTZXJ2aWNlLmlzRmlsZURyYWdEcm9wQXZhaWxhYmxlKClcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtaW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVJlZiA/IHRlbXBsYXRlUmVmIDogZGVmYXVsdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYyLjgsNjguMWMwLTAuNi0wLjItMS4xLTAuNi0xLjVjLTAuNC0wLjQtMC45LTAuNi0xLjUtMC42cy0xLjEsMC4yLTEuNSwwLjZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjQsMC40LTAuNiwwLjktMC42LDEuNWMwLDAuNiwwLjIsMS4xLDAuNiwxLjVjMC40LDAuNCwwLjksMC42LDEuNSwwLjZzMS4xLTAuMiwxLjUtMC42UzYyLjgsNjguNyw2Mi44LDY4LjF6IE03MS4zLDY4LjFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAtMC42LTAuMi0xLjEtMC42LTEuNWMtMC40LTAuNC0wLjktMC42LTEuNS0wLjZjLTAuNiwwLTEuMSwwLjItMS41LDAuNkM2Ny4yLDY3LDY3LDY3LjUsNjcsNjguMWMwLDAuNiwwLjIsMS4xLDAuNiwxLjVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgczAuOSwwLjYsMS41LDAuNmMwLjYsMCwxLjEtMC4yLDEuNS0wLjZDNzEuMSw2OS4yLDcxLjMsNjguNyw3MS4zLDY4LjF6IE03NS41LDYwLjd2MTAuNmMwLDAuOS0wLjMsMS42LTAuOSwyLjJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjYsMC42LTEuNCwwLjktMi4yLDAuOUgyMy43Yy0wLjksMC0xLjYtMC4zLTIuMi0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4yVjYwLjdjMC0wLjksMC4zLTEuNiwwLjktMi4yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjYtMC42LDEuNC0wLjksMi4yLTAuOWgxNC4xYzAuNSwxLjIsMS4yLDIuMiwyLjMsM2MxLjEsMC44LDIuMywxLjIsMy43LDEuMmg4LjVjMS4zLDAsMi42LTAuNCwzLjctMS4yYzEuMS0wLjgsMS45LTEuOCwyLjMtM1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoMTQuMWMwLjksMCwxLjYsMC4zLDIuMiwwLjlDNzUuMiw1OS4xLDc1LjUsNTkuOCw3NS41LDYwLjd6IE02NC44LDM5LjNjLTAuNCwwLjktMSwxLjMtMiwxLjNoLTguNXYxNC44YzAsMC42LTAuMiwxLjEtMC42LDEuNVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLjQtMC45LDAuNi0xLjUsMC42aC04LjVjLTAuNiwwLTEuMS0wLjItMS41LTAuNmMtMC40LTAuNC0wLjYtMC45LTAuNi0xLjVWNDAuNmgtOC41Yy0wLjksMC0xLjYtMC40LTItMS4zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtMC40LTAuOS0wLjItMS42LDAuNS0yLjNsMTQuOC0xNC44YzAuNC0wLjQsMC45LTAuNiwxLjUtMC42czEuMSwwLjIsMS41LDAuNkw2NC4zLDM3QzY1LDM3LjcsNjUuMSwzOC40LDY0LjgsMzkuM3pcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiPkRyb3A8L2I+IGl0IGhlcmVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0eWxlczogW2A6aG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfTpob3N0IC5vdmVybGF5e2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjgpO291dGxpbmU6IzkyYjBiMyBkYXNoZWQgMnB4O291dGxpbmUtb2Zmc2V0Oi0xMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowfTpob3N0KC5kcmFnb3Zlcjpub3QoLmRpc2FibGVkKSkgLm92ZXJsYXl7ZGlzcGxheTpibG9ja30uaWNvbntoZWlnaHQ6MzVweDt3aWR0aDozNXB4O2JvcmRlcjoxcHggc29saWQgI2VhZWFlYTtib3JkZXItcmFkaXVzOjRweDttYXJnaW46MCBhdXRvIDEwcHh9Omhvc3QgL2RlZXAvIC5pY29uIHN2Z3tmaWxsOiM4MGE5ZDJ9LnVwbG9hZC1pbnB1dHtwb2ludGVyLWV2ZW50czpub25lO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM4MGE5ZDI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNpdGlvbjphbGwgLjE1cyBlYXNlLWluLW91dH1gXSxcclxuICAgIHByb3ZpZGVyczogWyBcclxuICAgICAgICBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZEF0dHJpYnV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRyb2w6IEZpbGVVcGxvYWRDb250cm9sID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdvdmVybGF5JylcclxuICAgIHB1YmxpYyBvdmVybGF5OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdwbGFjZWhvbGRlcicpXHJcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgaG9va3M6IEFycmF5PEZ1bmN0aW9uPiA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudFxyXG4gICAgKSB7fVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eSh0aGlzLmNvbnRyb2wpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyBGaWxlVXBsb2FkQ29udHJvbCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLmlzRmlsZURyYWdEcm9wQXZhaWxhYmxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRFdmVudHMoKTtcclxuICAgICAgICAgICAgdGhpcy5jaGVja0FuZE1hcmtBc0Rpc2FibGVkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhvb2tzLmZvckVhY2goKGhvb2spID0+IGhvb2soKSk7XHJcbiAgICAgICAgdGhpcy5ob29rcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzY3JpcHRpb24pID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1maWxlcycpXHJcbiAgICBwdWJsaWMgZ2V0IGhhc0ZpbGVzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2wuaXNMaXN0VmlzaWJsZSAmJiB0aGlzLmNvbnRyb2wuc2l6ZSA+IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uZy1pbnZhbGlkJylcclxuICAgIHB1YmxpYyBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5jb250cm9sLmRpc2FibGVkICYmIHRoaXMuY29udHJvbC5pbnZhbGlkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0RXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIFsnZHJhZycsICdkcmFnc3RhcnQnLCAnZHJhZ2VuZCcsICdkcmFnb3ZlcicsICdkcmFnZW50ZXInLCAnZHJhZ2xlYXZlJywgJ2Ryb3AnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5wcmV2ZW50RHJhZ0V2ZW50cyhldmVudCkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIFsnZHJhZ292ZXInLCAnZHJhZ2VudGVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9va3MucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkRyYWdPdmVyKGV2ZW50KSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgWydkcmFnbGVhdmUnLCAnZHJhZ2VuZCcsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9va3MucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuY29udHJvbC5kaXNhYmxlZCAmJiBldmVudE5hbWUgPT09ICdkcmFnbGVhdmUnIHx8IGV2ZW50TmFtZSAhPT0gJ2RyYWdsZWF2ZScpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRyYWdMZWF2ZShldmVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgWydkcmFnbGVhdmUnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5vdmVybGF5Lm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50OiBhbnkpID0+IHRoaXMub25EcmFnTGVhdmUoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHRoaXMuY2hlY2tBbmRNYXJrQXNEaXNhYmxlZCgpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja0FuZE1hcmtBc0Rpc2FibGVkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcmV2ZW50RHJhZ0V2ZW50cyhldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uIGZpbGUgb3ZlciBhZGQgY2xhc3MgbmFtZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBEUkFHT1ZFUik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBvbiBtb3VzZSBvdXQgcmVtb3ZlIGNsYXNzIG5hbWVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIERSQUdPVkVSKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcztcclxuICAgICAgICB0aGlzLmNvbnRyb2wuYWRkRmlsZXMoZmlsZXMpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgVE9VQ0hFRCk7XHJcbiAgICB9O1xyXG5cclxufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC1hdHRyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNILEtBQUssRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUEwQzVELE1BQU0sT0FBTyw0QkFBNEI7Ozs7Ozs7SUFlckMsWUFDVyxpQkFBb0MsRUFDbkMsY0FBMEIsRUFDMUIsUUFBbUIsRUFDRCxRQUFRO1FBSDNCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQVk7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FBUixRQUFRLENBQUE7UUFoQi9CLFlBQU8sR0FBc0IsSUFBSSxDQUFDO1FBTWxDLGdCQUFXLEdBQXFCLElBQUksQ0FBQztRQUVwQyxVQUFLLEdBQW9CLEVBQUUsQ0FBQztRQUU1QixrQkFBYSxHQUF3QixFQUFFLENBQUM7UUE4R3hDLFlBQU8sR0FBZSxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENB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QyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Ozs7O0lBR00sTUFBTSxDQUFDLEtBQWdCO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDdkIsT0FBTztTQUNWOztjQUNLLEtBQUssR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUs7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7OztZQS9KSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E4QlQ7Z0JBRUQsU0FBUyxFQUFFO29CQUNQLGlCQUFpQjtpQkFDcEI7O2FBQ0o7Ozs7WUExQ1EsaUJBQWlCO1lBaEJ0QixVQUFVO1lBRVYsU0FBUzs0Q0E0RUosTUFBTSxTQUFDLFFBQVE7OztzQkFqQm5CLEtBQUs7c0JBR0wsU0FBUyxTQUFDLFNBQVM7MEJBR25CLFlBQVksU0FBQyxhQUFhO3VCQWtDMUIsV0FBVyxTQUFDLGlCQUFpQjt3QkFLN0IsV0FBVyxTQUFDLGtCQUFrQjtxQkFrRTlCLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUEvR2hDLCtDQUN5Qzs7SUFFekMsK0NBQzJDOztJQUUzQyxtREFDNEM7O0lBRTVDLDZDQUFvQzs7SUFFcEMscURBQWdEOztJQThHaEQsK0NBRUU7O0lBN0dFLHlEQUEyQzs7SUFDM0Msc0RBQWtDOztJQUNsQyxnREFBMkI7O0lBQzNCLGdEQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIEluamVjdCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENvbnRlbnRDaGlsZCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gJy4uL2hlbHBlcnMvY29udHJvbC5jbGFzcyc7XHJcbmltcG9ydCB7IElzTnVsbE9yRW1wdHkgfSBmcm9tICcuLi9oZWxwZXJzL2hlbHBlcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEUkFHT1ZFUiwgVE9VQ0hFRCB9IGZyb20gJy4vZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogYFtmaWxlLWRyb3Atem9uZV1gLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiAjb3ZlcmxheSBjbGFzcz1cIm92ZXJsYXlcIiAqbmdJZj1cImZpbGVVcGxvYWRTZXJ2aWNlLmlzRmlsZURyYWdEcm9wQXZhaWxhYmxlKClcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtaW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVJlZiA/IHRlbXBsYXRlUmVmIDogZGVmYXVsdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYyLjgsNjguMWMwLTAuNi0wLjItMS4xLTAuNi0xLjVjLTAuNC0wLjQtMC45LTAuNi0xLjUtMC42cy0xLjEsMC4yLTEuNSwwLjZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjQsMC40LTAuNiwwLjktMC42LDEuNWMwLDAuNiwwLjIsMS4xLDAuNiwxLjVjMC40LDAuNCwwLjksMC42LDEuNSwwLjZzMS4xLTAuMiwxLjUtMC42UzYyLjgsNjguNyw2Mi44LDY4LjF6IE03MS4zLDY4LjFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAtMC42LTAuMi0xLjEtMC42LTEuNWMtMC40LTAuNC0wLjktMC42LTEuNS0wLjZjLTAuNiwwLTEuMSwwLjItMS41LDAuNkM2Ny4yLDY3LDY3LDY3LjUsNjcsNjguMWMwLDAuNiwwLjIsMS4xLDAuNiwxLjVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgczAuOSwwLjYsMS41LDAuNmMwLjYsMCwxLjEtMC4yLDEuNS0wLjZDNzEuMSw2OS4yLDcxLjMsNjguNyw3MS4zLDY4LjF6IE03NS41LDYwLjd2MTAuNmMwLDAuOS0wLjMsMS42LTAuOSwyLjJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjYsMC42LTEuNCwwLjktMi4yLDAuOUgyMy43Yy0wLjksMC0xLjYtMC4zLTIuMi0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4yVjYwLjdjMC0wLjksMC4zLTEuNiwwLjktMi4yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjYtMC42LDEuNC0wLjksMi4yLTAuOWgxNC4xYzAuNSwxLjIsMS4yLDIuMiwyLjMsM2MxLjEsMC44LDIuMywxLjIsMy43LDEuMmg4LjVjMS4zLDAsMi42LTAuNCwzLjctMS4yYzEuMS0wLjgsMS45LTEuOCwyLjMtM1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoMTQuMWMwLjksMCwxLjYsMC4zLDIuMiwwLjlDNzUuMiw1OS4xLDc1LjUsNTkuOCw3NS41LDYwLjd6IE02NC44LDM5LjNjLTAuNCwwLjktMSwxLjMtMiwxLjNoLTguNXYxNC44YzAsMC42LTAuMiwxLjEtMC42LDEuNVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLjQtMC45LDAuNi0xLjUsMC42aC04LjVjLTAuNiwwLTEuMS0wLjItMS41LTAuNmMtMC40LTAuNC0wLjYtMC45LTAuNi0xLjVWNDAuNmgtOC41Yy0wLjksMC0xLjYtMC40LTItMS4zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtMC40LTAuOS0wLjItMS42LDAuNS0yLjNsMTQuOC0xNC44YzAuNC0wLjQsMC45LTAuNiwxLjUtMC42czEuMSwwLjIsMS41LDAuNkw2NC4zLDM3QzY1LDM3LjcsNjUuMSwzOC40LDY0LjgsMzkuM3pcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiPkRyb3A8L2I+IGl0IGhlcmVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0eWxlVXJsczogW2AuL2ZpbGUtdXBsb2FkLWF0dHIuY29tcG9uZW50LnNjc3NgXSxcclxuICAgIHByb3ZpZGVyczogWyBcclxuICAgICAgICBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZEF0dHJpYnV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRyb2w6IEZpbGVVcGxvYWRDb250cm9sID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdvdmVybGF5JylcclxuICAgIHB1YmxpYyBvdmVybGF5OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdwbGFjZWhvbGRlcicpXHJcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgaG9va3M6IEFycmF5PEZ1bmN0aW9uPiA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudFxyXG4gICAgKSB7fVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eSh0aGlzLmNvbnRyb2wpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyBGaWxlVXBsb2FkQ29udHJvbCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLmlzRmlsZURyYWdEcm9wQXZhaWxhYmxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRFdmVudHMoKTtcclxuICAgICAgICAgICAgdGhpcy5jaGVja0FuZE1hcmtBc0Rpc2FibGVkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhvb2tzLmZvckVhY2goKGhvb2spID0+IGhvb2soKSk7XHJcbiAgICAgICAgdGhpcy5ob29rcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzY3JpcHRpb24pID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1maWxlcycpXHJcbiAgICBwdWJsaWMgZ2V0IGhhc0ZpbGVzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2wuaXNMaXN0VmlzaWJsZSAmJiB0aGlzLmNvbnRyb2wuc2l6ZSA+IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uZy1pbnZhbGlkJylcclxuICAgIHB1YmxpYyBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5jb250cm9sLmRpc2FibGVkICYmIHRoaXMuY29udHJvbC5pbnZhbGlkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0RXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIFsnZHJhZycsICdkcmFnc3RhcnQnLCAnZHJhZ2VuZCcsICdkcmFnb3ZlcicsICdkcmFnZW50ZXInLCAnZHJhZ2xlYXZlJywgJ2Ryb3AnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5wcmV2ZW50RHJhZ0V2ZW50cyhldmVudCkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIFsnZHJhZ292ZXInLCAnZHJhZ2VudGVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9va3MucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkRyYWdPdmVyKGV2ZW50KSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgWydkcmFnbGVhdmUnLCAnZHJhZ2VuZCcsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9va3MucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuY29udHJvbC5kaXNhYmxlZCAmJiBldmVudE5hbWUgPT09ICdkcmFnbGVhdmUnIHx8IGV2ZW50TmFtZSAhPT0gJ2RyYWdsZWF2ZScpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRyYWdMZWF2ZShldmVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgWydkcmFnbGVhdmUnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5vdmVybGF5Lm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50OiBhbnkpID0+IHRoaXMub25EcmFnTGVhdmUoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHRoaXMuY2hlY2tBbmRNYXJrQXNEaXNhYmxlZCgpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja0FuZE1hcmtBc0Rpc2FibGVkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcmV2ZW50RHJhZ0V2ZW50cyhldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uIGZpbGUgb3ZlciBhZGQgY2xhc3MgbmFtZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBEUkFHT1ZFUik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBvbiBtb3VzZSBvdXQgcmVtb3ZlIGNsYXNzIG5hbWVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIERSQUdPVkVSKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcztcclxuICAgICAgICB0aGlzLmNvbnRyb2wuYWRkRmlsZXMoZmlsZXMpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgVE9VQ0hFRCk7XHJcbiAgICB9O1xyXG5cclxufSJdfQ==

@@ -53,75 +53,5 @@ /**

selector: `file-upload-icon`,
template: `
<ng-container [ngSwitch]="true">
<svg *ngSwitchDefault viewBox="0 0 96 96">
<g>
<path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3
S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30
c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3
C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z"/>
</g>
</svg>
<svg *ngSwitchCase="isIcon('image')" viewBox="0 0 96 96">
<g>
<path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3
S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30
c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3
C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z
M65.1,58.7v10.7H30.9V63l6.4-6.4l4.3,4.3L54.4,48L65.1,58.7z M37.3,52.3c-1.8,0-3.3-0.6-4.6-1.9c-1.3-1.2-1.9-2.8-1.9-4.6
c0-1.8,0.6-3.3,1.9-4.6c1.3-1.2,2.8-1.9,4.6-1.9s3.3,0.6,4.6,1.9c1.3,1.3,1.9,2.8,1.9,4.6c0,1.8-0.6,3.3-1.9,4.6
C40.6,51.7,39.1,52.3,37.3,52.3z"/>
</g>
</svg>
<svg *ngSwitchCase="isIcon('audio')" viewBox="0 0 96 96">
<g>
<path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3
S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30
c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3
C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z
M43,46.5c0.4,0.2,0.7,0.5,0.7,1v18.2c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.5-0.1-0.8-0.3l-5.6-5.6h-4.4
c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8v-6.4c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h4.4l5.6-5.6
C42.2,46.4,42.6,46.3,43,46.5z M57,69.5c0.7,0,1.3-0.3,1.7-0.8c2.9-3.5,4.3-7.6,4.3-12.2s-1.4-8.6-4.3-12.2
c-0.4-0.5-0.8-0.7-1.4-0.8c-0.6-0.1-1.1,0.1-1.6,0.5c-0.5,0.4-0.7,0.9-0.8,1.5c-0.1,0.6,0.1,1.1,0.5,1.6c2.2,2.7,3.3,5.9,3.3,9.4
c0,3.5-1.1,6.7-3.3,9.4c-0.4,0.5-0.5,1-0.5,1.6c0.1,0.6,0.3,1.1,0.8,1.4C56.1,69.4,56.5,69.5,57,69.5z M49.9,64.6
c0.6,0,1.1-0.2,1.6-0.7c1.9-2.1,2.9-4.5,2.9-7.3s-1-5.3-2.9-7.3c-0.4-0.4-0.9-0.6-1.5-0.7c-0.6,0-1.1,0.2-1.5,0.6s-0.6,0.9-0.7,1.5
c0,0.6,0.2,1.1,0.6,1.6c1.2,1.3,1.7,2.7,1.7,4.4c0,1.7-0.6,3.1-1.7,4.4c-0.4,0.4-0.6,1-0.6,1.6c0,0.6,0.2,1.1,0.7,1.5
C48.9,64.4,49.4,64.6,49.9,64.6z"/>
</g>
</svg>
<svg *ngSwitchCase="isIcon('text')" viewBox="0 0 96 96">
<g>
<path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3
S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30
c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3
C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z
M35.1,44.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h23.6c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1
c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8V44.8z M59.8,52.3
c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3
c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z M59.8,60.9c0.3,0,0.6,0.1,0.8,0.3
c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3
c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z"/>
</g>
</svg>
<svg *ngSwitchCase="isIcon('video')" viewBox="0 0 96 96">
<g>
<path d="M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3
S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30
c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3
C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z
M48,43.7c1.2,0,2.2,0.4,3,1.3c0.8,0.8,1.3,1.9,1.3,3v12.9c0,1.2-0.4,2.2-1.3,3c-0.8,0.8-1.9,1.3-3,1.3H35.1c-1.2,0-2.2-0.4-3-1.3
c-0.8-0.8-1.3-1.9-1.3-3V48c0-1.2,0.4-2.2,1.3-3c0.8-0.8,1.9-1.3,3-1.3H48z M64.5,43.8c0.4,0.2,0.7,0.5,0.7,1v19.3
c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.6-0.1-0.8-0.3l-8.9-8.9v-3l8.9-8.9c0.2-0.2,0.5-0.3,0.8-0.3
C64.2,43.7,64.3,43.7,64.5,43.8z"/>
</g>
</svg>
</ng-container>`,
styles: [`:host{display:block;border:1px solid #eaeaea;border-radius:4px}:host svg{fill:#909293}`]
},] },
template: "\r\n\r\n<ng-container [ngSwitch]=\"true\">\r\n\r\n <svg *ngSwitchDefault viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('image')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M65.1,58.7v10.7H30.9V63l6.4-6.4l4.3,4.3L54.4,48L65.1,58.7z M37.3,52.3c-1.8,0-3.3-0.6-4.6-1.9c-1.3-1.2-1.9-2.8-1.9-4.6\r\n c0-1.8,0.6-3.3,1.9-4.6c1.3-1.2,2.8-1.9,4.6-1.9s3.3,0.6,4.6,1.9c1.3,1.3,1.9,2.8,1.9,4.6c0,1.8-0.6,3.3-1.9,4.6\r\n C40.6,51.7,39.1,52.3,37.3,52.3z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('audio')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M43,46.5c0.4,0.2,0.7,0.5,0.7,1v18.2c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.5-0.1-0.8-0.3l-5.6-5.6h-4.4\r\n c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8v-6.4c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h4.4l5.6-5.6\r\n C42.2,46.4,42.6,46.3,43,46.5z M57,69.5c0.7,0,1.3-0.3,1.7-0.8c2.9-3.5,4.3-7.6,4.3-12.2s-1.4-8.6-4.3-12.2\r\n c-0.4-0.5-0.8-0.7-1.4-0.8c-0.6-0.1-1.1,0.1-1.6,0.5c-0.5,0.4-0.7,0.9-0.8,1.5c-0.1,0.6,0.1,1.1,0.5,1.6c2.2,2.7,3.3,5.9,3.3,9.4\r\n c0,3.5-1.1,6.7-3.3,9.4c-0.4,0.5-0.5,1-0.5,1.6c0.1,0.6,0.3,1.1,0.8,1.4C56.1,69.4,56.5,69.5,57,69.5z M49.9,64.6\r\n c0.6,0,1.1-0.2,1.6-0.7c1.9-2.1,2.9-4.5,2.9-7.3s-1-5.3-2.9-7.3c-0.4-0.4-0.9-0.6-1.5-0.7c-0.6,0-1.1,0.2-1.5,0.6s-0.6,0.9-0.7,1.5\r\n c0,0.6,0.2,1.1,0.6,1.6c1.2,1.3,1.7,2.7,1.7,4.4c0,1.7-0.6,3.1-1.7,4.4c-0.4,0.4-0.6,1-0.6,1.6c0,0.6,0.2,1.1,0.7,1.5\r\n C48.9,64.4,49.4,64.6,49.9,64.6z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('text')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M35.1,44.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h23.6c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1\r\n c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8V44.8z M59.8,52.3\r\n c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\r\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z M59.8,60.9c0.3,0,0.6,0.1,0.8,0.3\r\n c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\r\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('video')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M48,43.7c1.2,0,2.2,0.4,3,1.3c0.8,0.8,1.3,1.9,1.3,3v12.9c0,1.2-0.4,2.2-1.3,3c-0.8,0.8-1.9,1.3-3,1.3H35.1c-1.2,0-2.2-0.4-3-1.3\r\n c-0.8-0.8-1.3-1.9-1.3-3V48c0-1.2,0.4-2.2,1.3-3c0.8-0.8,1.9-1.3,3-1.3H48z M64.5,43.8c0.4,0.2,0.7,0.5,0.7,1v19.3\r\n c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.6-0.1-0.8-0.3l-8.9-8.9v-3l8.9-8.9c0.2-0.2,0.5-0.3,0.8-0.3\r\n C64.2,43.7,64.3,43.7,64.5,43.8z\"/>\r\n </g>\r\n </svg>\r\n\r\n</ng-container>",
styles: [":host{display:block;border:1px solid #eaeaea;border-radius:4px}:host svg{fill:#909293}"]
}] }
];

@@ -143,2 +73,2 @@ /** @nocollapse */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC1pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUE4RXRFLE1BQU0sT0FBTyx1QkFBdUI7Ozs7SUFPaEMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFGakQsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQUdwQyxDQUFDOzs7O0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7Ozs7SUFFTSxNQUFNLENBQUMsSUFBMEM7UUFDcEQsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7b0JBQ3RELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSTtvQkFDakQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLO29CQUNsRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07b0JBQ25ELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztvQkFDbEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7WUFDakMsS0FBSyxPQUFPO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNO29CQUN0RCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7b0JBQ2xELElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDO1lBQ2pDLEtBQUssT0FBTztnQkFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztvQkFDckQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLO29CQUNsRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07b0JBQ25ELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDO1lBQ2hDLEtBQUssT0FBTztnQkFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtvQkFDdEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNO29CQUNuRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQztTQUM5RDtJQUNMLENBQUM7OztZQWhISixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dCQXNFRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyx3RkFBd0YsQ0FBQzthQUNyRzs7OztZQTdFUSxpQkFBaUI7OzttQkFnRnJCLEtBQUs7Ozs7SUFBTix1Q0FDa0I7O0lBRWxCLDJDQUFvQzs7SUFFeEIsb0RBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBgZmlsZS11cGxvYWQtaWNvbmAsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG5cclxuPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHJ1ZVwiPlxyXG5cclxuICAgIDxzdmcgKm5nU3dpdGNoRGVmYXVsdCB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgPGc+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNzEuNCwzMC43YzAuNiwwLjYsMS4yLDEuNSwxLjYsMi41YzAuNCwxLjEsMC43LDIuMSwwLjcsMi45djM4LjZjMCwwLjktMC4zLDEuNy0wLjksMi4zXHJcbiAgICAgICAgICAgICAgICBTNzEuNCw3OCw3MC41LDc4aC00NWMtMC45LDAtMS43LTAuMy0yLjMtMC45Yy0wLjYtMC42LTAuOS0xLjQtMC45LTIuM1YyMS4yYzAtMC45LDAuMy0xLjcsMC45LTIuM2MwLjYtMC42LDEuNC0wLjksMi4zLTAuOWgzMFxyXG4gICAgICAgICAgICAgICAgYzAuOSwwLDEuOSwwLjIsMi45LDAuN2MxLjEsMC40LDEuOSwxLDIuNSwxLjZMNzEuNCwzMC43eiBNNTYuNiwyMi42djEyLjZoMTIuNmMtMC4yLTAuNi0wLjUtMS4xLTAuNy0xLjRMNTcuOSwyMy4zXHJcbiAgICAgICAgICAgICAgICBDNTcuNywyMyw1Ny4yLDIyLjgsNTYuNiwyMi42eiBNNjkuNCw3My43VjM5LjRINTUuNWMtMC45LDAtMS43LTAuMy0yLjMtMC45Yy0wLjYtMC42LTAuOS0xLjQtMC45LTIuM1YyMi4zSDI2LjZ2NTEuNEg2OS40elwiLz5cclxuICAgICAgICA8L2c+XHJcbiAgICA8L3N2Zz5cclxuXHJcbiAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCJpc0ljb24oJ2ltYWdlJylcIiB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgPGc+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNzEuNCwzMC43YzAuNiwwLjYsMS4yLDEuNSwxLjYsMi41YzAuNCwxLjEsMC43LDIuMSwwLjcsMi45djM4LjZjMCwwLjktMC4zLDEuNy0wLjksMi4zXHJcbiAgICAgICAgICAgICAgICBTNzEuNCw3OCw3MC41LDc4aC00NWMtMC45LDAtMS43LTAuMy0yLjMtMC45Yy0wLjYtMC42LTAuOS0xLjQtMC45LTIuM1YyMS4yYzAtMC45LDAuMy0xLjcsMC45LTIuM2MwLjYtMC42LDEuNC0wLjksMi4zLTAuOWgzMFxyXG4gICAgICAgICAgICAgICAgYzAuOSwwLDEuOSwwLjIsMi45LDAuN2MxLjEsMC40LDEuOSwxLDIuNSwxLjZMNzEuNCwzMC43eiBNNTYuNiwyMi42djEyLjZoMTIuNmMtMC4yLTAuNi0wLjUtMS4xLTAuNy0xLjRMNTcuOSwyMy4zXHJcbiAgICAgICAgICAgICAgICBDNTcuNywyMyw1Ny4yLDIyLjgsNTYuNiwyMi42eiBNNjkuNCw3My43VjM5LjRINTUuNWMtMC45LDAtMS43LTAuMy0yLjMtMC45Yy0wLjYtMC42LTAuOS0xLjQtMC45LTIuM1YyMi4zSDI2LjZ2NTEuNEg2OS40elxyXG4gICAgICAgICAgICAgICAgTTY1LjEsNTguN3YxMC43SDMwLjlWNjNsNi40LTYuNGw0LjMsNC4zTDU0LjQsNDhMNjUuMSw1OC43eiBNMzcuMyw1Mi4zYy0xLjgsMC0zLjMtMC42LTQuNi0xLjljLTEuMy0xLjItMS45LTIuOC0xLjktNC42XHJcbiAgICAgICAgICAgICAgICBjMC0xLjgsMC42LTMuMywxLjktNC42YzEuMy0xLjIsMi44LTEuOSw0LjYtMS45czMuMywwLjYsNC42LDEuOWMxLjMsMS4zLDEuOSwyLjgsMS45LDQuNmMwLDEuOC0wLjYsMy4zLTEuOSw0LjZcclxuICAgICAgICAgICAgICAgIEM0MC42LDUxLjcsMzkuMSw1Mi4zLDM3LjMsNTIuM3pcIi8+XHJcbiAgICAgICAgPC9nPlxyXG4gICAgPC9zdmc+XHJcblxyXG4gICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiaXNJY29uKCdhdWRpbycpXCIgdmlld0JveD1cIjAgMCA5NiA5NlwiPlxyXG4gICAgICAgIDxnPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTcxLjQsMzAuN2MwLjYsMC42LDEuMiwxLjUsMS42LDIuNWMwLjQsMS4xLDAuNywyLjEsMC43LDIuOXYzOC42YzAsMC45LTAuMywxLjctMC45LDIuM1xyXG4gICAgICAgICAgICAgICAgUzcxLjQsNzgsNzAuNSw3OGgtNDVjLTAuOSwwLTEuNy0wLjMtMi4zLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjNWMjEuMmMwLTAuOSwwLjMtMS43LDAuOS0yLjNjMC42LTAuNiwxLjQtMC45LDIuMy0wLjloMzBcclxuICAgICAgICAgICAgICAgIGMwLjksMCwxLjksMC4yLDIuOSwwLjdjMS4xLDAuNCwxLjksMSwyLjUsMS42TDcxLjQsMzAuN3ogTTU2LjYsMjIuNnYxMi42aDEyLjZjLTAuMi0wLjYtMC41LTEuMS0wLjctMS40TDU3LjksMjMuM1xyXG4gICAgICAgICAgICAgICAgQzU3LjcsMjMsNTcuMiwyMi44LDU2LjYsMjIuNnogTTY5LjQsNzMuN1YzOS40SDU1LjVjLTAuOSwwLTEuNy0wLjMtMi4zLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjNWMjIuM0gyNi42djUxLjRINjkuNHpcclxuICAgICAgICAgICAgICAgIE00Myw0Ni41YzAuNCwwLjIsMC43LDAuNSwwLjcsMXYxOC4yYzAsMC41LTAuMiwwLjgtMC43LDFjLTAuMiwwLTAuMywwLjEtMC40LDAuMWMtMC4zLDAtMC41LTAuMS0wLjgtMC4zbC01LjYtNS42aC00LjRcclxuICAgICAgICAgICAgICAgIGMtMC4zLDAtMC42LTAuMS0wLjgtMC4zYy0wLjItMC4yLTAuMy0wLjUtMC4zLTAuOHYtNi40YzAtMC4zLDAuMS0wLjYsMC4zLTAuOGMwLjItMC4yLDAuNS0wLjMsMC44LTAuM2g0LjRsNS42LTUuNlxyXG4gICAgICAgICAgICAgICAgQzQyLjIsNDYuNCw0Mi42LDQ2LjMsNDMsNDYuNXogTTU3LDY5LjVjMC43LDAsMS4zLTAuMywxLjctMC44YzIuOS0zLjUsNC4zLTcuNiw0LjMtMTIuMnMtMS40LTguNi00LjMtMTIuMlxyXG4gICAgICAgICAgICAgICAgYy0wLjQtMC41LTAuOC0wLjctMS40LTAuOGMtMC42LTAuMS0xLjEsMC4xLTEuNiwwLjVjLTAuNSwwLjQtMC43LDAuOS0wLjgsMS41Yy0wLjEsMC42LDAuMSwxLjEsMC41LDEuNmMyLjIsMi43LDMuMyw1LjksMy4zLDkuNFxyXG4gICAgICAgICAgICAgICAgYzAsMy41LTEuMSw2LjctMy4zLDkuNGMtMC40LDAuNS0wLjUsMS0wLjUsMS42YzAuMSwwLjYsMC4zLDEuMSwwLjgsMS40QzU2LjEsNjkuNCw1Ni41LDY5LjUsNTcsNjkuNXogTTQ5LjksNjQuNlxyXG4gICAgICAgICAgICAgICAgYzAuNiwwLDEuMS0wLjIsMS42LTAuN2MxLjktMi4xLDIuOS00LjUsMi45LTcuM3MtMS01LjMtMi45LTcuM2MtMC40LTAuNC0wLjktMC42LTEuNS0wLjdjLTAuNiwwLTEuMSwwLjItMS41LDAuNnMtMC42LDAuOS0wLjcsMS41XHJcbiAgICAgICAgICAgICAgICBjMCwwLjYsMC4yLDEuMSwwLjYsMS42YzEuMiwxLjMsMS43LDIuNywxLjcsNC40YzAsMS43LTAuNiwzLjEtMS43LDQuNGMtMC40LDAuNC0wLjYsMS0wLjYsMS42YzAsMC42LDAuMiwxLjEsMC43LDEuNVxyXG4gICAgICAgICAgICAgICAgQzQ4LjksNjQuNCw0OS40LDY0LjYsNDkuOSw2NC42elwiLz5cclxuICAgICAgICA8L2c+XHJcbiAgICA8L3N2Zz5cclxuXHJcbiAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCJpc0ljb24oJ3RleHQnKVwiIHZpZXdCb3g9XCIwIDAgOTYgOTZcIj5cclxuICAgICAgICA8Zz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk03MS40LDMwLjdjMC42LDAuNiwxLjIsMS41LDEuNiwyLjVjMC40LDEuMSwwLjcsMi4xLDAuNywyLjl2MzguNmMwLDAuOS0wLjMsMS43LTAuOSwyLjNcclxuICAgICAgICAgICAgICAgIFM3MS40LDc4LDcwLjUsNzhoLTQ1Yy0wLjksMC0xLjctMC4zLTIuMy0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4zVjIxLjJjMC0wLjksMC4zLTEuNywwLjktMi4zYzAuNi0wLjYsMS40LTAuOSwyLjMtMC45aDMwXHJcbiAgICAgICAgICAgICAgICBjMC45LDAsMS45LDAuMiwyLjksMC43YzEuMSwwLjQsMS45LDEsMi41LDEuNkw3MS40LDMwLjd6IE01Ni42LDIyLjZ2MTIuNmgxMi42Yy0wLjItMC42LTAuNS0xLjEtMC43LTEuNEw1Ny45LDIzLjNcclxuICAgICAgICAgICAgICAgIEM1Ny43LDIzLDU3LjIsMjIuOCw1Ni42LDIyLjZ6IE02OS40LDczLjdWMzkuNEg1NS41Yy0wLjksMC0xLjctMC4zLTIuMy0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4zVjIyLjNIMjYuNnY1MS40SDY5LjR6XHJcbiAgICAgICAgICAgICAgICBNMzUuMSw0NC44YzAtMC4zLDAuMS0wLjYsMC4zLTAuOGMwLjItMC4yLDAuNS0wLjMsMC44LTAuM2gyMy42YzAuMywwLDAuNiwwLjEsMC44LDAuM2MwLjIsMC4yLDAuMywwLjUsMC4zLDAuOHYyLjFcclxuICAgICAgICAgICAgICAgIGMwLDAuMy0wLjEsMC42LTAuMywwLjhjLTAuMiwwLjItMC41LDAuMy0wLjgsMC4zSDM2LjJjLTAuMywwLTAuNi0wLjEtMC44LTAuM2MtMC4yLTAuMi0wLjMtMC41LTAuMy0wLjhWNDQuOHogTTU5LjgsNTIuM1xyXG4gICAgICAgICAgICAgICAgYzAuMywwLDAuNiwwLjEsMC44LDAuM2MwLjIsMC4yLDAuMywwLjUsMC4zLDAuOHYyLjFjMCwwLjMtMC4xLDAuNi0wLjMsMC44Yy0wLjIsMC4yLTAuNSwwLjMtMC44LDAuM0gzNi4yYy0wLjMsMC0wLjYtMC4xLTAuOC0wLjNcclxuICAgICAgICAgICAgICAgIGMtMC4yLTAuMi0wLjMtMC41LTAuMy0wLjh2LTIuMWMwLTAuMywwLjEtMC42LDAuMy0wLjhjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNINTkuOHogTTU5LjgsNjAuOWMwLjMsMCwwLjYsMC4xLDAuOCwwLjNcclxuICAgICAgICAgICAgICAgIGMwLjIsMC4yLDAuMywwLjUsMC4zLDAuOHYyLjFjMCwwLjMtMC4xLDAuNi0wLjMsMC44Yy0wLjIsMC4yLTAuNSwwLjMtMC44LDAuM0gzNi4yYy0wLjMsMC0wLjYtMC4xLTAuOC0wLjNcclxuICAgICAgICAgICAgICAgIGMtMC4yLTAuMi0wLjMtMC41LTAuMy0wLjh2LTIuMWMwLTAuMywwLjEtMC42LDAuMy0wLjhjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNINTkuOHpcIi8+XHJcbiAgICAgICAgPC9nPlxyXG4gICAgPC9zdmc+XHJcblxyXG4gICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiaXNJY29uKCd2aWRlbycpXCIgdmlld0JveD1cIjAgMCA5NiA5NlwiPlxyXG4gICAgICAgIDxnPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTcxLjQsMzAuN2MwLjYsMC42LDEuMiwxLjUsMS42LDIuNWMwLjQsMS4xLDAuNywyLjEsMC43LDIuOXYzOC42YzAsMC45LTAuMywxLjctMC45LDIuM1xyXG4gICAgICAgICAgICAgICAgUzcxLjQsNzgsNzAuNSw3OGgtNDVjLTAuOSwwLTEuNy0wLjMtMi4zLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjNWMjEuMmMwLTAuOSwwLjMtMS43LDAuOS0yLjNjMC42LTAuNiwxLjQtMC45LDIuMy0wLjloMzBcclxuICAgICAgICAgICAgICAgIGMwLjksMCwxLjksMC4yLDIuOSwwLjdjMS4xLDAuNCwxLjksMSwyLjUsMS42TDcxLjQsMzAuN3ogTTU2LjYsMjIuNnYxMi42aDEyLjZjLTAuMi0wLjYtMC41LTEuMS0wLjctMS40TDU3LjksMjMuM1xyXG4gICAgICAgICAgICAgICAgQzU3LjcsMjMsNTcuMiwyMi44LDU2LjYsMjIuNnogTTY5LjQsNzMuN1YzOS40SDU1LjVjLTAuOSwwLTEuNy0wLjMtMi4zLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjNWMjIuM0gyNi42djUxLjRINjkuNHpcclxuICAgICAgICAgICAgICAgIE00OCw0My43YzEuMiwwLDIuMiwwLjQsMywxLjNjMC44LDAuOCwxLjMsMS45LDEuMywzdjEyLjljMCwxLjItMC40LDIuMi0xLjMsM2MtMC44LDAuOC0xLjksMS4zLTMsMS4zSDM1LjFjLTEuMiwwLTIuMi0wLjQtMy0xLjNcclxuICAgICAgICAgICAgICAgIGMtMC44LTAuOC0xLjMtMS45LTEuMy0zVjQ4YzAtMS4yLDAuNC0yLjIsMS4zLTNjMC44LTAuOCwxLjktMS4zLDMtMS4zSDQ4eiBNNjQuNSw0My44YzAuNCwwLjIsMC43LDAuNSwwLjcsMXYxOS4zXHJcbiAgICAgICAgICAgICAgICBjMCwwLjUtMC4yLDAuOC0wLjcsMWMtMC4yLDAtMC4zLDAuMS0wLjQsMC4xYy0wLjMsMC0wLjYtMC4xLTAuOC0wLjNsLTguOS04Ljl2LTNsOC45LTguOWMwLjItMC4yLDAuNS0wLjMsMC44LTAuM1xyXG4gICAgICAgICAgICAgICAgQzY0LjIsNDMuNyw2NC4zLDQzLjcsNjQuNSw0My44elwiLz5cclxuICAgICAgICA8L2c+XHJcbiAgICA8L3N2Zz5cclxuXHJcbjwvbmctY29udGFpbmVyPmAsXHJcbiAgICBzdHlsZXM6IFtgOmhvc3R7ZGlzcGxheTpibG9jaztib3JkZXI6MXB4IHNvbGlkICNlYWVhZWE7Ym9yZGVyLXJhZGl1czo0cHh9Omhvc3Qgc3Zne2ZpbGw6IzkwOTI5M31gXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZTogRmlsZTtcclxuXHJcbiAgICBwdWJsaWMgZmlsZVR5cGU6IHN0cmluZyA9ICd1bmtub3duJztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZpbGVUeXBlID0gdGhpcy5maWxlVXBsb2FkU2VydmljZS5nZXRGaWxlVHlwZSh0aGlzLmZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0ljb24odHlwZTogJ3RleHQnIHwgJ2F1ZGlvJyB8ICd2aWRlbycgfCAnaW1hZ2UnKTogYm9vbGVhbiB7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3RleHQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZVR5cGUgPT09ICdodG1sJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnY3NzJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdjc3YnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdqcycgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAncGRmJyB8fCB0aGlzLmZpbGVUeXBlID09PSAncHB0JyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICd4bHMnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICd4bHN4JyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICd4bWwnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdkb2MnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ2RvY3gnO1xyXG4gICAgICAgICAgICBjYXNlICdhdWRpbyc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWxlVHlwZSA9PT0gJ2FhYycgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ21pZGknIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ29nYScgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ3dhdicgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnd2ViYSc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2ltYWdlJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbGVUeXBlID09PSAncG5nJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnYm1wJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdnaWYnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdqcGcnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ3N2ZycgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ3dlYnAnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ2ljbyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ3ZpZGVvJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbGVUeXBlID09PSAnYXZpJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnbXBlZycgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnb2d2JyB8fCB0aGlzLmZpbGVUeXBlID09PSAnd2VibScgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnM2dwJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnM2cyJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC1pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRdEUsTUFBTSxPQUFPLHVCQUF1Qjs7OztJQU9oQyxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUZqRCxhQUFRLEdBQVcsU0FBUyxDQUFDO0lBR3BDLENBQUM7Ozs7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs7OztJQUVNLE1BQU0sQ0FBQyxJQUEwQztRQUNwRCxRQUFRLElBQUksRUFBRTtZQUNWLEtBQUssTUFBTTtnQkFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztvQkFDdEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJO29CQUNqRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7b0JBQ2xELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtvQkFDbkQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLO29CQUNsRCxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQztZQUNqQyxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07b0JBQ3RELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztvQkFDbEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7WUFDakMsS0FBSyxPQUFPO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLO29CQUNyRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7b0JBQ2xELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtvQkFDbkQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUM7WUFDaEMsS0FBSyxPQUFPO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNO29CQUN0RCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07b0JBQ25ELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQzs7O1lBMUNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1Qiw0ckxBQWdEOzthQUVuRDs7OztZQVBRLGlCQUFpQjs7O21CQVVyQixLQUFLOzs7O0lBQU4sdUNBQ2tCOztJQUVsQiwyQ0FBb0M7O0lBRXhCLG9EQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogYGZpbGUtdXBsb2FkLWljb25gLFxyXG4gICAgdGVtcGxhdGVVcmw6IGAuL2ZpbGUtdXBsb2FkLWljb24uY29tcG9uZW50Lmh0bWxgLFxyXG4gICAgc3R5bGVVcmxzOiBbYC4vZmlsZS11cGxvYWQtaWNvbi5jb21wb25lbnQuc2Nzc2BdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmaWxlOiBGaWxlO1xyXG5cclxuICAgIHB1YmxpYyBmaWxlVHlwZTogc3RyaW5nID0gJ3Vua25vd24nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlsZVR5cGUgPSB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLmdldEZpbGVUeXBlKHRoaXMuZmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzSWNvbih0eXBlOiAndGV4dCcgfCAnYXVkaW8nIHwgJ3ZpZGVvJyB8ICdpbWFnZScpOiBib29sZWFuIHtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAndGV4dCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWxlVHlwZSA9PT0gJ2h0bWwnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdjc3MnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ2NzdicgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ2pzJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdwZGYnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdwcHQnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ3hscycgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ3hsc3gnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ3htbCcgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ2RvYycgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnZG9jeCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2F1ZGlvJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbGVUeXBlID09PSAnYWFjJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnbWlkaScgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnb2dhJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnd2F2JyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICd3ZWJhJztcclxuICAgICAgICAgICAgY2FzZSAnaW1hZ2UnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZVR5cGUgPT09ICdwbmcnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdibXAnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ2dpZicgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ2pwZycgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnc3ZnJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnd2VicCcgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnaWNvJztcclxuICAgICAgICAgICAgY2FzZSAndmlkZW8nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZVR5cGUgPT09ICdhdmknIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdtcGVnJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdvZ3YnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICd3ZWJtJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICczZ3AnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICczZzInO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=

@@ -55,4 +55,4 @@ /**

`,
styles: [`:host{display:block;font-size:14px;color:#646464}:host:after{clear:both;content:"\\0A0";display:block;height:0;line-height:0;visibility:hidden;zoom:1}file-upload-icon{float:left;width:30px;height:36px;margin:0 10px 0 0}.remove-btn{font-size:12px;cursor:pointer}.remove-btn svg{display:inline-block;vertical-align:-20%;height:18px;width:18px}`]
},] },
styles: [":host{display:block;font-size:14px;color:#646464}:host:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}file-upload-icon{float:left;width:30px;height:36px;margin:0 10px 0 0}.remove-btn{font-size:12px;cursor:pointer}.remove-btn svg{display:inline-block;vertical-align:-20%;height:18px;width:18px}"]
}] }
];

@@ -78,2 +78,2 @@ /** @nocollapse */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBNEJ0RSxNQUFNLE9BQU8sMkJBQTJCOzs7O0lBV3BDLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQ3hELENBQUM7Ozs7O0lBRU0sVUFBVSxDQUFDLElBQVU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Ozs7SUFFTSxhQUFhLENBQUMsSUFBWTtRQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7O1lBOUNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXFCVDtnQkFDRCxNQUFNLEVBQUUsQ0FBQyx1VkFBdVYsQ0FBQzthQUNwVzs7OztZQTNCUSxpQkFBaUI7OztvQkE4QnJCLEtBQUs7bUJBR0wsS0FBSztzQkFHTCxLQUFLOzs7O0lBTk4sNENBQ3FCOztJQUVyQiwyQ0FDa0I7O0lBRWxCLDhDQUNrQzs7SUFFdEIsd0RBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gJy4vLi4vaGVscGVycy9jb250cm9sLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogYGZpbGUtdXBsb2FkLWxpc3QtaXRlbWAsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPGZpbGUtdXBsb2FkLWljb24gW2ZpbGVdPVwiZmlsZVwiPjwvZmlsZS11cGxvYWQtaWNvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWluZm9cIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGZpbGUubmFtZSB9fTwvc3Bhbj4gKHt7IGNhbGN1bGF0ZVNpemUoIGZpbGUuc2l6ZSApIH19KVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1idXR0b25zXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJyZW1vdmUtYnRuXCIgKGNsaWNrKT1cInJlbW92ZUZpbGUoZmlsZSlcIj5cclxuICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgOTYgOTZcIj5cclxuICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQwLjUsNjYuOFYzOS4zYzAtMC40LTAuMS0wLjctMC40LTAuOVMzOS42LDM4LDM5LjMsMzhoLTIuNWMtMC40LDAtMC43LDAuMS0wLjksMC40XHJcbiAgICAgICAgICAgICAgICAgICAgcy0wLjQsMC41LTAuNCwwLjl2MjcuNWMwLDAuNCwwLjEsMC43LDAuNCwwLjlzMC41LDAuNCwwLjksMC40aDIuNWMwLjQsMCwwLjctMC4xLDAuOS0wLjRTNDAuNSw2Ny4xLDQwLjUsNjYuOHogTTUwLjUsNjYuOFYzOS4zXHJcbiAgICAgICAgICAgICAgICAgICAgYzAtMC40LTAuMS0wLjctMC40LTAuOVM0OS42LDM4LDQ5LjMsMzhoLTIuNWMtMC40LDAtMC43LDAuMS0wLjksMC40cy0wLjQsMC41LTAuNCwwLjl2MjcuNWMwLDAuNCwwLjEsMC43LDAuNCwwLjlzMC41LDAuNCwwLjksMC40XHJcbiAgICAgICAgICAgICAgICAgICAgaDIuNWMwLjQsMCwwLjctMC4xLDAuOS0wLjRTNTAuNSw2Ny4xLDUwLjUsNjYuOHogTTYwLjUsNjYuOFYzOS4zYzAtMC40LTAuMS0wLjctMC40LTAuOVM1OS42LDM4LDU5LjMsMzhoLTIuNVxyXG4gICAgICAgICAgICAgICAgICAgIGMtMC40LDAtMC43LDAuMS0wLjksMC40cy0wLjQsMC41LTAuNCwwLjl2MjcuNWMwLDAuNCwwLjEsMC43LDAuNCwwLjlzMC41LDAuNCwwLjksMC40aDIuNWMwLjQsMCwwLjctMC4xLDAuOS0wLjRcclxuICAgICAgICAgICAgICAgICAgICBTNjAuNSw2Ny4xLDYwLjUsNjYuOHogTTM5LjMsMjhoMTcuNWwtMS45LTQuNmMtMC4yLTAuMi0wLjQtMC40LTAuNy0wLjRINDEuOGMtMC4zLDAuMS0wLjUsMC4yLTAuNywwLjRMMzkuMywyOHogTTc1LjUsMjkuM3YyLjVcclxuICAgICAgICAgICAgICAgICAgICBjMCwwLjQtMC4xLDAuNy0wLjQsMC45Uzc0LjYsMzMsNzQuMywzM2gtMy44djM3YzAsMi4yLTAuNiw0LTEuOCw1LjZTNjYsNzgsNjQuMyw3OEgzMS44Yy0xLjcsMC0zLjItMC44LTQuNC0yLjNzLTEuOC0zLjQtMS44LTUuNVxyXG4gICAgICAgICAgICAgICAgICAgIFYzM2gtMy44Yy0wLjQsMC0wLjctMC4xLTAuOS0wLjRzLTAuNC0wLjUtMC40LTAuOXYtMi41YzAtMC40LDAuMS0wLjcsMC40LTAuOXMwLjUtMC40LDAuOS0wLjRoMTIuMWwyLjctNi41YzAuNC0xLDEuMS0xLjgsMi4xLTIuNVxyXG4gICAgICAgICAgICAgICAgICAgIHMyLTEsMy4xLTFoMTIuNWMxLDAsMi4xLDAuMywzLjEsMXMxLjcsMS41LDIuMSwyLjVsMi43LDYuNWgxMi4xYzAuNCwwLDAuNywwLjEsMC45LDAuNFM3NS41LDI4LjksNzUuNSwyOS4zelwiLz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgIDwvc3ZnPiBSZW1vdmU8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBzdHlsZXM6IFtgOmhvc3R7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTRweDtjb2xvcjojNjQ2NDY0fTpob3N0OmFmdGVye2NsZWFyOmJvdGg7Y29udGVudDpcIlxcXFwwQTBcIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO2xpbmUtaGVpZ2h0OjA7dmlzaWJpbGl0eTpoaWRkZW47em9vbToxfWZpbGUtdXBsb2FkLWljb257ZmxvYXQ6bGVmdDt3aWR0aDozMHB4O2hlaWdodDozNnB4O21hcmdpbjowIDEwcHggMCAwfS5yZW1vdmUtYnRue2ZvbnQtc2l6ZToxMnB4O2N1cnNvcjpwb2ludGVyfS5yZW1vdmUtYnRuIHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjotMjAlO2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9YF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRMaXN0SXRlbUNvbXBvbmVudCB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbmRleDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZTogRmlsZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRyb2w6IEZpbGVVcGxvYWRDb250cm9sO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZUZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZW1vdmVGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYWxjdWxhdGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkU2VydmljZS5jYWxjdWxhdGVTaXplKHNpemUpO1xyXG4gICAgfVxyXG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBNEJ0RSxNQUFNLE9BQU8sMkJBQTJCOzs7O0lBV3BDLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQ3hELENBQUM7Ozs7O0lBRU0sVUFBVSxDQUFDLElBQVU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Ozs7SUFFTSxhQUFhLENBQUMsSUFBWTtRQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7O1lBOUNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXFCVDs7YUFFSjs7OztZQTNCUSxpQkFBaUI7OztvQkE4QnJCLEtBQUs7bUJBR0wsS0FBSztzQkFHTCxLQUFLOzs7O0lBTk4sNENBQ3FCOztJQUVyQiwyQ0FDa0I7O0lBRWxCLDhDQUNrQzs7SUFFdEIsd0RBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gJy4vLi4vaGVscGVycy9jb250cm9sLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogYGZpbGUtdXBsb2FkLWxpc3QtaXRlbWAsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPGZpbGUtdXBsb2FkLWljb24gW2ZpbGVdPVwiZmlsZVwiPjwvZmlsZS11cGxvYWQtaWNvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWluZm9cIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGZpbGUubmFtZSB9fTwvc3Bhbj4gKHt7IGNhbGN1bGF0ZVNpemUoIGZpbGUuc2l6ZSApIH19KVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1idXR0b25zXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJyZW1vdmUtYnRuXCIgKGNsaWNrKT1cInJlbW92ZUZpbGUoZmlsZSlcIj5cclxuICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgOTYgOTZcIj5cclxuICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQwLjUsNjYuOFYzOS4zYzAtMC40LTAuMS0wLjctMC40LTAuOVMzOS42LDM4LDM5LjMsMzhoLTIuNWMtMC40LDAtMC43LDAuMS0wLjksMC40XHJcbiAgICAgICAgICAgICAgICAgICAgcy0wLjQsMC41LTAuNCwwLjl2MjcuNWMwLDAuNCwwLjEsMC43LDAuNCwwLjlzMC41LDAuNCwwLjksMC40aDIuNWMwLjQsMCwwLjctMC4xLDAuOS0wLjRTNDAuNSw2Ny4xLDQwLjUsNjYuOHogTTUwLjUsNjYuOFYzOS4zXHJcbiAgICAgICAgICAgICAgICAgICAgYzAtMC40LTAuMS0wLjctMC40LTAuOVM0OS42LDM4LDQ5LjMsMzhoLTIuNWMtMC40LDAtMC43LDAuMS0wLjksMC40cy0wLjQsMC41LTAuNCwwLjl2MjcuNWMwLDAuNCwwLjEsMC43LDAuNCwwLjlzMC41LDAuNCwwLjksMC40XHJcbiAgICAgICAgICAgICAgICAgICAgaDIuNWMwLjQsMCwwLjctMC4xLDAuOS0wLjRTNTAuNSw2Ny4xLDUwLjUsNjYuOHogTTYwLjUsNjYuOFYzOS4zYzAtMC40LTAuMS0wLjctMC40LTAuOVM1OS42LDM4LDU5LjMsMzhoLTIuNVxyXG4gICAgICAgICAgICAgICAgICAgIGMtMC40LDAtMC43LDAuMS0wLjksMC40cy0wLjQsMC41LTAuNCwwLjl2MjcuNWMwLDAuNCwwLjEsMC43LDAuNCwwLjlzMC41LDAuNCwwLjksMC40aDIuNWMwLjQsMCwwLjctMC4xLDAuOS0wLjRcclxuICAgICAgICAgICAgICAgICAgICBTNjAuNSw2Ny4xLDYwLjUsNjYuOHogTTM5LjMsMjhoMTcuNWwtMS45LTQuNmMtMC4yLTAuMi0wLjQtMC40LTAuNy0wLjRINDEuOGMtMC4zLDAuMS0wLjUsMC4yLTAuNywwLjRMMzkuMywyOHogTTc1LjUsMjkuM3YyLjVcclxuICAgICAgICAgICAgICAgICAgICBjMCwwLjQtMC4xLDAuNy0wLjQsMC45Uzc0LjYsMzMsNzQuMywzM2gtMy44djM3YzAsMi4yLTAuNiw0LTEuOCw1LjZTNjYsNzgsNjQuMyw3OEgzMS44Yy0xLjcsMC0zLjItMC44LTQuNC0yLjNzLTEuOC0zLjQtMS44LTUuNVxyXG4gICAgICAgICAgICAgICAgICAgIFYzM2gtMy44Yy0wLjQsMC0wLjctMC4xLTAuOS0wLjRzLTAuNC0wLjUtMC40LTAuOXYtMi41YzAtMC40LDAuMS0wLjcsMC40LTAuOXMwLjUtMC40LDAuOS0wLjRoMTIuMWwyLjctNi41YzAuNC0xLDEuMS0xLjgsMi4xLTIuNVxyXG4gICAgICAgICAgICAgICAgICAgIHMyLTEsMy4xLTFoMTIuNWMxLDAsMi4xLDAuMywzLjEsMXMxLjcsMS41LDIuMSwyLjVsMi43LDYuNWgxMi4xYzAuNCwwLDAuNywwLjEsMC45LDAuNFM3NS41LDI4LjksNzUuNSwyOS4zelwiLz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgIDwvc3ZnPiBSZW1vdmU8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBzdHlsZVVybHM6IFtgLi9maWxlLXVwbG9hZC1saXN0LWl0ZW0uY29tcG9uZW50LnNjc3NgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZExpc3RJdGVtQ29tcG9uZW50IHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGluZGV4OiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmaWxlOiBGaWxlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29udHJvbDogRmlsZVVwbG9hZENvbnRyb2w7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlRmlsZShmaWxlOiBGaWxlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnJlbW92ZUZpbGUoZmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhbGN1bGF0ZVNpemUoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgIHJldHVybiB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLmNhbGN1bGF0ZVNpemUoc2l6ZSk7XHJcbiAgICB9XHJcbn0iXX0=

@@ -11,2 +11,4 @@ /**

import { FileUploadService } from './../services/file-upload.service';
import { InsertAnimation } from './../animations/insert.animation';
import { ZoomAnimation } from './../animations/zoom.animation';
/** @type {?} */

@@ -37,2 +39,7 @@ export const DRAGOVER = 'dragover';

};
/**
* animation fields
*/
this.zoomText = 'static';
this.listVisible = false;
this.hooks = [];

@@ -92,3 +99,4 @@ this.subscriptions = [];

this.subscriptions.push(this.control.statusChanges.subscribe((status) => this.checkAndMarkAsDisabled()));
this.subscriptions.push(this.control.valueChanges.subscribe((files) => this.cdr.markForCheck()));
this.subscriptions.push(this.control.valueChanges.subscribe((files) => this.renderView()));
this.subscriptions.push(this.control.listVisibilityChanges.subscribe((status) => this.toggleListVisibility()));
}

@@ -117,2 +125,36 @@ /**

/**
* @return {?}
*/
renderView() {
if (!this.listVisible) {
this.zoomText = this.control.isListVisible && this.control.size > 0 ? 'zoomOut' : 'static';
}
this.cdr.markForCheck();
}
/**
* @return {?}
*/
showList() {
if (this.zoomText !== 'static') {
this.listVisible = true;
}
}
/**
* @return {?}
*/
hideList() {
this.listVisible = false;
}
/**
* @return {?}
*/
toggleListVisibility() {
this.listVisible = this.control.isListVisible && this.control.size > 0;
if (this.listVisible) {
this.renderer.addClass(this.hostElementRef.nativeElement, 'list-visible');
this.zoomText = 'static';
}
this.cdr.markForCheck();
}
/**
* on file over add class name

@@ -205,2 +247,37 @@ * @param {?} event

}
/**
* @param {?} event
* @return {?}
*/
zoomAnimationDone(event) {
if (this.control.isListVisible && this.control.size > 0) {
this.showList();
}
else {
this.hideList();
}
if (event.fromState === 'static' && event.toState === 'zoomOut') {
this.renderer.addClass(this.hostElementRef.nativeElement, 'hide-text');
}
else {
this.renderer.removeClass(this.hostElementRef.nativeElement, 'hide-text');
}
if (event.toState === 'zoomIn') {
this.zoomText = 'static';
}
}
/**
* @param {?} event
* @return {?}
*/
animationListFinished(event) {
if (event.toState === 'void') {
this.zoomText = 'zoomIn';
this.renderer.removeClass(this.hostElementRef.nativeElement, 'list-visible');
}
if (event.fromState === 'void') {
this.zoomText = 'static';
this.renderer.addClass(this.hostElementRef.nativeElement, 'list-visible');
}
}
}

@@ -210,46 +287,3 @@ FileUploadComponent.decorators = [

selector: `file-upload`,
template: `<label class="upload-input">
<ng-container *ngTemplateOutlet="templateRef ? templateRef : defaultTemplate; context: templateContext"></ng-container>
<ng-template #defaultTemplate let-isFileDragDropAvailable="isFileDragDropAvailable">
<div class="icon">
<svg viewBox="0 0 96 96">
<g>
<path d="M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6
c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1
c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5
s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2
c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2
c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3
h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5
c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3
c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z"/>
</g>
</svg>
</div>
<div class="upload-text">
<ng-container *ngIf="isFileDragDropAvailable; else isNotDragDropAvailable">
<b>Drag and drop</b> files<br> or click here
</ng-container>
<ng-template #isNotDragDropAvailable>
<b>Click here</b> to<br> choose a files
</ng-template>
</div>
</ng-template>
<input #inputRef type="file" class="files-input" multiple (change)="onInputChange($event)">
</label>
<div class="upload-list" *ngIf="(control.listVisibilityChanges | async) && control.size > 0">
<ng-template ngFor let-file let-i="index" [ngForOf]="control.valueChanges | async">
<ng-container *ngTemplateOutlet="listItem ? listItem : defaultItemTemplate; context: { $implicit: file, file: file, index: i, control: control }"></ng-container>
</ng-template>
<ng-template #defaultItemTemplate let-i="index" let-file="file" let-control="control">
<file-upload-list-item [index]="i" [file]="file" [control]="control"></file-upload-list-item>
</ng-template>
</div>`,
styles: [`:host,:host>*{box-sizing:border-box}:host{overflow:hidden;display:block;background:#fafafa;padding:20px 66px 20px 20px;min-height:140px;outline:#92b0b3 dashed 1px;outline-offset:-10px;position:relative}:host(.dragover){outline-width:2px}:host(.disabled){opacity:.5;cursor:no-drop}.files-input{width:.1px;height:.1px;opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;float:left;margin-right:20px}:host(.has-files) .icon{margin:0}.icon svg{fill:#909293}.upload-input:after{clear:both;content:"\\0A0";display:block;height:0;line-height:0;visibility:hidden;zoom:1}.upload-input{cursor:pointer;display:inline-block;color:#646464;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:all .15s ease-in-out}:host(.disabled) .upload-input{cursor:not-allowed}:host(.has-files) .upload-input{top:20px;left:100%;margin-left:-20px;-webkit-transform:translate(-100%,0);transform:translate(-100%,0);text-align:center}.upload-text{overflow:hidden;width:auto}:host(.has-files) .upload-text{display:none}:host(.dragover:not(.disabled)) .upload-input,:host(:not(.disabled)) .upload-input:hover{color:#80a9d2}:host(.dragover:not(.disabled)) .icon svg,:host(:not(.disabled)) .upload-input:hover svg{fill:#80a9d2}:host(:not(.disabled)) .upload-input:hover .icon{border-color:#80a9d2}file-upload-list-item{padding:10px 0 0}file-upload-list-item:first-child{padding:0}`],
template: "<label class=\"upload-input\" [@zoomAnimation]=\"zoomText\" (@zoomAnimation.done)=\"zoomAnimationDone($event)\">\r\n\r\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : defaultTemplate; context: templateContext\"></ng-container>\r\n\r\n <ng-template #defaultTemplate let-isFileDragDropAvailable=\"isFileDragDropAvailable\">\r\n <div class=\"icon\">\r\n <svg viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\r\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\r\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\r\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\r\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\r\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\r\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\r\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\r\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z\"/>\r\n </g>\r\n </svg>\r\n </div>\r\n \r\n <div class=\"upload-text\">\r\n <ng-container *ngIf=\"isFileDragDropAvailable; else isNotDragDropAvailable\">\r\n <b>Drag and drop</b> files<br> or click here\r\n </ng-container>\r\n <ng-template #isNotDragDropAvailable>\r\n <b>Click here</b> to<br> choose a files\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n\r\n <input #inputRef type=\"file\" class=\"files-input\" multiple (change)=\"onInputChange($event)\">\r\n</label>\r\n\r\n<div class=\"upload-list\" *ngIf=\"(control.listVisibilityChanges | async) && control.size > 0 && listVisible\" [@insertAnimation]=\"control.size\" (@insertAnimation.done)=\"animationListFinished($event)\">\r\n <ng-template ngFor let-file let-i=\"index\" [ngForOf]=\"control.valueChanges | async\">\r\n <ng-container *ngTemplateOutlet=\"listItem ? listItem : defaultItemTemplate; context: { $implicit: file, file: file, index: i, control: control }\"></ng-container>\r\n </ng-template>\r\n \r\n <ng-template #defaultItemTemplate let-i=\"index\" let-file=\"file\" let-control=\"control\">\r\n <file-upload-list-item [index]=\"i\" [file]=\"file\" [control]=\"control\"></file-upload-list-item>\r\n </ng-template>\r\n</div>",
providers: [

@@ -263,4 +297,9 @@ FileUploadService,

],
changeDetection: ChangeDetectionStrategy.OnPush
},] },
changeDetection: ChangeDetectionStrategy.OnPush,
animations: [
ZoomAnimation,
InsertAnimation
],
styles: [":host,:host>*{box-sizing:border-box}:host{overflow:hidden;display:block;background:#fafafa;padding:20px 66px 20px 20px;min-height:140px;outline:#92b0b3 dashed 1px;outline-offset:-10px;position:relative}:host(.dragover){outline-width:2px}:host(.disabled){opacity:.5;cursor:no-drop}.files-input{width:.1px;height:.1px;opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;float:left}.icon svg{fill:#909293}.upload-input:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}.upload-input{cursor:pointer;display:inline-block;color:#646464;position:absolute;top:50%;left:50%;margin:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}:host(.disabled) .upload-input{cursor:not-allowed}:host(.list-visible) .upload-input{top:20px;left:100%;margin-left:-20px;-webkit-transform:translate(-100%,0);transform:translate(-100%,0);text-align:center}.upload-text{overflow:hidden;width:auto;position:relative;padding-left:20px}:host(.hide-text) .upload-input{opacity:0}:host(.list-visible) .upload-text{display:none}:host(.dragover:not(.disabled)) .upload-input,:host(:not(.disabled)) .upload-input:hover{color:#80a9d2}:host(.dragover:not(.disabled)) .icon svg,:host(:not(.disabled)) .upload-input:hover svg{fill:#80a9d2}file-upload-list-item{padding:10px 0 0}file-upload-list-item:first-child{padding:0}"]
}] }
];

@@ -295,3 +334,10 @@ /** @nocollapse */

FileUploadComponent.prototype.templateContext;
/**
* animation fields
* @type {?}
*/
FileUploadComponent.prototype.zoomText;
/** @type {?} */
FileUploadComponent.prototype.listVisible;
/** @type {?} */
FileUploadComponent.prototype.hooks;

@@ -315,2 +361,2 @@ /** @type {?} */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUd0RSxNQUFNLE9BQU8sUUFBUSxHQUFHLFVBQVU7O0FBQ2xDLE1BQU0sT0FBTyxPQUFPLEdBQUcsWUFBWTtBQTBEbkMsTUFBTSxPQUFPLG1CQUFtQjs7Ozs7Ozs7SUF1QjVCLFlBQ1csaUJBQW9DLEVBQ25DLGNBQTBCLEVBQzFCLFFBQW1CLEVBQ0QsUUFBUSxFQUMxQixHQUFzQjtRQUp2QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUFZO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDRCxhQUFRLEdBQVIsUUFBUSxDQUFBO1FBQzFCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBekIzQixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUdsQyxnQkFBVyxHQUFxQixJ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bEJ0QixVQUFVO1lBRVYsU0FBUzs0Q0F5R0osTUFBTSxTQUFDLFFBQVE7WUFoR3BCLGlCQUFpQjs7O3NCQXVFaEIsS0FBSzswQkFHTCxZQUFZLFNBQUMsYUFBYTt1QkFHMUIsWUFBWSxTQUFDLE1BQU07b0JBR25CLFNBQVMsU0FBQyxVQUFVO3VCQXNDcEIsV0FBVyxTQUFDLGlCQUFpQjt3QkFLN0IsV0FBVyxTQUFDLGtCQUFrQjtxQkE4RDlCLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUFsSGhDLHNDQUN5Qzs7SUFFekMsMENBQzRDOztJQUU1Qyx1Q0FDeUM7O0lBRXpDLG9DQUMyQzs7SUFFM0MsOENBR0U7O0lBRUYsb0NBQW9DOztJQUVwQyw0Q0FBZ0Q7O0lBeUloRCx1Q0FBc0Q7O0lBVXRELHNDQUVFOztJQWxKRSxnREFBMkM7O0lBQzNDLDZDQUFrQzs7SUFDbEMsdUNBQTJCOztJQUMzQix1Q0FBa0M7O0lBQ2xDLGtDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIEluamVjdCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb250ZW50Q2hpbGQsXHJcbiAgICBmb3J3YXJkUmVmLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gJy4vLi4vaGVscGVycy9jb250cm9sLmNsYXNzJztcclxuaW1wb3J0IHsgSXNOdWxsT3JFbXB0eSB9IGZyb20gJy4vLi4vaGVscGVycy9oZWxwZXJzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjb25zdCBEUkFHT1ZFUiA9ICdkcmFnb3Zlcic7XHJcbmV4cG9ydCBjb25zdCBUT1VDSEVEID0gJ25nLXRvdWNoZWQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogYGZpbGUtdXBsb2FkYCxcclxuICAgIHRlbXBsYXRlOiBgPGxhYmVsIGNsYXNzPVwidXBsb2FkLWlucHV0XCI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmVmID8gdGVtcGxhdGVSZWYgOiBkZWZhdWx0VGVtcGxhdGU7IGNvbnRleHQ6IHRlbXBsYXRlQ29udGV4dFwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlIGxldC1pc0ZpbGVEcmFnRHJvcEF2YWlsYWJsZT1cImlzRmlsZURyYWdEcm9wQXZhaWxhYmxlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgICAgICAgICA8Zz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYyLjgsNjguMWMwLTAuNi0wLjItMS4xLTAuNi0xLjVjLTAuNC0wLjQtMC45LTAuNi0xLjUtMC42cy0xLjEsMC4yLTEuNSwwLjZcclxuICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjQsMC40LTAuNiwwLjktMC42LDEuNWMwLDAuNiwwLjIsMS4xLDAuNiwxLjVjMC40LDAuNCwwLjksMC42LDEuNSwwLjZzMS4xLTAuMiwxLjUtMC42UzYyLjgsNjguNyw2Mi44LDY4LjF6IE03MS4zLDY4LjFcclxuICAgICAgICAgICAgICAgICAgICAgICAgYzAtMC42LTAuMi0xLjEtMC42LTEuNWMtMC40LTAuNC0wLjktMC42LTEuNS0wLjZjLTAuNiwwLTEuMSwwLjItMS41LDAuNkM2Ny4yLDY3LDY3LDY3LjUsNjcsNjguMWMwLDAuNiwwLjIsMS4xLDAuNiwxLjVcclxuICAgICAgICAgICAgICAgICAgICAgICAgczAuOSwwLjYsMS41LDAuNmMwLjYsMCwxLjEtMC4yLDEuNS0wLjZDNzEuMSw2OS4yLDcxLjMsNjguNyw3MS4zLDY4LjF6IE03NS41LDYwLjd2MTAuNmMwLDAuOS0wLjMsMS42LTAuOSwyLjJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjYsMC42LTEuNCwwLjktMi4yLDAuOUgyMy43Yy0wLjksMC0xLjYtMC4zLTIuMi0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4yVjYwLjdjMC0wLjksMC4zLTEuNiwwLjktMi4yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGMwLjYtMC42LDEuNC0wLjksMi4yLTAuOWgxNC4xYzAuNSwxLjIsMS4yLDIuMiwyLjMsM2MxLjEsMC44LDIuMywxLjIsMy43LDEuMmg4LjVjMS4zLDAsMi42LTAuNCwzLjctMS4yYzEuMS0wLjgsMS45LTEuOCwyLjMtM1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoMTQuMWMwLjksMCwxLjYsMC4zLDIuMiwwLjlDNzUuMiw1OS4xLDc1LjUsNTkuOCw3NS41LDYwLjd6IE02NC44LDM5LjNjLTAuNCwwLjktMSwxLjMtMiwxLjNoLTguNXYxNC44YzAsMC42LTAuMiwxLjEtMC42LDEuNVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLjQtMC45LDAuNi0xLjUsMC42aC04LjVjLTAuNiwwLTEuMS0wLjItMS41LTAuNmMtMC40LTAuNC0wLjYtMC45LTAuNi0xLjVWNDAuNmgtOC41Yy0wLjksMC0xLjYtMC40LTItMS4zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGMtMC40LTAuOS0wLjItMS42LDAuNS0yLjNsMTQuOC0xNC44YzAuNC0wLjQsMC45LTAuNiwxLjUtMC42czEuMSwwLjIsMS41LDAuNkw2NC4zLDM3QzY1LDM3LjcsNjUuMSwzOC40LDY0LjgsMzkuM3pcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC10ZXh0XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpbGVEcmFnRHJvcEF2YWlsYWJsZTsgZWxzZSBpc05vdERyYWdEcm9wQXZhaWxhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICA8Yj5EcmFnIGFuZCBkcm9wPC9iPiBmaWxlczxicj4gb3IgY2xpY2sgaGVyZVxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpc05vdERyYWdEcm9wQXZhaWxhYmxlPlxyXG4gICAgICAgICAgICAgICAgPGI+Q2xpY2sgaGVyZTwvYj4gdG88YnI+IGNob29zZSBhIGZpbGVzXHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxpbnB1dCAjaW5wdXRSZWYgdHlwZT1cImZpbGVcIiBjbGFzcz1cImZpbGVzLWlucHV0XCIgbXVsdGlwbGUgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIj5cclxuPC9sYWJlbD5cclxuXHJcbjxkaXYgY2xhc3M9XCJ1cGxvYWQtbGlzdFwiICpuZ0lmPVwiKGNvbnRyb2wubGlzdFZpc2liaWxpdHlDaGFuZ2VzIHwgYXN5bmMpICYmIGNvbnRyb2wuc2l6ZSA+IDBcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtZmlsZSBsZXQtaT1cImluZGV4XCIgW25nRm9yT2ZdPVwiY29udHJvbC52YWx1ZUNoYW5nZXMgfCBhc3luY1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0SXRlbSA/IGxpc3RJdGVtIDogZGVmYXVsdEl0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGZpbGUsIGZpbGU6IGZpbGUsIGluZGV4OiBpLCBjb250cm9sOiBjb250cm9sIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBcclxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZSBsZXQtaT1cImluZGV4XCIgbGV0LWZpbGU9XCJmaWxlXCIgbGV0LWNvbnRyb2w9XCJjb250cm9sXCI+XHJcbiAgICAgICAgPGZpbGUtdXBsb2FkLWxpc3QtaXRlbSAgW2luZGV4XT1cImlcIiBbZmlsZV09XCJmaWxlXCIgW2NvbnRyb2xdPVwiY29udHJvbFwiPjwvZmlsZS11cGxvYWQtbGlzdC1pdGVtPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+YCxcclxuICAgIHN0eWxlczogW2A6aG9zdCw6aG9zdD4qe2JveC1zaXppbmc6Ym9yZGVyLWJveH06aG9zdHtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOiNmYWZhZmE7cGFkZGluZzoyMHB4IDY2cHggMjBweCAyMHB4O21pbi1oZWlnaHQ6MTQwcHg7b3V0bGluZTojOTJiMGIzIGRhc2hlZCAxcHg7b3V0bGluZS1vZmZzZXQ6LTEwcHg7cG9zaXRpb246cmVsYXRpdmV9Omhvc3QoLmRyYWdvdmVyKXtvdXRsaW5lLXdpZHRoOjJweH06aG9zdCguZGlzYWJsZWQpe29wYWNpdHk6LjU7Y3Vyc29yOm5vLWRyb3B9LmZpbGVzLWlucHV0e3dpZHRoOi4xcHg7aGVpZ2h0Oi4xcHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTEwMCU7dG9wOi0xMDAlO292ZXJmbG93OmhpZGRlbn0uaWNvbntoZWlnaHQ6MzVweDt3aWR0aDozNXB4O2JvcmRlcjoxcHggc29saWQgI2VhZWFlYTtib3JkZXItcmFkaXVzOjRweDtmbG9hdDpsZWZ0O21hcmdpbi1yaWdodDoyMHB4fTpob3N0KC5oYXMtZmlsZXMpIC5pY29ue21hcmdpbjowfS5pY29uIHN2Z3tmaWxsOiM5MDkyOTN9LnVwbG9hZC1pbnB1dDphZnRlcntjbGVhcjpib3RoO2NvbnRlbnQ6XCJcXFxcMEEwXCI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtsaW5lLWhlaWdodDowO3Zpc2liaWxpdHk6aGlkZGVuO3pvb206MX0udXBsb2FkLWlucHV0e2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM2NDY0NjQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNpdGlvbjphbGwgLjE1cyBlYXNlLWluLW91dH06aG9zdCguZGlzYWJsZWQpIC51cGxvYWQtaW5wdXR7Y3Vyc29yOm5vdC1hbGxvd2VkfTpob3N0KC5oYXMtZmlsZXMpIC51cGxvYWQtaW5wdXR7dG9wOjIwcHg7bGVmdDoxMDAlO21hcmdpbi1sZWZ0Oi0yMHB4Oy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlLDApO3RleHQtYWxpZ246Y2VudGVyfS51cGxvYWQtdGV4dHtvdmVyZmxvdzpoaWRkZW47d2lkdGg6YXV0b306aG9zdCguaGFzLWZpbGVzKSAudXBsb2FkLXRleHR7ZGlzcGxheTpub25lfTpob3N0KC5kcmFnb3Zlcjpub3QoLmRpc2FibGVkKSkgLnVwbG9hZC1pbnB1dCw6aG9zdCg6bm90KC5kaXNhYmxlZCkpIC51cGxvYWQtaW5wdXQ6aG92ZXJ7Y29sb3I6IzgwYTlkMn06aG9zdCguZHJhZ292ZXI6bm90KC5kaXNhYmxlZCkpIC5pY29uIHN2Zyw6aG9zdCg6bm90KC5kaXNhYmxlZCkpIC51cGxvYWQtaW5wdXQ6aG92ZXIgc3Zne2ZpbGw6IzgwYTlkMn06aG9zdCg6bm90KC5kaXNhYmxlZCkpIC51cGxvYWQtaW5wdXQ6aG92ZXIgLmljb257Ym9yZGVyLWNvbG9yOiM4MGE5ZDJ9ZmlsZS11cGxvYWQtbGlzdC1pdGVte3BhZGRpbmc6MTBweCAwIDB9ZmlsZS11cGxvYWQtbGlzdC1pdGVtOmZpcnN0LWNoaWxke3BhZGRpbmc6MH1gXSxcclxuICAgIHByb3ZpZGVyczogWyBcclxuICAgICAgICBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlVXBsb2FkQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29udHJvbDogRmlsZVVwbG9hZENvbnRyb2wgPSBudWxsO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoJ3BsYWNlaG9sZGVyJylcclxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZCgnaXRlbScpXHJcbiAgICBwdWJsaWMgbGlzdEl0ZW06IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJylcclxuICAgIHB1YmxpYyBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgICBwdWJsaWMgdGVtcGxhdGVDb250ZXh0ID0ge1xyXG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5maWxlVXBsb2FkU2VydmljZS5pc0ZpbGVEcmFnRHJvcEF2YWlsYWJsZSgpLFxyXG4gICAgICAgIGlzRmlsZURyYWdEcm9wQXZhaWxhYmxlOiB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLmlzRmlsZURyYWdEcm9wQXZhaWxhYmxlKClcclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBob29rczogQXJyYXk8RnVuY3Rpb24+ID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGhvc3RFbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50LFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7fVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eSh0aGlzLmNvbnRyb2wpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyBGaWxlVXBsb2FkQ29udHJvbCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXRFdmVudHMoKTtcclxuICAgICAgICB0aGlzLmNoZWNrQW5kTWFya0FzRGlzYWJsZWQoKTtcclxuICAgICAgICB0aGlzLmNvbm5lY3RUb0Zvcm0oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy5ob29rcy5mb3JFYWNoKChob29rKSA9PiBob29rKCkpO1xyXG4gICAgICAgIHRoaXMuaG9va3MubGVuZ3RoID0gMDtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aCA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtZmlsZXMnKVxyXG4gICAgcHVibGljIGdldCBoYXNGaWxlcygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sLmlzTGlzdFZpc2libGUgJiYgdGhpcy5jb250cm9sLnNpemUgPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubmctaW52YWxpZCcpXHJcbiAgICBwdWJsaWMgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuY29udHJvbC5kaXNhYmxlZCAmJiB0aGlzLmNvbnRyb2wuaW52YWxpZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEV2ZW50cygpOiB2b2lkIHtcclxuICAgICAgICBbJ2RyYWcnLCAnZHJhZ3N0YXJ0JywgJ2RyYWdlbmQnLCAnZHJhZ292ZXInLCAnZHJhZ2VudGVyJywgJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9va3MucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50OiBhbnkpID0+IHRoaXMucHJldmVudERyYWdFdmVudHMoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBbJ2RyYWdvdmVyJywgJ2RyYWdlbnRlciddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50OiBhbnkpID0+IHRoaXMub25EcmFnT3ZlcihldmVudCkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIFsnZHJhZ2xlYXZlJywgJ2RyYWdlbmQnLCAnZHJvcCddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50OiBhbnkpID0+IHRoaXMub25EcmFnTGVhdmUoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHRoaXMuY2hlY2tBbmRNYXJrQXNEaXNhYmxlZCgpKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZmlsZXMpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja0FuZE1hcmtBc0Rpc2FibGVkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByZXZlbnREcmFnRXZlbnRzKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogb24gZmlsZSBvdmVyIGFkZCBjbGFzcyBuYW1lXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIERSQUdPVkVSKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uIG1vdXNlIG91dCByZW1vdmUgY2xhc3MgbmFtZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgRFJBR09WRVIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5hZGRGaWxlcyhmaWxlcyk7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSAoZXZlbnQudGFyZ2V0KSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuYWRkRmlsZXMoaW5wdXQuZmlsZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNsZWFySW5wdXRFbCgpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2xlYXJJbnB1dEVsKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb250cm9sVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRhdGlvblxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNvbm5lY3RUb0Zvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2KSA9PiB0aGlzLm9uQ2hhbmdlKHYpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgIC8qKlxyXG4gICAgICAqIG1vZGVsIC0+IHZpZXcgY2hhbmdlc1xyXG4gICAgICAqL1xyXG4gICAgcHVibGljIHdyaXRlVmFsdWUoZmlsZXM6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChmaWxlcyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShmaWxlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2OiBBcnJheTxGaWxlPikgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogcmVnaXN0ZXIgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBjYWxsZWQgb24gVUkgY2hhbmdlXHJcbiAgICAgKiB0byB1cGRhdGUgdmlldyAtPiBtb2RlbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHY6IEFycmF5PEZpbGU+KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgVE9VQ0hFRCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5kaXNhYmxlKGlzRGlzYWJsZWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFJekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRS9ELE1BQU0sT0FBTyxRQUFRLEdBQUcsVUFBVTs7QUFDbEMsTUFBTSxPQUFPLE9BQU8sR0FBRyxZQUFZO0FBb0JuQyxNQUFNLE9BQU8sbUJBQW1COzs7Ozs7OztJQTJCNUIsWUFDVyxpQkFBb0MsRUFDbkMsY0FBMEIsRUFDMUIsUUFBbUIsRUFDRCxRQUFRLEVBQzFCLEdBQXNCO1FBSnZCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQVk7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FB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QUFhO29CQUNiLGVBQWU7aUJBQ2xCOzthQUNKOzs7O1lBeEJRLGlCQUFpQjtZQXBCdEIsVUFBVTtZQUVWLFNBQVM7NENBMEVKLE1BQU0sU0FBQyxRQUFRO1lBakVwQixpQkFBaUI7OztzQkFvQ2hCLEtBQUs7MEJBR0wsWUFBWSxTQUFDLGFBQWE7dUJBRzFCLFlBQVksU0FBQyxNQUFNO29CQUduQixTQUFTLFNBQUMsVUFBVTt1QkEwQ3BCLFdBQVcsU0FBQyxpQkFBaUI7d0JBSzdCLFdBQVcsU0FBQyxrQkFBa0I7cUJBNEY5QixZQUFZLFNBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDOzs7O0lBcEpoQyxzQ0FDeUM7O0lBRXpDLDBDQUM0Qzs7SUFFNUMsdUNBQ3lDOztJQUV6QyxvQ0FDMkM7O0lBRTNDLDhDQUdFOzs7OztJQUdGLHVDQUE0RDs7SUFDNUQsMENBQW9DOztJQUVwQyxvQ0FBb0M7O0lBRXBDLDRDQUFnRDs7SUF1S2hELHVDQUFzRDs7SUFVdEQsc0NBRUU7O0lBaExFLGdEQUEyQzs7SUFDM0MsNkNBQWtDOztJQUNsQyx1Q0FBMkI7O0lBQzNCLHVDQUFrQzs7SUFDbEMsa0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIFJlbmRlcmVyMixcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbnRlbnRDaGlsZCxcclxuICAgIGZvcndhcmRSZWYsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gJy4vLi4vaGVscGVycy9jb250cm9sLmNsYXNzJztcclxuaW1wb3J0IHsgSXNOdWxsT3JFbXB0eSB9IGZyb20gJy4vLi4vaGVscGVycy9oZWxwZXJzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbnNlcnRBbmltYXRpb24gfSBmcm9tICcuLy4uL2FuaW1hdGlvbnMvaW5zZXJ0LmFuaW1hdGlvbic7XHJcbmltcG9ydCB7IFpvb21BbmltYXRpb24gfSBmcm9tICcuLy4uL2FuaW1hdGlvbnMvem9vbS5hbmltYXRpb24nO1xyXG5cclxuZXhwb3J0IGNvbnN0IERSQUdPVkVSID0gJ2RyYWdvdmVyJztcclxuZXhwb3J0IGNvbnN0IFRPVUNIRUQgPSAnbmctdG91Y2hlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBgZmlsZS11cGxvYWRgLFxyXG4gICAgdGVtcGxhdGVVcmw6IGAuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sYCxcclxuICAgIHN0eWxlVXJsczogW2AuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzYF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlVXBsb2FkQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgWm9vbUFuaW1hdGlvbixcclxuICAgICAgICBJbnNlcnRBbmltYXRpb25cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29udHJvbDogRmlsZVVwbG9hZENvbnRyb2wgPSBudWxsO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoJ3BsYWNlaG9sZGVyJylcclxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZCgnaXRlbScpXHJcbiAgICBwdWJsaWMgbGlzdEl0ZW06IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJylcclxuICAgIHB1YmxpYyBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgICBwdWJsaWMgdGVtcGxhdGVDb250ZXh0ID0ge1xyXG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5maWxlVXBsb2FkU2VydmljZS5pc0ZpbGVEcmFnRHJvcEF2YWlsYWJsZSgpLFxyXG4gICAgICAgIGlzRmlsZURyYWdEcm9wQXZhaWxhYmxlOiB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLmlzRmlsZURyYWdEcm9wQXZhaWxhYmxlKClcclxuICAgIH07XHJcblxyXG4gICAgLyoqIGFuaW1hdGlvbiBmaWVsZHMgKi9cclxuICAgIHB1YmxpYyB6b29tVGV4dDogJ3pvb21PdXQnIHwgJ3pvb21JbicgfCAnc3RhdGljJyA9ICdzdGF0aWMnO1xyXG4gICAgcHVibGljIGxpc3RWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBob29rczogQXJyYXk8RnVuY3Rpb24+ID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGhvc3RFbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50LFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7fVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eSh0aGlzLmNvbnRyb2wpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyBGaWxlVXBsb2FkQ29udHJvbCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXRFdmVudHMoKTtcclxuICAgICAgICB0aGlzLmNoZWNrQW5kTWFya0FzRGlzYWJsZWQoKTtcclxuICAgICAgICB0aGlzLmNvbm5lY3RUb0Zvcm0oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy5ob29rcy5mb3JFYWNoKChob29rKSA9PiBob29rKCkpO1xyXG4gICAgICAgIHRoaXMuaG9va3MubGVuZ3RoID0gMDtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aCA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtZmlsZXMnKVxyXG4gICAgcHVibGljIGdldCBoYXNGaWxlcygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sLmlzTGlzdFZpc2libGUgJiYgdGhpcy5jb250cm9sLnNpemUgPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubmctaW52YWxpZCcpXHJcbiAgICBwdWJsaWMgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuY29udHJvbC5kaXNhYmxlZCAmJiB0aGlzLmNvbnRyb2wuaW52YWxpZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEV2ZW50cygpOiB2b2lkIHtcclxuICAgICAgICBbJ2RyYWcnLCAnZHJhZ3N0YXJ0JywgJ2RyYWdlbmQnLCAnZHJhZ292ZXInLCAnZHJhZ2VudGVyJywgJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9va3MucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50OiBhbnkpID0+IHRoaXMucHJldmVudERyYWdFdmVudHMoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBbJ2RyYWdvdmVyJywgJ2RyYWdlbnRlciddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50OiBhbnkpID0+IHRoaXMub25EcmFnT3ZlcihldmVudCkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIFsnZHJhZ2xlYXZlJywgJ2RyYWdlbmQnLCAnZHJvcCddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50OiBhbnkpID0+IHRoaXMub25EcmFnTGVhdmUoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHRoaXMuY2hlY2tBbmRNYXJrQXNEaXNhYmxlZCgpKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZmlsZXMpID0+IHRoaXMucmVuZGVyVmlldygpKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wubGlzdFZpc2liaWxpdHlDaGFuZ2VzLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB0aGlzLnRvZ2dsZUxpc3RWaXNpYmlsaXR5KCkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrQW5kTWFya0FzRGlzYWJsZWQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCB0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJldmVudERyYWdFdmVudHMoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZW5kZXJWaWV3KCk6IHZvaWQge1xyXG4gICAgICAgIGlmKCF0aGlzLmxpc3RWaXNpYmxlKXtcclxuICAgICAgICAgICAgdGhpcy56b29tVGV4dCA9IHRoaXMuY29udHJvbC5pc0xpc3RWaXNpYmxlICYmIHRoaXMuY29udHJvbC5zaXplID4gMCA/ICd6b29tT3V0JyA6ICdzdGF0aWMnO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNob3dMaXN0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmKHRoaXMuem9vbVRleHQgIT09ICdzdGF0aWMnKXtcclxuICAgICAgICAgICAgdGhpcy5saXN0VmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGlkZUxpc3QoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5saXN0VmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdG9nZ2xlTGlzdFZpc2liaWxpdHkoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5saXN0VmlzaWJsZSA9IHRoaXMuY29udHJvbC5pc0xpc3RWaXNpYmxlICYmIHRoaXMuY29udHJvbC5zaXplID4gMDtcclxuICAgICAgICBpZih0aGlzLmxpc3RWaXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbGlzdC12aXNpYmxlJyk7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVRleHQgPSAnc3RhdGljJztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBvbiBmaWxlIG92ZXIgYWRkIGNsYXNzIG5hbWVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgRFJBR09WRVIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogb24gbW91c2Ugb3V0IHJlbW92ZSBjbGFzcyBuYW1lXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBEUkFHT1ZFUik7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLmFkZEZpbGVzKGZpbGVzKTtcclxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25JbnB1dENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpbnB1dCA9IChldmVudC50YXJnZXQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb250cm9sLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5hZGRGaWxlcyhpbnB1dC5maWxlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2xlYXJJbnB1dEVsKCk7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjbGVhcklucHV0RWwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY29ubmVjdFRvRm9ybSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHYpID0+IHRoaXMub25DaGFuZ2UodikpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAgLyoqXHJcbiAgICAgICogbW9kZWwgLT4gdmlldyBjaGFuZ2VzXHJcbiAgICAgICovXHJcbiAgICBwdWJsaWMgd3JpdGVWYWx1ZShmaWxlczogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGZpbGVzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGZpbGVzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHY6IEFycmF5PEZpbGU+KSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiByZWdpc3RlciBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGNhbGxlZCBvbiBVSSBjaGFuZ2VcclxuICAgICAqIHRvIHVwZGF0ZSB2aWV3IC0+IG1vZGVsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodjogQXJyYXk8RmlsZT4pID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBUT1VDSEVEKTtcclxuICAgIH07XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLmRpc2FibGUoaXNEaXNhYmxlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHpvb21BbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmKHRoaXMuY29udHJvbC5pc0xpc3RWaXNpYmxlICYmIHRoaXMuY29udHJvbC5zaXplID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dMaXN0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5oaWRlTGlzdCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoZXZlbnQuZnJvbVN0YXRlID09PSAnc3RhdGljJyAmJiBldmVudC50b1N0YXRlID09PSAnem9vbU91dCcpe1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2hpZGUtdGV4dCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaGlkZS10ZXh0Jyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZihldmVudC50b1N0YXRlID09PSAnem9vbUluJykge1xyXG4gICAgICAgICAgICB0aGlzLnpvb21UZXh0ID0gJ3N0YXRpYyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhbmltYXRpb25MaXN0RmluaXNoZWQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYoZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnKXtcclxuICAgICAgICAgICAgdGhpcy56b29tVGV4dCA9ICd6b29tSW4nO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2xpc3QtdmlzaWJsZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihldmVudC5mcm9tU3RhdGUgPT09ICd2b2lkJykge1xyXG4gICAgICAgICAgICB0aGlzLnpvb21UZXh0ID0gJ3N0YXRpYyc7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbGlzdC12aXNpYmxlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==

@@ -83,3 +83,3 @@ /**

}
},] },
},] }
];

@@ -158,3 +158,3 @@ FileSizeValidator.propDecorators = {

host: { '[attr.fileslimit]': 'fileslimit ? fileslimit : null' }
},] },
},] }
];

@@ -229,3 +229,3 @@ FilesLimitValidator.propDecorators = {

host: { '[attr.accept]': 'accept ? accept : null' }
},] },
},] }
];

@@ -232,0 +232,0 @@ FilesAcceptValidator.propDecorators = {

@@ -15,2 +15,3 @@ /**

import { CommonModule } from '@angular/common';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FileUploadComponent } from './components/file-upload.component';

@@ -43,3 +44,4 @@ import { FileUploadListItemComponent } from './components/file-upload-list-item.component';

ReactiveFormsModule,
FormsModule
FormsModule,
BrowserAnimationsModule
],

@@ -65,3 +67,3 @@ declarations: [

]
},] },
},] }
];

@@ -76,2 +78,2 @@ /** @nocollapse */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImZpbGUtdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU9BLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFpQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQStCN0QsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUV6QixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xDLG9GQUFvRjtRQUNwRiwyREFBMkQ7SUFDL0QsQ0FBQzs7OztJQUVELGFBQWEsS0FBSSxDQUFDOzs7WUFwQ3JCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLFdBQVc7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLG1CQUFtQjtvQkFDbkIsMkJBQTJCO29CQUMzQix1QkFBdUI7b0JBRXZCLDRCQUE0QjtvQkFFNUIsaUJBQWlCO29CQUNqQixtQkFBbUI7b0JBQ25CLG9CQUFvQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLG1CQUFtQjtvQkFDbkIsNEJBQTRCO29CQUU1QixpQkFBaUI7b0JBQ2pCLG1CQUFtQjtvQkFDbkIsb0JBQW9CO2lCQUN2QjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2IsbUJBQW1CO2lCQUN0QjthQUNKOzs7O1lBNUNrQixRQUFROzs7O0lBK0NYLG9DQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIGwxMG5cclxuICogXHJcbiAqIEJ5IEl2YW4gUGludGFyLCBodHRwOi8vd3d3LnBpbnRhci1pdmFuLmNvbVxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcclxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wSXZhbi9maWxlLXVwbG9hZC9ibG9iL21hc3Rlci9SRUFETUUubWRcclxuICovXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRBdHRyaWJ1dGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgRmlsZVNpemVWYWxpZGF0b3IsIEZpbGVzTGltaXRWYWxpZGF0b3IsIEZpbGVzQWNjZXB0VmFsaWRhdG9yIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMuZGlyZWN0aXZlJztcclxuXHJcblxyXG5leHBvcnQgeyBGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gJy4vaGVscGVycy9jb250cm9sLmNsYXNzJztcclxuZXhwb3J0IHsgRmlsZVVwbG9hZFZhbGlkYXRvcnMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnLi9oZWxwZXJzL3ZhbGlkYXRvcnMuY2xhc3MnO1xyXG5leHBvcnQgeyBGaWxlVXBsb2FkVHlwZXMgfSBmcm9tICcuL2hlbHBlcnMvZmlsZS10eXBlcy5jbGFzcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgICAgICBGaWxlVXBsb2FkTGlzdEl0ZW1Db21wb25lbnQsXHJcbiAgICAgICAgRmlsZVVwbG9hZEljb25Db21wb25lbnQsXHJcblxyXG4gICAgICAgIEZpbGVVcGxvYWRBdHRyaWJ1dGVDb21wb25lbnQsXHJcblxyXG4gICAgICAgIEZpbGVTaXplVmFsaWRhdG9yLFxyXG4gICAgICAgIEZpbGVzTGltaXRWYWxpZGF0b3IsXHJcbiAgICAgICAgRmlsZXNBY2NlcHRWYWxpZGF0b3JcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgICAgICBGaWxlVXBsb2FkQXR0cmlidXRlQ29tcG9uZW50LFxyXG5cclxuICAgICAgICBGaWxlU2l6ZVZhbGlkYXRvcixcclxuICAgICAgICBGaWxlc0xpbWl0VmFsaWRhdG9yLFxyXG4gICAgICAgIEZpbGVzQWNjZXB0VmFsaWRhdG9yXHJcbiAgICBdLFxyXG4gICAgZW50cnlDb21wb25lbnRzOiBbXHJcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZE1vZHVsZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICAvLyBjb25zdCBmaWxlVXBsb2FkRWxlbWVudCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoRmlsZVVwbG9hZENvbXBvbmVudCwgeyBpbmplY3RvciB9KTtcclxuICAgICAgICAvLyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2ZpbGUtdXBsb2FkJywgZmlsZVVwbG9hZEVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nRG9Cb290c3RyYXAoKSB7fVxyXG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImZpbGUtdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU9BLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFpQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQWdDN0QsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUV6QixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xDLG9GQUFvRjtRQUNwRiwyREFBMkQ7SUFDL0QsQ0FBQzs7OztJQUVELGFBQWEsS0FBSSxDQUFDOzs7WUFyQ3JCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLFdBQVc7b0JBQ1gsdUJBQXVCO2lCQUMxQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1YsbUJBQW1CO29CQUNuQiwyQkFBMkI7b0JBQzNCLHVCQUF1QjtvQkFFdkIsNEJBQTRCO29CQUU1QixpQkFBaUI7b0JBQ2pCLG1CQUFtQjtvQkFDbkIsb0JBQW9CO2lCQUN2QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsbUJBQW1CO29CQUNuQiw0QkFBNEI7b0JBRTVCLGlCQUFpQjtvQkFDakIsbUJBQW1CO29CQUNuQixvQkFBb0I7aUJBQ3ZCO2dCQUNELGVBQWUsRUFBRTtvQkFDYixtQkFBbUI7aUJBQ3RCO2FBQ0o7Ozs7WUE5Q2tCLFFBQVE7Ozs7SUFpRFgsb0NBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogbDEwblxyXG4gKlxyXG4gKiBCeSBJdmFuIFBpbnRhciwgaHR0cDovL3d3dy5waW50YXItaXZhbi5jb21cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXHJcbiAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcEl2YW4vZmlsZS11cGxvYWQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kXHJcbiAqL1xyXG5pbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuXHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRBdHRyaWJ1dGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgRmlsZVNpemVWYWxpZGF0b3IsIEZpbGVzTGltaXRWYWxpZGF0b3IsIEZpbGVzQWNjZXB0VmFsaWRhdG9yIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMuZGlyZWN0aXZlJztcclxuXHJcblxyXG5leHBvcnQgeyBGaWxlVXBsb2FkQ29udHJvbCB9IGZyb20gJy4vaGVscGVycy9jb250cm9sLmNsYXNzJztcclxuZXhwb3J0IHsgRmlsZVVwbG9hZFZhbGlkYXRvcnMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnLi9oZWxwZXJzL3ZhbGlkYXRvcnMuY2xhc3MnO1xyXG5leHBvcnQgeyBGaWxlVXBsb2FkVHlwZXMgfSBmcm9tICcuL2hlbHBlcnMvZmlsZS10eXBlcy5jbGFzcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgICAgICBGaWxlVXBsb2FkTGlzdEl0ZW1Db21wb25lbnQsXHJcbiAgICAgICAgRmlsZVVwbG9hZEljb25Db21wb25lbnQsXHJcblxyXG4gICAgICAgIEZpbGVVcGxvYWRBdHRyaWJ1dGVDb21wb25lbnQsXHJcblxyXG4gICAgICAgIEZpbGVTaXplVmFsaWRhdG9yLFxyXG4gICAgICAgIEZpbGVzTGltaXRWYWxpZGF0b3IsXHJcbiAgICAgICAgRmlsZXNBY2NlcHRWYWxpZGF0b3JcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgICAgICBGaWxlVXBsb2FkQXR0cmlidXRlQ29tcG9uZW50LFxyXG5cclxuICAgICAgICBGaWxlU2l6ZVZhbGlkYXRvcixcclxuICAgICAgICBGaWxlc0xpbWl0VmFsaWRhdG9yLFxyXG4gICAgICAgIEZpbGVzQWNjZXB0VmFsaWRhdG9yXHJcbiAgICBdLFxyXG4gICAgZW50cnlDb21wb25lbnRzOiBbXHJcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZE1vZHVsZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICAvLyBjb25zdCBmaWxlVXBsb2FkRWxlbWVudCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoRmlsZVVwbG9hZENvbXBvbmVudCwgeyBpbmplY3RvciB9KTtcclxuICAgICAgICAvLyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2ZpbGUtdXBsb2FkJywgZmlsZVVwbG9hZEVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nRG9Cb290c3RyYXAoKSB7fVxyXG59XHJcbiJdfQ==

@@ -74,4 +74,4 @@ /**

(/** @type {?} */ (this)).files.add(file);
(/** @type {?} */ (this)).validate();
(/** @type {?} */ (this)).valueChanges.next(Array.from((/** @type {?} */ (this)).files.values()));
(/** @type {?} */ (this)).validate();
return (/** @type {?} */ (this));

@@ -87,4 +87,4 @@ }

(/** @type {?} */ (this)).files.delete(file);
(/** @type {?} */ (this)).validate();
(/** @type {?} */ (this)).valueChanges.next(Array.from((/** @type {?} */ (this)).files.values()));
(/** @type {?} */ (this)).validate();
return (/** @type {?} */ (this));

@@ -111,4 +111,4 @@ }

files.forEach(file => this.files.add(file));
this.validate();
this.valueChanges.next(Array.from(this.files.values()));
this.validate();
}

@@ -171,2 +171,3 @@ /**

(/** @type {?} */ (this)).files.clear();
(/** @type {?} */ (this)).validate();
(/** @type {?} */ (this)).valueChanges.next(Array.from((/** @type {?} */ (this)).files.values()));

@@ -271,2 +272,2 @@ return (/** @type {?} */ (this));

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJoZWxwZXJzL2NvbnRyb2wuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0lBRzVDLFVBQU87SUFDUCxRQUFLO0lBQ0wsV0FBUTs7Ozs7O0FBR1osTUFBTSxPQUFPLGlCQUFpQjs7OztJQWdDMUIsWUFBWSxVQUEyQztRQTlCL0MsVUFBSyxHQUFjLElBQUksR0FBRyxFQUFFLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsV0FBTSxHQUFXLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFOUIsV0FBTSxHQUFnQyxFQUFFLENBQUM7UUFFekMsZUFBVSxHQUF1QixFQUFFLENBQUM7UUFFcEMsa0JBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQzs7OztRQUtoRCxrQkFBYSxHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDOzs7Ozs7UUFPN0QsaUJBQVksR0FBaUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7Ozs7O1FBTXJFLDBCQUFxQixHQUE2QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFHcEcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Ozs7Ozs7O0lBS00sYUFBYSxDQUFDLGFBQTZDO1FBQzlELG1CQUFBLElBQUksRUFBQSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLG1CQUFBLElBQUksRUFBQSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sbUJBQUEsSUFBSSxFQUFBLENBQUM7SUFD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SSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztDQUNKOzs7SUF0S0csa0NBQXFDOztJQUVyQyx3Q0FBMkI7O0lBRTNCLG1DQUFzQzs7SUFFdEMsbUNBQWlEOztJQUVqRCx1Q0FBNEM7O0lBRTVDLDBDQUF1RDs7Ozs7SUFLdkQsMENBQTZFOzs7Ozs7O0lBTzdFLHlDQUFxRjs7Ozs7O0lBTXJGLGtEQUF3RyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJy4vdmFsaWRhdG9ycy5jbGFzcyc7XHJcbmltcG9ydCB7IElzTnVsbE9yRW1wdHkgfSBmcm9tICcuL2hlbHBlcnMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGVudW0gU1RBVFVTIHtcclxuICAgIElOVkFMSUQsXHJcbiAgICBWQUxJRCxcclxuICAgIERJU0FCTEVEXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29udHJvbCB7XHJcblxyXG4gICAgcHJpdmF0ZSBmaWxlczogU2V0PEZpbGU+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHByaXZhdGUgbGlzdFZpc2libGUgPSB0cnVlO1xyXG5cclxuICAgIHByaXZhdGUgc3RhdHVzOiBTVEFUVVMgPSBTVEFUVVMuVkFMSUQ7XHJcblxyXG4gICAgcHJpdmF0ZSBlcnJvcnM6IEFycmF5PHtba2V5OiBzdHJpbmddOiBhbnl9PiA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgdmFsaWRhdG9yczogQXJyYXk8VmFsaWRhdG9yRm4+ID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0dXNDaGFuZ2VkOiBTdWJqZWN0PFNUQVRVUz4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJhY2sgc3RhdHVzIGBWQUxJRGAsIGBJTlZBTElEYCBvciBgRElTQUJMRURgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0dXNDaGFuZ2VzOiBPYnNlcnZhYmxlPFNUQVRVUz4gPSB0aGlzLnN0YXR1c0NoYW5nZWQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBlbWl0IGFuIGV2ZW50IGV2ZXJ5IHRpbWUgdGhlIHZhbHVlIG9mIHRoZSBjb250cm9sXHJcbiAgICAgKiBjaGFuZ2VzLlxyXG4gICAgICogSW5pdGlhbGx5IHJldHVybnMgbGFzdCB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDaGFuZ2VzOiBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RmlsZT4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqIHVzZWQgdG8gdHJpZ2dlciBsYXlvdXQgY2hhbmdlIGZvciBsaXN0IHZpc2liaWxpdHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3RWaXNpYmlsaXR5Q2hhbmdlczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmxpc3RWaXNpYmxlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcih2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm58QXJyYXk8VmFsaWRhdG9yRm4+KSB7XHJcbiAgICAgICAgdGhpcy5kZWZpbmVWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogc2V0IGZ1bmN0aW9ucyB0aGF0IGRldGVybWluZXMgdGhlIHN5bmNocm9ub3VzIHZhbGlkaXR5IG9mIHRoaXMgY29udHJvbC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yczogVmFsaWRhdG9yRm58QXJyYXk8VmFsaWRhdG9yRm4+KTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5kZWZpbmVWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcnMpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlZmluZVZhbGlkYXRvcnModmFsaWRhdG9yczogVmFsaWRhdG9yRm58QXJyYXk8VmFsaWRhdG9yRm4+KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFJc051bGxPckVtcHR5KHZhbGlkYXRvcnMpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9ycyA9IEFycmF5LmlzQXJyYXkodmFsaWRhdG9ycykgPyBbLi4udmFsaWRhdG9yc10gOiBbdmFsaWRhdG9yc107XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRGaWxlKGZpbGU6IEZpbGUpOiB0aGlzIHtcclxuICAgICAgICB0aGlzLmZpbGVzLmFkZChmaWxlKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5uZXh0KEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSkpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlRmlsZShmaWxlOiBGaWxlKTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5maWxlcy5kZWxldGUoZmlsZSk7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMubmV4dChBcnJheS5mcm9tKHRoaXMuZmlsZXMudmFsdWVzKCkpKTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZEZpbGVzKGZpbGVzOiBGaWxlTGlzdCk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuYWRkTXVsdGlwbGVGaWxlcyhBcnJheS5mcm9tKGZpbGVzKSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqIHVzZWQgdG8gcHJldmVudCB2YWx1ZUNoYW5nZXMgZW1pdCBtb3JlIHRpbWVzXHJcbiAgICAgKiB3aGVuIG11bHRpcGxlIGZpbGVzIGFyZSB1cGxvYWRlZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGFkZE11bHRpcGxlRmlsZXMoZmlsZXM6IEFycmF5PEZpbGU+KTogdm9pZCB7XHJcbiAgICAgICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHRoaXMuZmlsZXMuYWRkKGZpbGUpKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5uZXh0KEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSkpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9ycy5sZW5ndGggPT09IDAgJiYgdGhpcy5zdGF0dXMgIT09IFNUQVRVUy5ESVNBQkxFRDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzLmxlbmd0aCA+IDAgfHwgdGhpcy5zdGF0dXMgPT09IFNUQVRVUy5ESVNBQkxFRDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RXJyb3IoKTogQXJyYXk8VmFsaWRhdGlvbkVycm9ycz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9ycztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG51bWJlciBvZiB1cGxvYWRlZCBmaWxlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHNpemUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWxlcy5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogcmV0dXJuIGxpc3Qgb2YgRmlsZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBBcnJheTxGaWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFZhbHVlKGZpbGVzOiBBcnJheTxGaWxlPik6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuZmlsZXMuY2xlYXIoKTtcclxuXHJcbiAgICAgICAgaWYgKGZpbGVzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRNdWx0aXBsZUZpbGVzKGZpbGVzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgRm9ybUNvbnRyb2wuc2V0VmFsdWUgd2FzIHByb3ZpZGVkIHdpdGggd3JvbmcgYXJndW1lbnQgdHlwZSwgJHtmaWxlc30gd2FzIHByb3ZpZGVkIGluc3RlYWQgQXJyYXk8RmlsZT5gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogcmVzZXQgdGhlIGNvbnRyb2xcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsZWFyKCk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuZmlsZXMuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5uZXh0KEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNMaXN0VmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5saXN0VmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0TGlzdFZpc2liaWxpdHkoaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZSk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMubGlzdFZpc2libGUgPSBpc1Zpc2libGU7XHJcbiAgICAgICAgdGhpcy5saXN0VmlzaWJpbGl0eUNoYW5nZXMubmV4dCh0aGlzLmxpc3RWaXNpYmxlKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU1RBVFVTLkRJU0FCTEVEO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBlbmFibGUoaXNFbmFibGVkOiBib29sZWFuID0gdHJ1ZSk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gaXNFbmFibGVkID8gU1RBVFVTLlZBTElEIDogU1RBVFVTLkRJU0FCTEVEO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICB0aGlzLnN0YXR1c0NoYW5nZWQubmV4dCh0aGlzLnN0YXR1cyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRpc2FibGUoaXNEaXNhYmxlZDogYm9vbGVhbiA9IHRydWUpOiB0aGlzIHtcclxuICAgICAgICB0aGlzLnN0YXR1cyA9IGlzRGlzYWJsZWQgPyBTVEFUVVMuRElTQUJMRUQgOiBTVEFUVVMuVkFMSUQ7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlZC5uZXh0KHRoaXMuc3RhdHVzKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXR1cyAhPT0gU1RBVFVTLkRJU0FCTEVEKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMudmFsaWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzID0gdGhpcy52YWxpZGF0b3JzLm1hcCgodmFsaWRhdG9yKSA9PiB2YWxpZGF0b3IodGhpcykpLmZpbHRlcigoaXNJbnZhbGlkKSA9PiBpc0ludmFsaWQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGF0ZSAhPT0gdGhpcy52YWxpZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0dXNDaGFuZ2VkLm5leHQodGhpcy52YWxpZCA/IFNUQVRVUy5WQUxJRCA6IFNUQVRVUy5JTlZBTElEKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJoZWxwZXJzL2NvbnRyb2wuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0lBRzVDLFVBQU87SUFDUCxRQUFLO0lBQ0wsV0FBUTs7Ozs7O0FBR1osTUFBTSxPQUFPLGlCQUFpQjs7OztJQWdDMUIsWUFBWSxVQUEyQztRQTlCL0MsVUFBSyxHQUFjLElBQUksR0FBRyxFQUFFLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsV0FBTSxHQUFXLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFOUIsV0FBTSxHQUFnQyxFQUFFLENBQUM7UUFFekMsZUFBVSxHQUF1QixFQUFFLENBQUM7UUFFcEMsa0JBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQzs7OztRQUtoRCxrQkFBYSxHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDOzs7Ozs7UUFPN0QsaUJBQVksR0FBaUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7Ozs7O1FBTXJFLDBCQUFxQixHQUE2QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFHcEcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Ozs7Ozs7O0lBS00sYUFBYSxDQUFDLGFBQTZDO1FBQzlELG1CQUFBLElBQUksRUFBQSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLG1CQUFBLElBQUksRUFBQSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sbUJBQUEsSUFBSSxFQUFBLENBQUM7SUFDaEIsQ0FBQzs7Ozs7SUFFTyxnQkFBZ0IsQ0FBQyxVQUEwQztRQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0wsQ0FBQzs7Ozs7OztJQUVNLE9BQU8sQ0FBQyxJQUFVO1FBQ3JCLG1CQUFBLElBQUksRUFBQSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsbUJBQUEsSUFBSSxFQUFBLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsbUJBQUEsSUFBSSxFQUFBLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFBLElBQUksRUFBQSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsT0FBTyxtQkFBQSxJQUFJLEVBQUEsQ0FBQztJQUNoQixDQUFDOzs7Ozs7O0lBRU0sVUFBVSxDQUFDLElBQVU7UUFDeEIsbUJBQUEsSUFBSSxFQUFBLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixtQkFBQSxJQUFJLEVBQUEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixtQkFBQSxJQUFJLEVBQUEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQUEsSUFBSSxFQUFBLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxPQUFPLG1CQUFBLElBQUksRUFBQSxDQUFDO0lBQ2hCLENBQUM7Ozs7Ozs7SUFFTSxRQUFRLENBQUMsS0FBZTtRQUMzQixtQkFBQSxJQUFJLEVBQUEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekMsT0FBTyxtQkFBQSxJQUFJLEVBQUEsQ0FBQztJQUNoQixDQUFDOzs7Ozs7OztJQU9PLGdCQUFnQixDQUFDLEtBQWtCO1FBQ3ZDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7Ozs7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDdkUsQ0FBQzs7OztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNyRSxDQUFDOzs7O0lBRU0sUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDOzs7OztJQUtELElBQVcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFLRCxJQUFXLEtBQUs7UUFDWixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7Ozs7SUFFTSxRQUFRLENBQUMsS0FBa0I7UUFDOUIsbUJBQUEsSUFBSSxFQUFBLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRW5CLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUN4QixtQkFBQSxJQUFJLEVBQUEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0gsTUFBTSxLQUFLLENBQUMsK0RBQStELEtBQUssbUNBQW1DLENBQUMsQ0FBQztTQUN4SDtRQUVELE9BQU8sbUJBQUEsSUFBSSxFQUFBLENBQUM7SUFDaEIsQ0FBQzs7Ozs7OztJQUtNLEtBQUs7UUFDUixtQkFBQSxJQUFJLEVBQUEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsbUJBQUEsSUFBSSxFQUFBLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsbUJBQUEsSUFBSSxFQUFBLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFBLElBQUksRUFBQSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsT0FBTyxtQkFBQSxJQUFJLEVBQUEsQ0FBQztJQUNoQixDQUFDOzs7O0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOzs7Ozs7O0lBRU0saUJBQWlCLENBQUMsWUFBcUIsSUFBSTtRQUM5QyxtQkFBQSxJQUFJLEVBQUEsQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzdCLG1CQUFBLElBQUksRUFBQSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxtQkFBQSxJQUFJLEVBQUEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxPQUFPLG1CQUFBLElBQUksRUFBQSxDQUFDO0lBQ2hCLENBQUM7Ozs7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUMzQyxDQUFDOzs7Ozs7O0lBRU0sTUFBTSxDQUFDLFlBQXFCLElBQUk7UUFDbkMsbUJBQUEsSUFBSSxFQUFBLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUN6RCxtQkFBQSxJQUFJLEVBQUEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixtQkFBQSxJQUFJLEVBQUEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLG1CQUFBLElBQUksRUFBQSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sbUJBQUEsSUFBSSxFQUFBLENBQUM7SUFDaEIsQ0FBQzs7Ozs7OztJQUVNLE9BQU8sQ0FBQyxhQUFzQixJQUFJO1FBQ3JDLG1CQUFBLElBQUksRUFBQSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUQsbUJBQUEsSUFBSSxFQUFBLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsbUJBQUEsSUFBSSxFQUFBLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxtQkFBQSxJQUFJLEVBQUEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxPQUFPLG1CQUFBLElBQUksRUFBQSxDQUFDO0lBQ2hCLENBQUM7Ozs7SUFFTyxRQUFRO1FBQ1osSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUU7O2tCQUMzQixZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVuRyxJQUFJLFlBQVksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkU7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztDQUNKOzs7SUF2S0csa0NBQXFDOztJQUVyQyx3Q0FBMkI7O0lBRTNCLG1DQUFzQzs7SUFFdEMsbUNBQWlEOztJQUVqRCx1Q0FBNEM7O0lBRTVDLDBDQUF1RDs7Ozs7SUFLdkQsMENBQTZFOzs7Ozs7O0lBTzdFLHlDQUFxRjs7Ozs7O0lBTXJGLGtEQUF3RyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJy4vdmFsaWRhdG9ycy5jbGFzcyc7XHJcbmltcG9ydCB7IElzTnVsbE9yRW1wdHkgfSBmcm9tICcuL2hlbHBlcnMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGVudW0gU1RBVFVTIHtcclxuICAgIElOVkFMSUQsXHJcbiAgICBWQUxJRCxcclxuICAgIERJU0FCTEVEXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29udHJvbCB7XHJcblxyXG4gICAgcHJpdmF0ZSBmaWxlczogU2V0PEZpbGU+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHByaXZhdGUgbGlzdFZpc2libGUgPSB0cnVlO1xyXG5cclxuICAgIHByaXZhdGUgc3RhdHVzOiBTVEFUVVMgPSBTVEFUVVMuVkFMSUQ7XHJcblxyXG4gICAgcHJpdmF0ZSBlcnJvcnM6IEFycmF5PHtba2V5OiBzdHJpbmddOiBhbnl9PiA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgdmFsaWRhdG9yczogQXJyYXk8VmFsaWRhdG9yRm4+ID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0dXNDaGFuZ2VkOiBTdWJqZWN0PFNUQVRVUz4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJhY2sgc3RhdHVzIGBWQUxJRGAsIGBJTlZBTElEYCBvciBgRElTQUJMRURgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0dXNDaGFuZ2VzOiBPYnNlcnZhYmxlPFNUQVRVUz4gPSB0aGlzLnN0YXR1c0NoYW5nZWQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBlbWl0IGFuIGV2ZW50IGV2ZXJ5IHRpbWUgdGhlIHZhbHVlIG9mIHRoZSBjb250cm9sXHJcbiAgICAgKiBjaGFuZ2VzLlxyXG4gICAgICogSW5pdGlhbGx5IHJldHVybnMgbGFzdCB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDaGFuZ2VzOiBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RmlsZT4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqIHVzZWQgdG8gdHJpZ2dlciBsYXlvdXQgY2hhbmdlIGZvciBsaXN0IHZpc2liaWxpdHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3RWaXNpYmlsaXR5Q2hhbmdlczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmxpc3RWaXNpYmxlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcih2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm58QXJyYXk8VmFsaWRhdG9yRm4+KSB7XHJcbiAgICAgICAgdGhpcy5kZWZpbmVWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogc2V0IGZ1bmN0aW9ucyB0aGF0IGRldGVybWluZXMgdGhlIHN5bmNocm9ub3VzIHZhbGlkaXR5IG9mIHRoaXMgY29udHJvbC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yczogVmFsaWRhdG9yRm58QXJyYXk8VmFsaWRhdG9yRm4+KTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5kZWZpbmVWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcnMpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlZmluZVZhbGlkYXRvcnModmFsaWRhdG9yczogVmFsaWRhdG9yRm58QXJyYXk8VmFsaWRhdG9yRm4+KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFJc051bGxPckVtcHR5KHZhbGlkYXRvcnMpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9ycyA9IEFycmF5LmlzQXJyYXkodmFsaWRhdG9ycykgPyBbLi4udmFsaWRhdG9yc10gOiBbdmFsaWRhdG9yc107XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRGaWxlKGZpbGU6IEZpbGUpOiB0aGlzIHtcclxuICAgICAgICB0aGlzLmZpbGVzLmFkZChmaWxlKTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMubmV4dChBcnJheS5mcm9tKHRoaXMuZmlsZXMudmFsdWVzKCkpKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlRmlsZShmaWxlOiBGaWxlKTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5maWxlcy5kZWxldGUoZmlsZSk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLm5leHQoQXJyYXkuZnJvbSh0aGlzLmZpbGVzLnZhbHVlcygpKSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZEZpbGVzKGZpbGVzOiBGaWxlTGlzdCk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuYWRkTXVsdGlwbGVGaWxlcyhBcnJheS5mcm9tKGZpbGVzKSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqIHVzZWQgdG8gcHJldmVudCB2YWx1ZUNoYW5nZXMgZW1pdCBtb3JlIHRpbWVzXHJcbiAgICAgKiB3aGVuIG11bHRpcGxlIGZpbGVzIGFyZSB1cGxvYWRlZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGFkZE11bHRpcGxlRmlsZXMoZmlsZXM6IEFycmF5PEZpbGU+KTogdm9pZCB7XHJcbiAgICAgICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHRoaXMuZmlsZXMuYWRkKGZpbGUpKTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMubmV4dChBcnJheS5mcm9tKHRoaXMuZmlsZXMudmFsdWVzKCkpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9ycy5sZW5ndGggPT09IDAgJiYgdGhpcy5zdGF0dXMgIT09IFNUQVRVUy5ESVNBQkxFRDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzLmxlbmd0aCA+IDAgfHwgdGhpcy5zdGF0dXMgPT09IFNUQVRVUy5ESVNBQkxFRDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RXJyb3IoKTogQXJyYXk8VmFsaWRhdGlvbkVycm9ycz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9ycztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG51bWJlciBvZiB1cGxvYWRlZCBmaWxlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHNpemUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWxlcy5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogcmV0dXJuIGxpc3Qgb2YgRmlsZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBBcnJheTxGaWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFZhbHVlKGZpbGVzOiBBcnJheTxGaWxlPik6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuZmlsZXMuY2xlYXIoKTtcclxuXHJcbiAgICAgICAgaWYgKGZpbGVzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRNdWx0aXBsZUZpbGVzKGZpbGVzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgRm9ybUNvbnRyb2wuc2V0VmFsdWUgd2FzIHByb3ZpZGVkIHdpdGggd3JvbmcgYXJndW1lbnQgdHlwZSwgJHtmaWxlc30gd2FzIHByb3ZpZGVkIGluc3RlYWQgQXJyYXk8RmlsZT5gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogcmVzZXQgdGhlIGNvbnRyb2xcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsZWFyKCk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuZmlsZXMuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMubmV4dChBcnJheS5mcm9tKHRoaXMuZmlsZXMudmFsdWVzKCkpKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzTGlzdFZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdFZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldExpc3RWaXNpYmlsaXR5KGlzVmlzaWJsZTogYm9vbGVhbiA9IHRydWUpOiB0aGlzIHtcclxuICAgICAgICB0aGlzLmxpc3RWaXNpYmxlID0gaXNWaXNpYmxlO1xyXG4gICAgICAgIHRoaXMubGlzdFZpc2liaWxpdHlDaGFuZ2VzLm5leHQodGhpcy5saXN0VmlzaWJsZSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFNUQVRVUy5ESVNBQkxFRDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZW5hYmxlKGlzRW5hYmxlZDogYm9vbGVhbiA9IHRydWUpOiB0aGlzIHtcclxuICAgICAgICB0aGlzLnN0YXR1cyA9IGlzRW5hYmxlZCA/IFNUQVRVUy5WQUxJRCA6IFNUQVRVUy5ESVNBQkxFRDtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgdGhpcy5zdGF0dXNDaGFuZ2VkLm5leHQodGhpcy5zdGF0dXMpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkaXNhYmxlKGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlKTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBpc0Rpc2FibGVkID8gU1RBVFVTLkRJU0FCTEVEIDogU1RBVFVTLlZBTElEO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICB0aGlzLnN0YXR1c0NoYW5nZWQubmV4dCh0aGlzLnN0YXR1cyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zdGF0dXMgIT09IFNUQVRVUy5ESVNBQkxFRCkge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnZhbGlkO1xyXG4gICAgICAgICAgICB0aGlzLmVycm9ycyA9IHRoaXMudmFsaWRhdG9ycy5tYXAoKHZhbGlkYXRvcikgPT4gdmFsaWRhdG9yKHRoaXMpKS5maWx0ZXIoKGlzSW52YWxpZCkgPT4gaXNJbnZhbGlkKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50U3RhdGUgIT09IHRoaXMudmFsaWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlZC5uZXh0KHRoaXMudmFsaWQgPyBTVEFUVVMuVkFMSUQgOiBTVEFUVVMuSU5WQUxJRCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9ycy5sZW5ndGggPSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=

@@ -9,8 +9,10 @@ /**

export { FileUploadControl, FileUploadValidators, FileUploadTypes, FileUploadModule } from './public_api';
export { FileUploadAttributeComponent as ɵe } from './components/file-upload-attr.component';
export { FileUploadIconComponent as ɵd } from './components/file-upload-icon.component';
export { FileUploadListItemComponent as ɵc } from './components/file-upload-list-item.component';
export { InsertAnimation as ɵd } from './animations/insert.animation';
export { ZoomAnimation as ɵc } from './animations/zoom.animation';
export { FileUploadAttributeComponent as ɵg } from './components/file-upload-attr.component';
export { FileUploadIconComponent as ɵf } from './components/file-upload-icon.component';
export { FileUploadListItemComponent as ɵe } from './components/file-upload-list-item.component';
export { FileUploadComponent as ɵa } from './components/file-upload.component';
export { FileSizeValidator as ɵf, FilesAcceptValidator as ɵh, FilesLimitValidator as ɵg } from './directives/validators.directive';
export { FileSizeValidator as ɵh, FilesAcceptValidator as ɵj, FilesLimitValidator as ɵi } from './directives/validators.directive';
export { FileUploadService as ɵb } from './services/file-upload.service';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBsYWItbmd4LWZpbGUtdXBsb2FkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImlwbGFiLW5neC1maWxlLXVwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkZBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRixPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQy9GLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvSCxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7RmlsZVVwbG9hZEF0dHJpYnV0ZUNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1hdHRyLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVVcGxvYWRJY29uQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLWljb24uY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZVVwbG9hZExpc3RJdGVtQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlVXBsb2FkQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVTaXplVmFsaWRhdG9yIGFzIMm1ZixGaWxlc0FjY2VwdFZhbGlkYXRvciBhcyDJtWgsRmlsZXNMaW1pdFZhbGlkYXRvciBhcyDJtWd9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5leHBvcnQge0ZpbGVVcGxvYWRTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBsYWItbmd4LWZpbGUtdXBsb2FkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImlwbGFiLW5neC1maWxlLXVwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkZBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsNEJBQTRCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0YsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RGLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0gsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0luc2VydEFuaW1hdGlvbiBhcyDJtWR9IGZyb20gJy4vYW5pbWF0aW9ucy9pbnNlcnQuYW5pbWF0aW9uJztcbmV4cG9ydCB7Wm9vbUFuaW1hdGlvbiBhcyDJtWN9IGZyb20gJy4vYW5pbWF0aW9ucy96b29tLmFuaW1hdGlvbic7XG5leHBvcnQge0ZpbGVVcGxvYWRBdHRyaWJ1dGVDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlVXBsb2FkSWNvbkNvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVVcGxvYWRMaXN0SXRlbUNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1saXN0LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZVVwbG9hZENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlU2l6ZVZhbGlkYXRvciBhcyDJtWgsRmlsZXNBY2NlcHRWYWxpZGF0b3IgYXMgybVqLEZpbGVzTGltaXRWYWxpZGF0b3IgYXMgybVpfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtGaWxlVXBsb2FkU2VydmljZSBhcyDJtWJ9IGZyb20gJy4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7Il19

@@ -6,2 +6,2 @@ /**

export { FileUploadControl, FileUploadValidators, FileUploadTypes, FileUploadModule } from './file-upload.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyRkFBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQubW9kdWxlJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyRkFBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQubW9kdWxlJztcclxuIl19

@@ -46,3 +46,3 @@ /**

FileUploadService.decorators = [
{ type: Injectable },
{ type: Injectable }
];

@@ -49,0 +49,0 @@ /** @nocollapse */

@@ -186,7 +186,7 @@ /**

template: "\n <ng-content></ng-content>\n <div #overlay class=\"overlay\" *ngIf=\"fileUploadService.isFileDragDropAvailable()\">\n\n <div class=\"upload-input\">\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div class=\"icon\">\n <svg viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z\"/>\n </g>\n </svg>\n </div>\n \n <div class=\"upload-text\">\n <b>Drop</b> it here\n </div>\n </ng-template>\n </div>\n </div>\n ",
styles: [":host{position:relative;display:block}:host .overlay{display:none;background:rgba(255,255,255,.8);outline:#92b0b3 dashed 2px;outline-offset:-10px;position:absolute;top:0;left:0;right:0;bottom:0}:host(.dragover:not(.disabled)) .overlay{display:block}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;margin:0 auto 10px}:host /deep/ .icon svg{fill:#80a9d2}.upload-input{pointer-events:none;cursor:pointer;display:inline-block;color:#80a9d2;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:all .15s ease-in-out}"],
providers: [
FileUploadService
]
},] },
],
styles: [":host{position:relative;display:block}:host .overlay{display:none;background:rgba(255,255,255,.8);outline:#92b0b3 dashed 2px;outline-offset:-10px;position:absolute;top:0;left:0;right:0;bottom:0}:host(.dragover:not(.disabled)) .overlay{display:block}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;margin:0 auto 10px}:host /deep/ .icon svg{fill:#80a9d2}.upload-input{pointer-events:none;cursor:pointer;display:inline-block;color:#80a9d2;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:.15s ease-in-out}"]
}] }
];

@@ -233,2 +233,2 @@ /** @nocollapse */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC1hdHRyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNILEtBQUssRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJNUQ7SUFxREksc0NBQ1csaUJBQW9DLEVBQ25DLGNBQTBCLEVBQzFCLFFBQW1CLEVBQ0QsUUFBUTtRQUp0QyxpQkFLSTtRQUpPLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQVk7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FBUixRQUFRLENBQUE7UUFoQi9CLFlBQU8sR0FBc0IsSUFBSSxDQUFDO1FBTWxDLGdCQUFXLEdBQXFCLElBQUksQ0FBQztRQUVwQyxVQUFLLEdBQW9CLEVBQUUsQ0FBQztRQUU1QixrQkFBYSxHQUF3QixFQUFFLENBQUM7UUE4R3hDLFlBQU8sR0FBZTtZQUMxQixLQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsY0FBYyxDQUFD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R0UseURBQTJDOztJQUMzQyxzREFBa0M7O0lBQ2xDLGdEQUEyQjs7SUFDM0IsZ0RBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIFJlbmRlcmVyMixcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBBZnRlclZpZXdJbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb250cm9sIH0gZnJvbSAnLi4vaGVscGVycy9jb250cm9sLmNsYXNzJztcclxuaW1wb3J0IHsgSXNOdWxsT3JFbXB0eSB9IGZyb20gJy4uL2hlbHBlcnMvaGVscGVycy5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IERSQUdPVkVSLCBUT1VDSEVEIH0gZnJvbSAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBgW2ZpbGUtZHJvcC16b25lXWAsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8ZGl2ICNvdmVybGF5IGNsYXNzPVwib3ZlcmxheVwiICpuZ0lmPVwiZmlsZVVwbG9hZFNlcnZpY2UuaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKVwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1pbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmVmID8gdGVtcGxhdGVSZWYgOiBkZWZhdWx0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgOTYgOTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNjIuOCw2OC4xYzAtMC42LTAuMi0xLjEtMC42LTEuNWMtMC40LTAuNC0wLjktMC42LTEuNS0wLjZzLTEuMSwwLjItMS41LDAuNlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLjQtMC42LDAuOS0wLjYsMS41YzAsMC42LDAuMiwxLjEsMC42LDEuNWMwLjQsMC40LDAuOSwwLjYsMS41LDAuNnMxLjEtMC4yLDEuNS0wLjZTNjIuOCw2OC43LDYyLjgsNjguMXogTTcxLjMsNjguMVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMC0wLjYtMC4yLTEuMS0wLjYtMS41Yy0wLjQtMC40LTAuOS0wLjYtMS41LTAuNmMtMC42LDAtMS4xLDAuMi0xLjUsMC42QzY3LjIsNjcsNjcsNjcuNSw2Nyw2OC4xYzAsMC42LDAuMiwxLjEsMC42LDEuNVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMC45LDAuNiwxLjUsMC42YzAuNiwwLDEuMS0wLjIsMS41LTAuNkM3MS4xLDY5LjIsNzEuMyw2OC43LDcxLjMsNjguMXogTTc1LjUsNjAuN3YxMC42YzAsMC45LTAuMywxLjYtMC45LDIuMlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNiwwLjYtMS40LDAuOS0yLjIsMC45SDIzLjdjLTAuOSwwLTEuNi0wLjMtMi4yLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjJWNjAuN2MwLTAuOSwwLjMtMS42LDAuOS0yLjJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAuNi0wLjYsMS40LTAuOSwyLjItMC45aDE0LjFjMC41LDEuMiwxLjIsMi4yLDIuMywzYzEuMSwwLjgsMi4zLDEuMiwzLjcsMS4yaDguNWMxLjMsMCwyLjYtMC40LDMuNy0xLjJjMS4xLTAuOCwxLjktMS44LDIuMy0zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgxNC4xYzAuOSwwLDEuNiwwLjMsMi4yLDAuOUM3NS4yLDU5LjEsNzUuNSw1OS44LDc1LjUsNjAuN3ogTTY0LjgsMzkuM2MtMC40LDAuOS0xLDEuMy0yLDEuM2gtOC41djE0LjhjMCwwLjYtMC4yLDEuMS0wLjYsMS41XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtMC40LDAuNC0wLjksMC42LTEuNSwwLjZoLTguNWMtMC42LDAtMS4xLTAuMi0xLjUtMC42Yy0wLjQtMC40LTAuNi0wLjktMC42LTEuNVY0MC42aC04LjVjLTAuOSwwLTEuNi0wLjQtMi0xLjNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjQtMC45LTAuMi0xLjYsMC41LTIuM2wxNC44LTE0LjhjMC40LTAuNCwwLjktMC42LDEuNS0wLjZzMS4xLDAuMiwxLjUsMC42TDY0LjMsMzdDNjUsMzcuNyw2NS4xLDM4LjQsNjQuOCwzOS4zelwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGI+RHJvcDwvYj4gaXQgaGVyZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVzOiBbYDpob3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2t9Omhvc3QgLm92ZXJsYXl7ZGlzcGxheTpub25lO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOCk7b3V0bGluZTojOTJiMGIzIGRhc2hlZCAycHg7b3V0bGluZS1vZmZzZXQ6LTEwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9Omhvc3QoLmRyYWdvdmVyOm5vdCguZGlzYWJsZWQpKSAub3ZlcmxheXtkaXNwbGF5OmJsb2NrfS5pY29ue2hlaWdodDozNXB4O3dpZHRoOjM1cHg7Ym9yZGVyOjFweCBzb2xpZCAjZWFlYWVhO2JvcmRlci1yYWRpdXM6NHB4O21hcmdpbjowIGF1dG8gMTBweH06aG9zdCAvZGVlcC8gLmljb24gc3Zne2ZpbGw6IzgwYTlkMn0udXBsb2FkLWlucHV0e3BvaW50ZXItZXZlbnRzOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzgwYTlkMjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2l0aW9uOmFsbCAuMTVzIGVhc2UtaW4tb3V0fWBdLFxyXG4gICAgcHJvdmlkZXJzOiBbIFxyXG4gICAgICAgIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQXR0cmlidXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29udHJvbDogRmlsZVVwbG9hZENvbnRyb2wgPSBudWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ292ZXJsYXknKVxyXG4gICAgcHVibGljIG92ZXJsYXk6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoJ3BsYWNlaG9sZGVyJylcclxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XHJcblxyXG4gICAgcHJpdmF0ZSBob29rczogQXJyYXk8RnVuY3Rpb24+ID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGhvc3RFbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50XHJcbiAgICApIHt9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmIChJc051bGxPckVtcHR5KHRoaXMuY29udHJvbCkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IEZpbGVVcGxvYWRDb250cm9sKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldEV2ZW50cygpO1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrQW5kTWFya0FzRGlzYWJsZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaG9va3MuZm9yRWFjaCgoaG9vaykgPT4gaG9vaygpKTtcclxuICAgICAgICB0aGlzLmhvb2tzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5sZW5ndGggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWZpbGVzJylcclxuICAgIHB1YmxpYyBnZXQgaGFzRmlsZXMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbC5pc0xpc3RWaXNpYmxlICYmIHRoaXMuY29udHJvbC5zaXplID4gMDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5nLWludmFsaWQnKVxyXG4gICAgcHVibGljIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbnRyb2wuZGlzYWJsZWQgJiYgdGhpcy5jb250cm9sLmludmFsaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRFdmVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgWydkcmFnJywgJ2RyYWdzdGFydCcsICdkcmFnZW5kJywgJ2RyYWdvdmVyJywgJ2RyYWdlbnRlcicsICdkcmFnbGVhdmUnLCAnZHJvcCddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB0aGlzLnByZXZlbnREcmFnRXZlbnRzKGV2ZW50KSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgWydkcmFnb3ZlcicsICdkcmFnZW50ZXInXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB0aGlzLm9uRHJhZ092ZXIoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBbJ2RyYWdsZWF2ZScsICdkcmFnZW5kJywgJ2Ryb3AnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5jb250cm9sLmRpc2FibGVkICYmIGV2ZW50TmFtZSA9PT0gJ2RyYWdsZWF2ZScgfHwgZXZlbnROYW1lICE9PSAnZHJhZ2xlYXZlJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRHJhZ0xlYXZlKGV2ZW50KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBbJ2RyYWdsZWF2ZSddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLm92ZXJsYXkubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkRyYWdMZWF2ZShldmVudCkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4gdGhpcy5jaGVja0FuZE1hcmtBc0Rpc2FibGVkKCkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrQW5kTWFya0FzRGlzYWJsZWQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByZXZlbnREcmFnRXZlbnRzKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogb24gZmlsZSBvdmVyIGFkZCBjbGFzcyBuYW1lXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIERSQUdPVkVSKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uIG1vdXNlIG91dCByZW1vdmUgY2xhc3MgbmFtZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgRFJBR09WRVIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5hZGRGaWxlcyhmaWxlcyk7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBUT1VDSEVEKTtcclxuICAgIH07XHJcblxyXG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC1hdHRyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNILEtBQUssRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJNUQ7SUFxREksc0NBQ1csaUJBQW9DLEVBQ25DLGNBQTBCLEVBQzFCLFFBQW1CLEVBQ0QsUUFBUTtRQUp0QyxpQkFLSTtRQUpPLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQVk7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FBUixRQUFRLENBQUE7UUFoQi9CLFlBQU8sR0FBc0IsSUFBSSxDQUFDO1FBTWxDLGdCQUFXLEdBQXFCLElBQUksQ0FBQztRQUVwQyxVQUFLLEdBQW9CLEVBQUUsQ0FBQztRQUU1QixrQkFBYSxHQUF3QixFQUFFLENBQUM7UUE4R3hDLFlBQU8sR0FBZTtZQUMxQixLQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsY0FBYyxDQUFD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Qjs7SUFDM0IsZ0RBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIFJlbmRlcmVyMixcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBBZnRlclZpZXdJbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb250cm9sIH0gZnJvbSAnLi4vaGVscGVycy9jb250cm9sLmNsYXNzJztcclxuaW1wb3J0IHsgSXNOdWxsT3JFbXB0eSB9IGZyb20gJy4uL2hlbHBlcnMvaGVscGVycy5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IERSQUdPVkVSLCBUT1VDSEVEIH0gZnJvbSAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBgW2ZpbGUtZHJvcC16b25lXWAsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8ZGl2ICNvdmVybGF5IGNsYXNzPVwib3ZlcmxheVwiICpuZ0lmPVwiZmlsZVVwbG9hZFNlcnZpY2UuaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKVwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1pbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmVmID8gdGVtcGxhdGVSZWYgOiBkZWZhdWx0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgOTYgOTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNjIuOCw2OC4xYzAtMC42LTAuMi0xLjEtMC42LTEuNWMtMC40LTAuNC0wLjktMC42LTEuNS0wLjZzLTEuMSwwLjItMS41LDAuNlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLjQtMC42LDAuOS0wLjYsMS41YzAsMC42LDAuMiwxLjEsMC42LDEuNWMwLjQsMC40LDAuOSwwLjYsMS41LDAuNnMxLjEtMC4yLDEuNS0wLjZTNjIuOCw2OC43LDYyLjgsNjguMXogTTcxLjMsNjguMVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMC0wLjYtMC4yLTEuMS0wLjYtMS41Yy0wLjQtMC40LTAuOS0wLjYtMS41LTAuNmMtMC42LDAtMS4xLDAuMi0xLjUsMC42QzY3LjIsNjcsNjcsNjcuNSw2Nyw2OC4xYzAsMC42LDAuMiwxLjEsMC42LDEuNVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMC45LDAuNiwxLjUsMC42YzAuNiwwLDEuMS0wLjIsMS41LTAuNkM3MS4xLDY5LjIsNzEuMyw2OC43LDcxLjMsNjguMXogTTc1LjUsNjAuN3YxMC42YzAsMC45LTAuMywxLjYtMC45LDIuMlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNiwwLjYtMS40LDAuOS0yLjIsMC45SDIzLjdjLTAuOSwwLTEuNi0wLjMtMi4yLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjJWNjAuN2MwLTAuOSwwLjMtMS42LDAuOS0yLjJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAuNi0wLjYsMS40LTAuOSwyLjItMC45aDE0LjFjMC41LDEuMiwxLjIsMi4yLDIuMywzYzEuMSwwLjgsMi4zLDEuMiwzLjcsMS4yaDguNWMxLjMsMCwyLjYtMC40LDMuNy0xLjJjMS4xLTAuOCwxLjktMS44LDIuMy0zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgxNC4xYzAuOSwwLDEuNiwwLjMsMi4yLDAuOUM3NS4yLDU5LjEsNzUuNSw1OS44LDc1LjUsNjAuN3ogTTY0LjgsMzkuM2MtMC40LDAuOS0xLDEuMy0yLDEuM2gtOC41djE0LjhjMCwwLjYtMC4yLDEuMS0wLjYsMS41XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtMC40LDAuNC0wLjksMC42LTEuNSwwLjZoLTguNWMtMC42LDAtMS4xLTAuMi0xLjUtMC42Yy0wLjQtMC40LTAuNi0wLjktMC42LTEuNVY0MC42aC04LjVjLTAuOSwwLTEuNi0wLjQtMi0xLjNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjQtMC45LTAuMi0xLjYsMC41LTIuM2wxNC44LTE0LjhjMC40LTAuNCwwLjktMC42LDEuNS0wLjZzMS4xLDAuMiwxLjUsMC42TDY0LjMsMzdDNjUsMzcuNyw2NS4xLDM4LjQsNjQuOCwzOS4zelwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGI+RHJvcDwvYj4gaXQgaGVyZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbYC4vZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQuc2Nzc2BdLFxyXG4gICAgcHJvdmlkZXJzOiBbIFxyXG4gICAgICAgIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQXR0cmlidXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29udHJvbDogRmlsZVVwbG9hZENvbnRyb2wgPSBudWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ292ZXJsYXknKVxyXG4gICAgcHVibGljIG92ZXJsYXk6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoJ3BsYWNlaG9sZGVyJylcclxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XHJcblxyXG4gICAgcHJpdmF0ZSBob29rczogQXJyYXk8RnVuY3Rpb24+ID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGhvc3RFbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50XHJcbiAgICApIHt9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmIChJc051bGxPckVtcHR5KHRoaXMuY29udHJvbCkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IEZpbGVVcGxvYWRDb250cm9sKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldEV2ZW50cygpO1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrQW5kTWFya0FzRGlzYWJsZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaG9va3MuZm9yRWFjaCgoaG9vaykgPT4gaG9vaygpKTtcclxuICAgICAgICB0aGlzLmhvb2tzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5sZW5ndGggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWZpbGVzJylcclxuICAgIHB1YmxpYyBnZXQgaGFzRmlsZXMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbC5pc0xpc3RWaXNpYmxlICYmIHRoaXMuY29udHJvbC5zaXplID4gMDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5nLWludmFsaWQnKVxyXG4gICAgcHVibGljIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbnRyb2wuZGlzYWJsZWQgJiYgdGhpcy5jb250cm9sLmludmFsaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRFdmVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgWydkcmFnJywgJ2RyYWdzdGFydCcsICdkcmFnZW5kJywgJ2RyYWdvdmVyJywgJ2RyYWdlbnRlcicsICdkcmFnbGVhdmUnLCAnZHJvcCddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB0aGlzLnByZXZlbnREcmFnRXZlbnRzKGV2ZW50KSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgWydkcmFnb3ZlcicsICdkcmFnZW50ZXInXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB0aGlzLm9uRHJhZ092ZXIoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBbJ2RyYWdsZWF2ZScsICdkcmFnZW5kJywgJ2Ryb3AnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5jb250cm9sLmRpc2FibGVkICYmIGV2ZW50TmFtZSA9PT0gJ2RyYWdsZWF2ZScgfHwgZXZlbnROYW1lICE9PSAnZHJhZ2xlYXZlJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRHJhZ0xlYXZlKGV2ZW50KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBbJ2RyYWdsZWF2ZSddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLm92ZXJsYXkubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkRyYWdMZWF2ZShldmVudCkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4gdGhpcy5jaGVja0FuZE1hcmtBc0Rpc2FibGVkKCkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrQW5kTWFya0FzRGlzYWJsZWQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByZXZlbnREcmFnRXZlbnRzKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogb24gZmlsZSBvdmVyIGFkZCBjbGFzcyBuYW1lXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIERSQUdPVkVSKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uIG1vdXNlIG91dCByZW1vdmUgY2xhc3MgbmFtZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgRFJBR09WRVIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5hZGRGaWxlcyhmaWxlcyk7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBUT1VDSEVEKTtcclxuICAgIH07XHJcblxyXG59Il19

@@ -56,5 +56,5 @@ /**

selector: "file-upload-icon",
template: "\n\n<ng-container [ngSwitch]=\"true\">\n\n <svg *ngSwitchDefault viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase=\"isIcon('image')\" viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M65.1,58.7v10.7H30.9V63l6.4-6.4l4.3,4.3L54.4,48L65.1,58.7z M37.3,52.3c-1.8,0-3.3-0.6-4.6-1.9c-1.3-1.2-1.9-2.8-1.9-4.6\n c0-1.8,0.6-3.3,1.9-4.6c1.3-1.2,2.8-1.9,4.6-1.9s3.3,0.6,4.6,1.9c1.3,1.3,1.9,2.8,1.9,4.6c0,1.8-0.6,3.3-1.9,4.6\n C40.6,51.7,39.1,52.3,37.3,52.3z\"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase=\"isIcon('audio')\" viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M43,46.5c0.4,0.2,0.7,0.5,0.7,1v18.2c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.5-0.1-0.8-0.3l-5.6-5.6h-4.4\n c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8v-6.4c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h4.4l5.6-5.6\n C42.2,46.4,42.6,46.3,43,46.5z M57,69.5c0.7,0,1.3-0.3,1.7-0.8c2.9-3.5,4.3-7.6,4.3-12.2s-1.4-8.6-4.3-12.2\n c-0.4-0.5-0.8-0.7-1.4-0.8c-0.6-0.1-1.1,0.1-1.6,0.5c-0.5,0.4-0.7,0.9-0.8,1.5c-0.1,0.6,0.1,1.1,0.5,1.6c2.2,2.7,3.3,5.9,3.3,9.4\n c0,3.5-1.1,6.7-3.3,9.4c-0.4,0.5-0.5,1-0.5,1.6c0.1,0.6,0.3,1.1,0.8,1.4C56.1,69.4,56.5,69.5,57,69.5z M49.9,64.6\n c0.6,0,1.1-0.2,1.6-0.7c1.9-2.1,2.9-4.5,2.9-7.3s-1-5.3-2.9-7.3c-0.4-0.4-0.9-0.6-1.5-0.7c-0.6,0-1.1,0.2-1.5,0.6s-0.6,0.9-0.7,1.5\n c0,0.6,0.2,1.1,0.6,1.6c1.2,1.3,1.7,2.7,1.7,4.4c0,1.7-0.6,3.1-1.7,4.4c-0.4,0.4-0.6,1-0.6,1.6c0,0.6,0.2,1.1,0.7,1.5\n C48.9,64.4,49.4,64.6,49.9,64.6z\"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase=\"isIcon('text')\" viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M35.1,44.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h23.6c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1\n c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8V44.8z M59.8,52.3\n c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z M59.8,60.9c0.3,0,0.6,0.1,0.8,0.3\n c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z\"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase=\"isIcon('video')\" viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M48,43.7c1.2,0,2.2,0.4,3,1.3c0.8,0.8,1.3,1.9,1.3,3v12.9c0,1.2-0.4,2.2-1.3,3c-0.8,0.8-1.9,1.3-3,1.3H35.1c-1.2,0-2.2-0.4-3-1.3\n c-0.8-0.8-1.3-1.9-1.3-3V48c0-1.2,0.4-2.2,1.3-3c0.8-0.8,1.9-1.3,3-1.3H48z M64.5,43.8c0.4,0.2,0.7,0.5,0.7,1v19.3\n c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.6-0.1-0.8-0.3l-8.9-8.9v-3l8.9-8.9c0.2-0.2,0.5-0.3,0.8-0.3\n C64.2,43.7,64.3,43.7,64.5,43.8z\"/>\n </g>\n </svg>\n\n</ng-container>",
template: "\r\n\r\n<ng-container [ngSwitch]=\"true\">\r\n\r\n <svg *ngSwitchDefault viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('image')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M65.1,58.7v10.7H30.9V63l6.4-6.4l4.3,4.3L54.4,48L65.1,58.7z M37.3,52.3c-1.8,0-3.3-0.6-4.6-1.9c-1.3-1.2-1.9-2.8-1.9-4.6\r\n c0-1.8,0.6-3.3,1.9-4.6c1.3-1.2,2.8-1.9,4.6-1.9s3.3,0.6,4.6,1.9c1.3,1.3,1.9,2.8,1.9,4.6c0,1.8-0.6,3.3-1.9,4.6\r\n C40.6,51.7,39.1,52.3,37.3,52.3z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('audio')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M43,46.5c0.4,0.2,0.7,0.5,0.7,1v18.2c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.5-0.1-0.8-0.3l-5.6-5.6h-4.4\r\n c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8v-6.4c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h4.4l5.6-5.6\r\n C42.2,46.4,42.6,46.3,43,46.5z M57,69.5c0.7,0,1.3-0.3,1.7-0.8c2.9-3.5,4.3-7.6,4.3-12.2s-1.4-8.6-4.3-12.2\r\n c-0.4-0.5-0.8-0.7-1.4-0.8c-0.6-0.1-1.1,0.1-1.6,0.5c-0.5,0.4-0.7,0.9-0.8,1.5c-0.1,0.6,0.1,1.1,0.5,1.6c2.2,2.7,3.3,5.9,3.3,9.4\r\n c0,3.5-1.1,6.7-3.3,9.4c-0.4,0.5-0.5,1-0.5,1.6c0.1,0.6,0.3,1.1,0.8,1.4C56.1,69.4,56.5,69.5,57,69.5z M49.9,64.6\r\n c0.6,0,1.1-0.2,1.6-0.7c1.9-2.1,2.9-4.5,2.9-7.3s-1-5.3-2.9-7.3c-0.4-0.4-0.9-0.6-1.5-0.7c-0.6,0-1.1,0.2-1.5,0.6s-0.6,0.9-0.7,1.5\r\n c0,0.6,0.2,1.1,0.6,1.6c1.2,1.3,1.7,2.7,1.7,4.4c0,1.7-0.6,3.1-1.7,4.4c-0.4,0.4-0.6,1-0.6,1.6c0,0.6,0.2,1.1,0.7,1.5\r\n C48.9,64.4,49.4,64.6,49.9,64.6z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('text')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M35.1,44.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h23.6c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1\r\n c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8V44.8z M59.8,52.3\r\n c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\r\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z M59.8,60.9c0.3,0,0.6,0.1,0.8,0.3\r\n c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\r\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('video')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M48,43.7c1.2,0,2.2,0.4,3,1.3c0.8,0.8,1.3,1.9,1.3,3v12.9c0,1.2-0.4,2.2-1.3,3c-0.8,0.8-1.9,1.3-3,1.3H35.1c-1.2,0-2.2-0.4-3-1.3\r\n c-0.8-0.8-1.3-1.9-1.3-3V48c0-1.2,0.4-2.2,1.3-3c0.8-0.8,1.9-1.3,3-1.3H48z M64.5,43.8c0.4,0.2,0.7,0.5,0.7,1v19.3\r\n c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.6-0.1-0.8-0.3l-8.9-8.9v-3l8.9-8.9c0.2-0.2,0.5-0.3,0.8-0.3\r\n C64.2,43.7,64.3,43.7,64.5,43.8z\"/>\r\n </g>\r\n </svg>\r\n\r\n</ng-container>",
styles: [":host{display:block;border:1px solid #eaeaea;border-radius:4px}:host svg{fill:#909293}"]
},] },
}] }
];

@@ -79,2 +79,2 @@ /** @nocollapse */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC1pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHdEU7SUFrRkksaUNBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRmpELGFBQVEsR0FBVyxTQUFTLENBQUM7SUFHcEMsQ0FBQzs7OztJQUVNLDBDQUFROzs7SUFBZjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7Ozs7SUFFTSx3Q0FBTTs7OztJQUFiLFVBQWMsSUFBMEM7UUFDcEQsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7b0JBQ3RELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSTtvQkFDakQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLO29CQUNsRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07b0JBQ25ELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztvQkFDbEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7WUFDakMsS0FBSyxPQUFPO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNO29CQUN0RCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7b0JBQ2xELElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDO1lBQ2pDLEtBQUssT0FBTztnQkFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztvQkFDckQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLO29CQUNsRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07b0JBQ25ELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDO1lBQ2hDLEtBQUssT0FBTztnQkFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtvQkFDdEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNO29CQUNuRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQztTQUM5RDtJQUNMLENBQUM7O2dCQWhISixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLHNpTEFzRUU7b0JBQ1osTUFBTSxFQUFFLENBQUMsd0ZBQXdGLENBQUM7aUJBQ3JHOzs7O2dCQTdFUSxpQkFBaUI7Ozt1QkFnRnJCLEtBQUs7O0lBb0NWLDhCQUFDO0NBQUEsQUFqSEQsSUFpSEM7U0F0Q1ksdUJBQXVCOzs7SUFFaEMsdUNBQ2tCOztJQUVsQiwyQ0FBb0M7O0lBRXhCLG9EQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogYGZpbGUtdXBsb2FkLWljb25gLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuXHJcbjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInRydWVcIj5cclxuXHJcbiAgICA8c3ZnICpuZ1N3aXRjaERlZmF1bHQgdmlld0JveD1cIjAgMCA5NiA5NlwiPlxyXG4gICAgICAgIDxnPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTcxLjQsMzAuN2MwLjYsMC42LDEuMiwxLjUsMS42LDIuNWMwLjQsMS4xLDAuNywyLjEsMC43LDIuOXYzOC42YzAsMC45LTAuMywxLjctMC45LDIuM1xyXG4gICAgICAgICAgICAgICAgUzcxLjQsNzgsNzAuNSw3OGgtNDVjLTAuOSwwLTEuNy0wLjMtMi4zLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjNWMjEuMmMwLTAuOSwwLjMtMS43LDAuOS0yLjNjMC42LTAuNiwxLjQtMC45LDIuMy0wLjloMzBcclxuICAgICAgICAgICAgICAgIGMwLjksMCwxLjksMC4yLDIuOSwwLjdjMS4xLDAuNCwxLjksMSwyLjUsMS42TDcxLjQsMzAuN3ogTTU2LjYsMjIuNnYxMi42aDEyLjZjLTAuMi0wLjYtMC41LTEuMS0wLjctMS40TDU3LjksMjMuM1xyXG4gICAgICAgICAgICAgICAgQzU3LjcsMjMsNTcuMiwyMi44LDU2LjYsMjIuNnogTTY5LjQsNzMuN1YzOS40SDU1LjVjLTAuOSwwLTEuNy0wLjMtMi4zLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjNWMjIuM0gyNi42djUxLjRINjkuNHpcIi8+XHJcbiAgICAgICAgPC9nPlxyXG4gICAgPC9zdmc+XHJcblxyXG4gICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiaXNJY29uKCdpbWFnZScpXCIgdmlld0JveD1cIjAgMCA5NiA5NlwiPlxyXG4gICAgICAgIDxnPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTcxLjQsMzAuN2MwLjYsMC42LDEuMiwxLjUsMS42LDIuNWMwLjQsMS4xLDAuNywyLjEsMC43LDIuOXYzOC42YzAsMC45LTAuMywxLjctMC45LDIuM1xyXG4gICAgICAgICAgICAgICAgUzcxLjQsNzgsNzAuNSw3OGgtNDVjLTAuOSwwLTEuNy0wLjMtMi4zLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjNWMjEuMmMwLTAuOSwwLjMtMS43LDAuOS0yLjNjMC42LTAuNiwxLjQtMC45LDIuMy0wLjloMzBcclxuICAgICAgICAgICAgICAgIGMwLjksMCwxLjksMC4yLDIuOSwwLjdjMS4xLDAuNCwxLjksMSwyLjUsMS42TDcxLjQsMzAuN3ogTTU2LjYsMjIuNnYxMi42aDEyLjZjLTAuMi0wLjYtMC41LTEuMS0wLjctMS40TDU3LjksMjMuM1xyXG4gICAgICAgICAgICAgICAgQzU3LjcsMjMsNTcuMiwyMi44LDU2LjYsMjIuNnogTTY5LjQsNzMuN1YzOS40SDU1LjVjLTAuOSwwLTEuNy0wLjMtMi4zLTAuOWMtMC42LTAuNi0wLjktMS40LTAuOS0yLjNWMjIuM0gyNi42djUxLjRINjkuNHpcclxuICAgICAgICAgICAgICAgIE02NS4xLDU4Ljd2MTAuN0gzMC45VjYzbDYuNC02LjRsNC4zLDQuM0w1NC40LDQ4TDY1LjEsNTguN3ogTTM3LjMsNTIuM2MtMS44LDAtMy4zLTAuNi00LjYtMS45Yy0xLjMtMS4yLTEuOS0yLjgtMS45LTQuNlxyXG4gICAgICAgICAgICAgICAgYzAtMS44LDAuNi0zLjMsMS45LTQuNmMxLjMtMS4yLDIuOC0xLjksNC42LTEuOXMzLjMsMC42LDQuNiwxLjljMS4zLDEuMywxLjksMi44LDEuOSw0LjZjMCwxLjgtMC42LDMuMy0xLjksNC42XHJcbiAgICAgICAgICAgICAgICBDNDAuNiw1MS43LDM5LjEsNTIuMywzNy4zLDUyLjN6XCIvPlxyXG4gICAgICAgIDwvZz5cclxuICAgIDwvc3ZnPlxyXG5cclxuICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cImlzSWNvbignYXVkaW8nKVwiIHZpZXdCb3g9XCIwIDAgOTYgOTZcIj5cclxuICAgICAgICA8Zz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk03MS40LDMwLjdjMC42LDAuNiwxLjIsMS41LDEuNiwyLjVjMC40LDEuMSwwLjcsMi4xLDAuNywyLjl2MzguNmMwLDAuOS0wLjMsMS43LTAuOSwyLjNcclxuICAgICAgICAgICAgICAgIFM3MS40LDc4LDcwLjUsNzhoLTQ1Yy0wLjksMC0xLjctMC4zLTIuMy0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4zVjIxLjJjMC0wLjksMC4zLTEuNywwLjktMi4zYzAuNi0wLjYsMS40LTAuOSwyLjMtMC45aDMwXHJcbiAgICAgICAgICAgICAgICBjMC45LDAsMS45LDAuMiwyLjksMC43YzEuMSwwLjQsMS45LDEsMi41LDEuNkw3MS40LDMwLjd6IE01Ni42LDIyLjZ2MTIuNmgxMi42Yy0wLjItMC42LTAuNS0xLjEtMC43LTEuNEw1Ny45LDIzLjNcclxuICAgICAgICAgICAgICAgIEM1Ny43LDIzLDU3LjIsMjIuOCw1Ni42LDIyLjZ6IE02OS40LDczLjdWMzkuNEg1NS41Yy0wLjksMC0xLjctMC4zLTIuMy0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4zVjIyLjNIMjYuNnY1MS40SDY5LjR6XHJcbiAgICAgICAgICAgICAgICBNNDMsNDYuNWMwLjQsMC4yLDAuNywwLjUsMC43LDF2MTguMmMwLDAuNS0wLjIsMC44LTAuNywxYy0wLjIsMC0wLjMsMC4xLTAuNCwwLjFjLTAuMywwLTAuNS0wLjEtMC44LTAuM2wtNS42LTUuNmgtNC40XHJcbiAgICAgICAgICAgICAgICBjLTAuMywwLTAuNi0wLjEtMC44LTAuM2MtMC4yLTAuMi0wLjMtMC41LTAuMy0wLjh2LTYuNGMwLTAuMywwLjEtMC42LDAuMy0wLjhjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNoNC40bDUuNi01LjZcclxuICAgICAgICAgICAgICAgIEM0Mi4yLDQ2LjQsNDIuNiw0Ni4zLDQzLDQ2LjV6IE01Nyw2OS41YzAuNywwLDEuMy0wLjMsMS43LTAuOGMyLjktMy41LDQuMy03LjYsNC4zLTEyLjJzLTEuNC04LjYtNC4zLTEyLjJcclxuICAgICAgICAgICAgICAgIGMtMC40LTAuNS0wLjgtMC43LTEuNC0wLjhjLTAuNi0wLjEtMS4xLDAuMS0xLjYsMC41Yy0wLjUsMC40LTAuNywwLjktMC44LDEuNWMtMC4xLDAuNiwwLjEsMS4xLDAuNSwxLjZjMi4yLDIuNywzLjMsNS45LDMuMyw5LjRcclxuICAgICAgICAgICAgICAgIGMwLDMuNS0xLjEsNi43LTMuMyw5LjRjLTAuNCwwLjUtMC41LDEtMC41LDEuNmMwLjEsMC42LDAuMywxLjEsMC44LDEuNEM1Ni4xLDY5LjQsNTYuNSw2OS41LDU3LDY5LjV6IE00OS45LDY0LjZcclxuICAgICAgICAgICAgICAgIGMwLjYsMCwxLjEtMC4yLDEuNi0wLjdjMS45LTIuMSwyLjktNC41LDIuOS03LjNzLTEtNS4zLTIuOS03LjNjLTAuNC0wLjQtMC45LTAuNi0xLjUtMC43Yy0wLjYsMC0xLjEsMC4yLTEuNSwwLjZzLTAuNiwwLjktMC43LDEuNVxyXG4gICAgICAgICAgICAgICAgYzAsMC42LDAuMiwxLjEsMC42LDEuNmMxLjIsMS4zLDEuNywyLjcsMS43LDQuNGMwLDEuNy0wLjYsMy4xLTEuNyw0LjRjLTAuNCwwLjQtMC42LDEtMC42LDEuNmMwLDAuNiwwLjIsMS4xLDAuNywxLjVcclxuICAgICAgICAgICAgICAgIEM0OC45LDY0LjQsNDkuNCw2NC42LDQ5LjksNjQuNnpcIi8+XHJcbiAgICAgICAgPC9nPlxyXG4gICAgPC9zdmc+XHJcblxyXG4gICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiaXNJY29uKCd0ZXh0JylcIiB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgPGc+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNzEuNCwzMC43YzAuNiwwLjYsMS4yLDEuNSwxLjYsMi41YzAuNCwxLjEsMC43LDIuMSwwLjcsMi45djM4LjZjMCwwLjktMC4zLDEuNy0wLjksMi4zXHJcbiAgICAgICAgICAgICAgICBTNzEuNCw3OCw3MC41LDc4aC00NWMtMC45LDAtMS43LTAuMy0yLjMtMC45Yy0wLjYtMC42LTAuOS0xLjQtMC45LTIuM1YyMS4yYzAtMC45LDAuMy0xLjcsMC45LTIuM2MwLjYtMC42LDEuNC0wLjksMi4zLTAuOWgzMFxyXG4gICAgICAgICAgICAgICAgYzAuOSwwLDEuOSwwLjIsMi45LDAuN2MxLjEsMC40LDEuOSwxLDIuNSwxLjZMNzEuNCwzMC43eiBNNTYuNiwyMi42djEyLjZoMTIuNmMtMC4yLTAuNi0wLjUtMS4xLTAuNy0xLjRMNTcuOSwyMy4zXHJcbiAgICAgICAgICAgICAgICBDNTcuNywyMyw1Ny4yLDIyLjgsNTYuNiwyMi42eiBNNjkuNCw3My43VjM5LjRINTUuNWMtMC45LDAtMS43LTAuMy0yLjMtMC45Yy0wLjYtMC42LTAuOS0xLjQtMC45LTIuM1YyMi4zSDI2LjZ2NTEuNEg2OS40elxyXG4gICAgICAgICAgICAgICAgTTM1LjEsNDQuOGMwLTAuMywwLjEtMC42LDAuMy0wLjhjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNoMjMuNmMwLjMsMCwwLjYsMC4xLDAuOCwwLjNjMC4yLDAuMiwwLjMsMC41LDAuMywwLjh2Mi4xXHJcbiAgICAgICAgICAgICAgICBjMCwwLjMtMC4xLDAuNi0wLjMsMC44Yy0wLjIsMC4yLTAuNSwwLjMtMC44LDAuM0gzNi4yYy0wLjMsMC0wLjYtMC4xLTAuOC0wLjNjLTAuMi0wLjItMC4zLTAuNS0wLjMtMC44VjQ0Ljh6IE01OS44LDUyLjNcclxuICAgICAgICAgICAgICAgIGMwLjMsMCwwLjYsMC4xLDAuOCwwLjNjMC4yLDAuMiwwLjMsMC41LDAuMywwLjh2Mi4xYzAsMC4zLTAuMSwwLjYtMC4zLDAuOGMtMC4yLDAuMi0wLjUsMC4zLTAuOCwwLjNIMzYuMmMtMC4zLDAtMC42LTAuMS0wLjgtMC4zXHJcbiAgICAgICAgICAgICAgICBjLTAuMi0wLjItMC4zLTAuNS0wLjMtMC44di0yLjFjMC0wLjMsMC4xLTAuNiwwLjMtMC44YzAuMi0wLjIsMC41LTAuMywwLjgtMC4zSDU5Ljh6IE01OS44LDYwLjljMC4zLDAsMC42LDAuMSwwLjgsMC4zXHJcbiAgICAgICAgICAgICAgICBjMC4yLDAuMiwwLjMsMC41LDAuMywwLjh2Mi4xYzAsMC4zLTAuMSwwLjYtMC4zLDAuOGMtMC4yLDAuMi0wLjUsMC4zLTAuOCwwLjNIMzYuMmMtMC4zLDAtMC42LTAuMS0wLjgtMC4zXHJcbiAgICAgICAgICAgICAgICBjLTAuMi0wLjItMC4zLTAuNS0wLjMtMC44di0yLjFjMC0wLjMsMC4xLTAuNiwwLjMtMC44YzAuMi0wLjIsMC41LTAuMywwLjgtMC4zSDU5Ljh6XCIvPlxyXG4gICAgICAgIDwvZz5cclxuICAgIDwvc3ZnPlxyXG5cclxuICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cImlzSWNvbigndmlkZW8nKVwiIHZpZXdCb3g9XCIwIDAgOTYgOTZcIj5cclxuICAgICAgICA8Zz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk03MS40LDMwLjdjMC42LDAuNiwxLjIsMS41LDEuNiwyLjVjMC40LDEuMSwwLjcsMi4xLDAuNywyLjl2MzguNmMwLDAuOS0wLjMsMS43LTAuOSwyLjNcclxuICAgICAgICAgICAgICAgIFM3MS40LDc4LDcwLjUsNzhoLTQ1Yy0wLjksMC0xLjctMC4zLTIuMy0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4zVjIxLjJjMC0wLjksMC4zLTEuNywwLjktMi4zYzAuNi0wLjYsMS40LTAuOSwyLjMtMC45aDMwXHJcbiAgICAgICAgICAgICAgICBjMC45LDAsMS45LDAuMiwyLjksMC43YzEuMSwwLjQsMS45LDEsMi41LDEuNkw3MS40LDMwLjd6IE01Ni42LDIyLjZ2MTIuNmgxMi42Yy0wLjItMC42LTAuNS0xLjEtMC43LTEuNEw1Ny45LDIzLjNcclxuICAgICAgICAgICAgICAgIEM1Ny43LDIzLDU3LjIsMjIuOCw1Ni42LDIyLjZ6IE02OS40LDczLjdWMzkuNEg1NS41Yy0wLjksMC0xLjctMC4zLTIuMy0wLjljLTAuNi0wLjYtMC45LTEuNC0wLjktMi4zVjIyLjNIMjYuNnY1MS40SDY5LjR6XHJcbiAgICAgICAgICAgICAgICBNNDgsNDMuN2MxLjIsMCwyLjIsMC40LDMsMS4zYzAuOCwwLjgsMS4zLDEuOSwxLjMsM3YxMi45YzAsMS4yLTAuNCwyLjItMS4zLDNjLTAuOCwwLjgtMS45LDEuMy0zLDEuM0gzNS4xYy0xLjIsMC0yLjItMC40LTMtMS4zXHJcbiAgICAgICAgICAgICAgICBjLTAuOC0wLjgtMS4zLTEuOS0xLjMtM1Y0OGMwLTEuMiwwLjQtMi4yLDEuMy0zYzAuOC0wLjgsMS45LTEuMywzLTEuM0g0OHogTTY0LjUsNDMuOGMwLjQsMC4yLDAuNywwLjUsMC43LDF2MTkuM1xyXG4gICAgICAgICAgICAgICAgYzAsMC41LTAuMiwwLjgtMC43LDFjLTAuMiwwLTAuMywwLjEtMC40LDAuMWMtMC4zLDAtMC42LTAuMS0wLjgtMC4zbC04LjktOC45di0zbDguOS04LjljMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNcclxuICAgICAgICAgICAgICAgIEM2NC4yLDQzLjcsNjQuMyw0My43LDY0LjUsNDMuOHpcIi8+XHJcbiAgICAgICAgPC9nPlxyXG4gICAgPC9zdmc+XHJcblxyXG48L25nLWNvbnRhaW5lcj5gLFxyXG4gICAgc3R5bGVzOiBbYDpob3N0e2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjFweCBzb2xpZCAjZWFlYWVhO2JvcmRlci1yYWRpdXM6NHB4fTpob3N0IHN2Z3tmaWxsOiM5MDkyOTN9YF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGU6IEZpbGU7XHJcblxyXG4gICAgcHVibGljIGZpbGVUeXBlOiBzdHJpbmcgPSAndW5rbm93bic7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5maWxlVHlwZSA9IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuZ2V0RmlsZVR5cGUodGhpcy5maWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNJY29uKHR5cGU6ICd0ZXh0JyB8ICdhdWRpbycgfCAndmlkZW8nIHwgJ2ltYWdlJyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbGVUeXBlID09PSAnaHRtbCcgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ2NzcycgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnY3N2JyB8fCB0aGlzLmZpbGVUeXBlID09PSAnanMnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ3BkZicgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ3BwdCcgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAneGxzJyB8fCB0aGlzLmZpbGVUeXBlID09PSAneGxzeCcgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAneG1sJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnZG9jJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdkb2N4JztcclxuICAgICAgICAgICAgY2FzZSAnYXVkaW8nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZVR5cGUgPT09ICdhYWMnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdtaWRpJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdvZ2EnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICd3YXYnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ3dlYmEnO1xyXG4gICAgICAgICAgICBjYXNlICdpbWFnZSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWxlVHlwZSA9PT0gJ3BuZycgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ2JtcCcgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnZ2lmJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnanBnJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdzdmcnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICd3ZWJwJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdpY28nO1xyXG4gICAgICAgICAgICBjYXNlICd2aWRlbyc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWxlVHlwZSA9PT0gJ2F2aScgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ21wZWcnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ29ndicgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ3dlYm0nIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJzNncCcgfHwgdGhpcy5maWxlVHlwZSA9PT0gJzNnMic7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC1pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHdEU7SUFZSSxpQ0FBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFGakQsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQUdwQyxDQUFDOzs7O0lBRU0sMENBQVE7OztJQUFmO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs7OztJQUVNLHdDQUFNOzs7O0lBQWIsVUFBYyxJQUEwQztRQUNwRCxRQUFRLElBQUksRUFBRTtZQUNWLEtBQUssTUFBTTtnQkFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztvQkFDdEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJO29CQUNqRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7b0JBQ2xELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtvQkFDbkQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLO29CQUNsRCxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQztZQUNqQyxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07b0JBQ3RELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztvQkFDbEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7WUFDakMsS0FBSyxPQUFPO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLO29CQUNyRCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7b0JBQ2xELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtvQkFDbkQsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUM7WUFDaEMsS0FBSyxPQUFPO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNO29CQUN0RCxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07b0JBQ25ELElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQzs7Z0JBMUNKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1Qiw0ckxBQWdEOztpQkFFbkQ7Ozs7Z0JBUFEsaUJBQWlCOzs7dUJBVXJCLEtBQUs7O0lBb0NWLDhCQUFDO0NBQUEsQUEzQ0QsSUEyQ0M7U0F0Q1ksdUJBQXVCOzs7SUFFaEMsdUNBQ2tCOztJQUVsQiwyQ0FBb0M7O0lBRXhCLG9EQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogYGZpbGUtdXBsb2FkLWljb25gLFxyXG4gICAgdGVtcGxhdGVVcmw6IGAuL2ZpbGUtdXBsb2FkLWljb24uY29tcG9uZW50Lmh0bWxgLFxyXG4gICAgc3R5bGVVcmxzOiBbYC4vZmlsZS11cGxvYWQtaWNvbi5jb21wb25lbnQuc2Nzc2BdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmaWxlOiBGaWxlO1xyXG5cclxuICAgIHB1YmxpYyBmaWxlVHlwZTogc3RyaW5nID0gJ3Vua25vd24nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlsZVR5cGUgPSB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLmdldEZpbGVUeXBlKHRoaXMuZmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzSWNvbih0eXBlOiAndGV4dCcgfCAnYXVkaW8nIHwgJ3ZpZGVvJyB8ICdpbWFnZScpOiBib29sZWFuIHtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAndGV4dCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWxlVHlwZSA9PT0gJ2h0bWwnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdjc3MnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ2NzdicgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ2pzJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdwZGYnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdwcHQnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ3hscycgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ3hsc3gnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ3htbCcgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ2RvYycgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnZG9jeCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2F1ZGlvJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbGVUeXBlID09PSAnYWFjJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnbWlkaScgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnb2dhJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnd2F2JyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICd3ZWJhJztcclxuICAgICAgICAgICAgY2FzZSAnaW1hZ2UnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZVR5cGUgPT09ICdwbmcnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdibXAnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9PT0gJ2dpZicgfHwgdGhpcy5maWxlVHlwZSA9PT0gJ2pwZycgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnc3ZnJyB8fCB0aGlzLmZpbGVUeXBlID09PSAnd2VicCcgfHxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVUeXBlID09PSAnaWNvJztcclxuICAgICAgICAgICAgY2FzZSAndmlkZW8nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZVR5cGUgPT09ICdhdmknIHx8IHRoaXMuZmlsZVR5cGUgPT09ICdtcGVnJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICdvZ3YnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICd3ZWJtJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPT09ICczZ3AnIHx8IHRoaXMuZmlsZVR5cGUgPT09ICczZzInO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=

@@ -39,3 +39,3 @@ /**

styles: [":host{display:block;font-size:14px;color:#646464}:host:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}file-upload-icon{float:left;width:30px;height:36px;margin:0 10px 0 0}.remove-btn{font-size:12px;cursor:pointer}.remove-btn svg{display:inline-block;vertical-align:-20%;height:18px;width:18px}"]
},] },
}] }
];

@@ -64,2 +64,2 @@ /** @nocollapse */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFO0lBcUNJLHFDQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUN4RCxDQUFDOzs7OztJQUVNLGdEQUFVOzs7O0lBQWpCLFVBQWtCLElBQVU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Ozs7SUFFTSxtREFBYTs7OztJQUFwQixVQUFxQixJQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDOztnQkE5Q0osU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxpbkRBcUJUO29CQUNELE1BQU0sRUFBRSxDQUFDLHlWQUF1VixDQUFDO2lCQUNwVzs7OztnQkEzQlEsaUJBQWlCOzs7d0JBOEJyQixLQUFLO3VCQUdMLEtBQUs7MEJBR0wsS0FBSzs7SUFhVixrQ0FBQztDQUFBLEFBL0NELElBK0NDO1NBckJZLDJCQUEyQjs7O0lBRXBDLDRDQUNxQjs7SUFFckIsMkNBQ2tCOztJQUVsQiw4Q0FDa0M7O0lBRXRCLHdEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuLy4uL2hlbHBlcnMvY29udHJvbC5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IGBmaWxlLXVwbG9hZC1saXN0LWl0ZW1gLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgIDxmaWxlLXVwbG9hZC1pY29uIFtmaWxlXT1cImZpbGVcIj48L2ZpbGUtdXBsb2FkLWljb24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pbmZvXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+ICh7eyBjYWxjdWxhdGVTaXplKCBmaWxlLnNpemUgKSB9fSlcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtYnV0dG9uc1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVtb3ZlLWJ0blwiIChjbGljayk9XCJyZW1vdmVGaWxlKGZpbGUpXCI+XHJcbiAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgICAgIDxnPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk00MC41LDY2LjhWMzkuM2MwLTAuNC0wLjEtMC43LTAuNC0wLjlTMzkuNiwzOCwzOS4zLDM4aC0yLjVjLTAuNCwwLTAuNywwLjEtMC45LDAuNFxyXG4gICAgICAgICAgICAgICAgICAgIHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40UzQwLjUsNjcuMSw0MC41LDY2Ljh6IE01MC41LDY2LjhWMzkuM1xyXG4gICAgICAgICAgICAgICAgICAgIGMwLTAuNC0wLjEtMC43LTAuNC0wLjlTNDkuNiwzOCw0OS4zLDM4aC0yLjVjLTAuNCwwLTAuNywwLjEtMC45LDAuNHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNFxyXG4gICAgICAgICAgICAgICAgICAgIGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40UzUwLjUsNjcuMSw1MC41LDY2Ljh6IE02MC41LDY2LjhWMzkuM2MwLTAuNC0wLjEtMC43LTAuNC0wLjlTNTkuNiwzOCw1OS4zLDM4aC0yLjVcclxuICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLTAuNywwLjEtMC45LDAuNHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40XHJcbiAgICAgICAgICAgICAgICAgICAgUzYwLjUsNjcuMSw2MC41LDY2Ljh6IE0zOS4zLDI4aDE3LjVsLTEuOS00LjZjLTAuMi0wLjItMC40LTAuNC0wLjctMC40SDQxLjhjLTAuMywwLjEtMC41LDAuMi0wLjcsMC40TDM5LjMsMjh6IE03NS41LDI5LjN2Mi41XHJcbiAgICAgICAgICAgICAgICAgICAgYzAsMC40LTAuMSwwLjctMC40LDAuOVM3NC42LDMzLDc0LjMsMzNoLTMuOHYzN2MwLDIuMi0wLjYsNC0xLjgsNS42UzY2LDc4LDY0LjMsNzhIMzEuOGMtMS43LDAtMy4yLTAuOC00LjQtMi4zcy0xLjgtMy40LTEuOC01LjVcclxuICAgICAgICAgICAgICAgICAgICBWMzNoLTMuOGMtMC40LDAtMC43LTAuMS0wLjktMC40cy0wLjQtMC41LTAuNC0wLjl2LTIuNWMwLTAuNCwwLjEtMC43LDAuNC0wLjlzMC41LTAuNCwwLjktMC40aDEyLjFsMi43LTYuNWMwLjQtMSwxLjEtMS44LDIuMS0yLjVcclxuICAgICAgICAgICAgICAgICAgICBzMi0xLDMuMS0xaDEyLjVjMSwwLDIuMSwwLjMsMy4xLDFzMS43LDEuNSwyLjEsMi41bDIuNyw2LjVoMTIuMWMwLjQsMCwwLjcsMC4xLDAuOSwwLjRTNzUuNSwyOC45LDc1LjUsMjkuM3pcIi8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICA8L3N2Zz4gUmVtb3ZlPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVzOiBbYDpob3N0e2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjE0cHg7Y29sb3I6IzY0NjQ2NH06aG9zdDphZnRlcntjbGVhcjpib3RoO2NvbnRlbnQ6XCJcXFxcMEEwXCI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtsaW5lLWhlaWdodDowO3Zpc2liaWxpdHk6aGlkZGVuO3pvb206MX1maWxlLXVwbG9hZC1pY29ue2Zsb2F0OmxlZnQ7d2lkdGg6MzBweDtoZWlnaHQ6MzZweDttYXJnaW46MCAxMHB4IDAgMH0ucmVtb3ZlLWJ0bntmb250LXNpemU6MTJweDtjdXJzb3I6cG9pbnRlcn0ucmVtb3ZlLWJ0biBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246LTIwJTtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fWBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTGlzdEl0ZW1Db21wb25lbnQge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGU6IEZpbGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjb250cm9sOiBGaWxlVXBsb2FkQ29udHJvbDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVGaWxlKGZpbGU6IEZpbGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVtb3ZlRmlsZShmaWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FsY3VsYXRlU2l6ZShzaXplOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuY2FsY3VsYXRlU2l6ZShzaXplKTtcclxuICAgIH1cclxufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFO0lBcUNJLHFDQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUN4RCxDQUFDOzs7OztJQUVNLGdEQUFVOzs7O0lBQWpCLFVBQWtCLElBQVU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Ozs7SUFFTSxtREFBYTs7OztJQUFwQixVQUFxQixJQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDOztnQkE5Q0osU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxpbkRBcUJUOztpQkFFSjs7OztnQkEzQlEsaUJBQWlCOzs7d0JBOEJyQixLQUFLO3VCQUdMLEtBQUs7MEJBR0wsS0FBSzs7SUFhVixrQ0FBQztDQUFBLEFBL0NELElBK0NDO1NBckJZLDJCQUEyQjs7O0lBRXBDLDRDQUNxQjs7SUFFckIsMkNBQ2tCOztJQUVsQiw4Q0FDa0M7O0lBRXRCLHdEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuLy4uL2hlbHBlcnMvY29udHJvbC5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IGBmaWxlLXVwbG9hZC1saXN0LWl0ZW1gLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgIDxmaWxlLXVwbG9hZC1pY29uIFtmaWxlXT1cImZpbGVcIj48L2ZpbGUtdXBsb2FkLWljb24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pbmZvXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+ICh7eyBjYWxjdWxhdGVTaXplKCBmaWxlLnNpemUgKSB9fSlcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtYnV0dG9uc1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVtb3ZlLWJ0blwiIChjbGljayk9XCJyZW1vdmVGaWxlKGZpbGUpXCI+XHJcbiAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgICAgIDxnPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk00MC41LDY2LjhWMzkuM2MwLTAuNC0wLjEtMC43LTAuNC0wLjlTMzkuNiwzOCwzOS4zLDM4aC0yLjVjLTAuNCwwLTAuNywwLjEtMC45LDAuNFxyXG4gICAgICAgICAgICAgICAgICAgIHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40UzQwLjUsNjcuMSw0MC41LDY2Ljh6IE01MC41LDY2LjhWMzkuM1xyXG4gICAgICAgICAgICAgICAgICAgIGMwLTAuNC0wLjEtMC43LTAuNC0wLjlTNDkuNiwzOCw0OS4zLDM4aC0yLjVjLTAuNCwwLTAuNywwLjEtMC45LDAuNHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNFxyXG4gICAgICAgICAgICAgICAgICAgIGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40UzUwLjUsNjcuMSw1MC41LDY2Ljh6IE02MC41LDY2LjhWMzkuM2MwLTAuNC0wLjEtMC43LTAuNC0wLjlTNTkuNiwzOCw1OS4zLDM4aC0yLjVcclxuICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLTAuNywwLjEtMC45LDAuNHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40XHJcbiAgICAgICAgICAgICAgICAgICAgUzYwLjUsNjcuMSw2MC41LDY2Ljh6IE0zOS4zLDI4aDE3LjVsLTEuOS00LjZjLTAuMi0wLjItMC40LTAuNC0wLjctMC40SDQxLjhjLTAuMywwLjEtMC41LDAuMi0wLjcsMC40TDM5LjMsMjh6IE03NS41LDI5LjN2Mi41XHJcbiAgICAgICAgICAgICAgICAgICAgYzAsMC40LTAuMSwwLjctMC40LDAuOVM3NC42LDMzLDc0LjMsMzNoLTMuOHYzN2MwLDIuMi0wLjYsNC0xLjgsNS42UzY2LDc4LDY0LjMsNzhIMzEuOGMtMS43LDAtMy4yLTAuOC00LjQtMi4zcy0xLjgtMy40LTEuOC01LjVcclxuICAgICAgICAgICAgICAgICAgICBWMzNoLTMuOGMtMC40LDAtMC43LTAuMS0wLjktMC40cy0wLjQtMC41LTAuNC0wLjl2LTIuNWMwLTAuNCwwLjEtMC43LDAuNC0wLjlzMC41LTAuNCwwLjktMC40aDEyLjFsMi43LTYuNWMwLjQtMSwxLjEtMS44LDIuMS0yLjVcclxuICAgICAgICAgICAgICAgICAgICBzMi0xLDMuMS0xaDEyLjVjMSwwLDIuMSwwLjMsMy4xLDFzMS43LDEuNSwyLjEsMi41bDIuNyw2LjVoMTIuMWMwLjQsMCwwLjcsMC4xLDAuOSwwLjRTNzUuNSwyOC45LDc1LjUsMjkuM3pcIi8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICA8L3N2Zz4gUmVtb3ZlPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbYC4vZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRMaXN0SXRlbUNvbXBvbmVudCB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbmRleDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZTogRmlsZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRyb2w6IEZpbGVVcGxvYWRDb250cm9sO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZUZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZW1vdmVGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYWxjdWxhdGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkU2VydmljZS5jYWxjdWxhdGVTaXplKHNpemUpO1xyXG4gICAgfVxyXG59Il19

@@ -11,2 +11,4 @@ /**

import { FileUploadService } from './../services/file-upload.service';
import { InsertAnimation } from './../animations/insert.animation';
import { ZoomAnimation } from './../animations/zoom.animation';
/** @type {?} */

@@ -31,2 +33,7 @@ export var DRAGOVER = 'dragover';

};
/**
* animation fields
*/
this.zoomText = 'static';
this.listVisible = false;
this.hooks = [];

@@ -104,3 +111,4 @@ this.subscriptions = [];

this.subscriptions.push(this.control.statusChanges.subscribe(function (status) { return _this.checkAndMarkAsDisabled(); }));
this.subscriptions.push(this.control.valueChanges.subscribe(function (files) { return _this.cdr.markForCheck(); }));
this.subscriptions.push(this.control.valueChanges.subscribe(function (files) { return _this.renderView(); }));
this.subscriptions.push(this.control.listVisibilityChanges.subscribe(function (status) { return _this.toggleListVisibility(); }));
};

@@ -136,2 +144,48 @@ /**

/**
* @return {?}
*/
FileUploadComponent.prototype.renderView = /**
* @return {?}
*/
function () {
if (!this.listVisible) {
this.zoomText = this.control.isListVisible && this.control.size > 0 ? 'zoomOut' : 'static';
}
this.cdr.markForCheck();
};
/**
* @return {?}
*/
FileUploadComponent.prototype.showList = /**
* @return {?}
*/
function () {
if (this.zoomText !== 'static') {
this.listVisible = true;
}
};
/**
* @return {?}
*/
FileUploadComponent.prototype.hideList = /**
* @return {?}
*/
function () {
this.listVisible = false;
};
/**
* @return {?}
*/
FileUploadComponent.prototype.toggleListVisibility = /**
* @return {?}
*/
function () {
this.listVisible = this.control.isListVisible && this.control.size > 0;
if (this.listVisible) {
this.renderer.addClass(this.hostElementRef.nativeElement, 'list-visible');
this.zoomText = 'static';
}
this.cdr.markForCheck();
};
/**
* on file over add class name

@@ -285,7 +339,49 @@ */

};
/**
* @param {?} event
* @return {?}
*/
FileUploadComponent.prototype.zoomAnimationDone = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (this.control.isListVisible && this.control.size > 0) {
this.showList();
}
else {
this.hideList();
}
if (event.fromState === 'static' && event.toState === 'zoomOut') {
this.renderer.addClass(this.hostElementRef.nativeElement, 'hide-text');
}
else {
this.renderer.removeClass(this.hostElementRef.nativeElement, 'hide-text');
}
if (event.toState === 'zoomIn') {
this.zoomText = 'static';
}
};
/**
* @param {?} event
* @return {?}
*/
FileUploadComponent.prototype.animationListFinished = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (event.toState === 'void') {
this.zoomText = 'zoomIn';
this.renderer.removeClass(this.hostElementRef.nativeElement, 'list-visible');
}
if (event.fromState === 'void') {
this.zoomText = 'static';
this.renderer.addClass(this.hostElementRef.nativeElement, 'list-visible');
}
};
FileUploadComponent.decorators = [
{ type: Component, args: [{
selector: "file-upload",
template: "<label class=\"upload-input\">\n\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : defaultTemplate; context: templateContext\"></ng-container>\n\n <ng-template #defaultTemplate let-isFileDragDropAvailable=\"isFileDragDropAvailable\">\n <div class=\"icon\">\n <svg viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z\"/>\n </g>\n </svg>\n </div>\n \n <div class=\"upload-text\">\n <ng-container *ngIf=\"isFileDragDropAvailable; else isNotDragDropAvailable\">\n <b>Drag and drop</b> files<br> or click here\n </ng-container>\n <ng-template #isNotDragDropAvailable>\n <b>Click here</b> to<br> choose a files\n </ng-template>\n </div>\n </ng-template>\n\n <input #inputRef type=\"file\" class=\"files-input\" multiple (change)=\"onInputChange($event)\">\n</label>\n\n<div class=\"upload-list\" *ngIf=\"(control.listVisibilityChanges | async) && control.size > 0\">\n <ng-template ngFor let-file let-i=\"index\" [ngForOf]=\"control.valueChanges | async\">\n <ng-container *ngTemplateOutlet=\"listItem ? listItem : defaultItemTemplate; context: { $implicit: file, file: file, index: i, control: control }\"></ng-container>\n </ng-template>\n \n <ng-template #defaultItemTemplate let-i=\"index\" let-file=\"file\" let-control=\"control\">\n <file-upload-list-item [index]=\"i\" [file]=\"file\" [control]=\"control\"></file-upload-list-item>\n </ng-template>\n</div>",
styles: [":host,:host>*{box-sizing:border-box}:host{overflow:hidden;display:block;background:#fafafa;padding:20px 66px 20px 20px;min-height:140px;outline:#92b0b3 dashed 1px;outline-offset:-10px;position:relative}:host(.dragover){outline-width:2px}:host(.disabled){opacity:.5;cursor:no-drop}.files-input{width:.1px;height:.1px;opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;float:left;margin-right:20px}:host(.has-files) .icon{margin:0}.icon svg{fill:#909293}.upload-input:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}.upload-input{cursor:pointer;display:inline-block;color:#646464;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:all .15s ease-in-out}:host(.disabled) .upload-input{cursor:not-allowed}:host(.has-files) .upload-input{top:20px;left:100%;margin-left:-20px;-webkit-transform:translate(-100%,0);transform:translate(-100%,0);text-align:center}.upload-text{overflow:hidden;width:auto}:host(.has-files) .upload-text{display:none}:host(.dragover:not(.disabled)) .upload-input,:host(:not(.disabled)) .upload-input:hover{color:#80a9d2}:host(.dragover:not(.disabled)) .icon svg,:host(:not(.disabled)) .upload-input:hover svg{fill:#80a9d2}:host(:not(.disabled)) .upload-input:hover .icon{border-color:#80a9d2}file-upload-list-item{padding:10px 0 0}file-upload-list-item:first-child{padding:0}"],
template: "<label class=\"upload-input\" [@zoomAnimation]=\"zoomText\" (@zoomAnimation.done)=\"zoomAnimationDone($event)\">\r\n\r\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : defaultTemplate; context: templateContext\"></ng-container>\r\n\r\n <ng-template #defaultTemplate let-isFileDragDropAvailable=\"isFileDragDropAvailable\">\r\n <div class=\"icon\">\r\n <svg viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\r\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\r\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\r\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\r\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\r\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\r\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\r\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\r\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z\"/>\r\n </g>\r\n </svg>\r\n </div>\r\n \r\n <div class=\"upload-text\">\r\n <ng-container *ngIf=\"isFileDragDropAvailable; else isNotDragDropAvailable\">\r\n <b>Drag and drop</b> files<br> or click here\r\n </ng-container>\r\n <ng-template #isNotDragDropAvailable>\r\n <b>Click here</b> to<br> choose a files\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n\r\n <input #inputRef type=\"file\" class=\"files-input\" multiple (change)=\"onInputChange($event)\">\r\n</label>\r\n\r\n<div class=\"upload-list\" *ngIf=\"(control.listVisibilityChanges | async) && control.size > 0 && listVisible\" [@insertAnimation]=\"control.size\" (@insertAnimation.done)=\"animationListFinished($event)\">\r\n <ng-template ngFor let-file let-i=\"index\" [ngForOf]=\"control.valueChanges | async\">\r\n <ng-container *ngTemplateOutlet=\"listItem ? listItem : defaultItemTemplate; context: { $implicit: file, file: file, index: i, control: control }\"></ng-container>\r\n </ng-template>\r\n \r\n <ng-template #defaultItemTemplate let-i=\"index\" let-file=\"file\" let-control=\"control\">\r\n <file-upload-list-item [index]=\"i\" [file]=\"file\" [control]=\"control\"></file-upload-list-item>\r\n </ng-template>\r\n</div>",
providers: [

@@ -299,4 +395,9 @@ FileUploadService,

],
changeDetection: ChangeDetectionStrategy.OnPush
},] },
changeDetection: ChangeDetectionStrategy.OnPush,
animations: [
ZoomAnimation,
InsertAnimation
],
styles: [":host,:host>*{box-sizing:border-box}:host{overflow:hidden;display:block;background:#fafafa;padding:20px 66px 20px 20px;min-height:140px;outline:#92b0b3 dashed 1px;outline-offset:-10px;position:relative}:host(.dragover){outline-width:2px}:host(.disabled){opacity:.5;cursor:no-drop}.files-input{width:.1px;height:.1px;opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;float:left}.icon svg{fill:#909293}.upload-input:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}.upload-input{cursor:pointer;display:inline-block;color:#646464;position:absolute;top:50%;left:50%;margin:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}:host(.disabled) .upload-input{cursor:not-allowed}:host(.list-visible) .upload-input{top:20px;left:100%;margin-left:-20px;-webkit-transform:translate(-100%,0);transform:translate(-100%,0);text-align:center}.upload-text{overflow:hidden;width:auto;position:relative;padding-left:20px}:host(.hide-text) .upload-input{opacity:0}:host(.list-visible) .upload-text{display:none}:host(.dragover:not(.disabled)) .upload-input,:host(:not(.disabled)) .upload-input:hover{color:#80a9d2}:host(.dragover:not(.disabled)) .icon svg,:host(:not(.disabled)) .upload-input:hover svg{fill:#80a9d2}file-upload-list-item{padding:10px 0 0}file-upload-list-item:first-child{padding:0}"]
}] }
];

@@ -334,3 +435,10 @@ /** @nocollapse */

FileUploadComponent.prototype.templateContext;
/**
* animation fields
* @type {?}
*/
FileUploadComponent.prototype.zoomText;
/** @type {?} */
FileUploadComponent.prototype.listVisible;
/** @type {?} */
FileUploadComponent.prototype.hooks;

@@ -354,2 +462,2 @@ /** @type {?} */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUd0RSxNQUFNLEtBQU8sUUFBUSxHQUFHLFVBQVU7O0FBQ2xDLE1BQU0sS0FBTyxPQUFPLEdBQUcsWUFBWTtBQUVuQztJQStFSSw2QkFDVyxpQkFBb0MsRUFDbkMsY0FBMEIsRUFDMUIsUUFBbUIsRUFDRCxRQUFRLEVBQzFCLEdBQXNCO1FBTGxDLGlCQU1JO1FBTE8sc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBWTtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ0QsYUFBUSxHQUFSLFFBQVEsQ0FBQTtRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXpCM0IsWUFBTyxHQUFzQixJQUFJLENBQUM7UUFHbEMsZ0JBQVcsR0FBcUIsSUFBSSxDQUFDO1FBR3JD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QztvQkFDaitDLFNBQVMsRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLG1CQUFtQixFQUFuQixDQUFtQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7Ozs7Z0JBN0RRLGlCQUFpQjtnQkFsQnRCLFVBQVU7Z0JBRVYsU0FBUztnREF5R0osTUFBTSxTQUFDLFFBQVE7Z0JBaEdwQixpQkFBaUI7OzswQkF1RWhCLEtBQUs7OEJBR0wsWUFBWSxTQUFDLGFBQWE7MkJBRzFCLFlBQVksU0FBQyxNQUFNO3dCQUduQixTQUFTLFNBQUMsVUFBVTsyQkFzQ3BCLFdBQVcsU0FBQyxpQkFBaUI7NEJBSzdCLFdBQVcsU0FBQyxrQkFBa0I7eUJBOEQ5QixZQUFZLFNBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDOztJQStEcEMsMEJBQUM7Q0FBQSxBQTNPRCxJQTJPQztTQW5MWSxtQkFBbUI7OztJQUU1QixzQ0FDeUM7O0lBRXpDLDBDQUM0Qzs7SUFFNUMsdUNBQ3lDOztJQUV6QyxvQ0FDMkM7O0lBRTNDLDhDQUdFOztJQUVGLG9DQUFvQzs7SUFFcEMsNENBQWdEOztJQXlJaEQsdUNBQXNEOztJQVV0RCxzQ0FFRTs7SUFsSkUsZ0RBQTJDOztJQUMzQyw2Q0FBa0M7O0lBQ2xDLHVDQUEyQjs7SUFDM0IsdUNBQWtDOztJQUNsQyxrQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbmplY3QsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIENoYW5nZURldGVjdG9yUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuLy4uL2hlbHBlcnMvY29udHJvbC5jbGFzcyc7XHJcbmltcG9ydCB7IElzTnVsbE9yRW1wdHkgfSBmcm9tICcuLy4uL2hlbHBlcnMvaGVscGVycy5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgY29uc3QgRFJBR09WRVIgPSAnZHJhZ292ZXInO1xyXG5leHBvcnQgY29uc3QgVE9VQ0hFRCA9ICduZy10b3VjaGVkJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IGBmaWxlLXVwbG9hZGAsXHJcbiAgICB0ZW1wbGF0ZTogYDxsYWJlbCBjbGFzcz1cInVwbG9hZC1pbnB1dFwiPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVJlZiA/IHRlbXBsYXRlUmVmIDogZGVmYXVsdFRlbXBsYXRlOyBjb250ZXh0OiB0ZW1wbGF0ZUNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZSBsZXQtaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGU9XCJpc0ZpbGVEcmFnRHJvcEF2YWlsYWJsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCA5NiA5NlwiPlxyXG4gICAgICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02Mi44LDY4LjFjMC0wLjYtMC4yLTEuMS0wLjYtMS41Yy0wLjQtMC40LTAuOS0wLjYtMS41LTAuNnMtMS4xLDAuMi0xLjUsMC42XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGMtMC40LDAuNC0wLjYsMC45LTAuNiwxLjVjMCwwLjYsMC4yLDEuMSwwLjYsMS41YzAuNCwwLjQsMC45LDAuNiwxLjUsMC42czEuMS0wLjIsMS41LTAuNlM2Mi44LDY4LjcsNjIuOCw2OC4xeiBNNzEuMyw2OC4xXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGMwLTAuNi0wLjItMS4xLTAuNi0xLjVjLTAuNC0wLjQtMC45LTAuNi0xLjUtMC42Yy0wLjYsMC0xLjEsMC4yLTEuNSwwLjZDNjcuMiw2Nyw2Nyw2Ny41LDY3LDY4LjFjMCwwLjYsMC4yLDEuMSwwLjYsMS41XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHMwLjksMC42LDEuNSwwLjZjMC42LDAsMS4xLTAuMiwxLjUtMC42QzcxLjEsNjkuMiw3MS4zLDY4LjcsNzEuMyw2OC4xeiBNNzUuNSw2MC43djEwLjZjMCwwLjktMC4zLDEuNi0wLjksMi4yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGMtMC42LDAuNi0xLjQsMC45LTIuMiwwLjlIMjMuN2MtMC45LDAtMS42LTAuMy0yLjItMC45Yy0wLjYtMC42LTAuOS0xLjQtMC45LTIuMlY2MC43YzAtMC45LDAuMy0xLjYsMC45LTIuMlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjMC42LTAuNiwxLjQtMC45LDIuMi0wLjloMTQuMWMwLjUsMS4yLDEuMiwyLjIsMi4zLDNjMS4xLDAuOCwyLjMsMS4yLDMuNywxLjJoOC41YzEuMywwLDIuNi0wLjQsMy43LTEuMmMxLjEtMC44LDEuOS0xLjgsMi4zLTNcclxuICAgICAgICAgICAgICAgICAgICAgICAgaDE0LjFjMC45LDAsMS42LDAuMywyLjIsMC45Qzc1LjIsNTkuMSw3NS41LDU5LjgsNzUuNSw2MC43eiBNNjQuOCwzOS4zYy0wLjQsMC45LTEsMS4zLTIsMS4zaC04LjV2MTQuOGMwLDAuNi0wLjIsMS4xLTAuNiwxLjVcclxuICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjQsMC40LTAuOSwwLjYtMS41LDAuNmgtOC41Yy0wLjYsMC0xLjEtMC4yLTEuNS0wLjZjLTAuNC0wLjQtMC42LTAuOS0wLjYtMS41VjQwLjZoLTguNWMtMC45LDAtMS42LTAuNC0yLTEuM1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjLTAuNC0wLjktMC4yLTEuNiwwLjUtMi4zbDE0LjgtMTQuOGMwLjQtMC40LDAuOS0wLjYsMS41LTAuNnMxLjEsMC4yLDEuNSwwLjZMNjQuMywzN0M2NSwzNy43LDY1LjEsMzguNCw2NC44LDM5LjN6XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtdGV4dFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGU7IGVsc2UgaXNOb3REcmFnRHJvcEF2YWlsYWJsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGI+RHJhZyBhbmQgZHJvcDwvYj4gZmlsZXM8YnI+IG9yIGNsaWNrIGhlcmVcclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXNOb3REcmFnRHJvcEF2YWlsYWJsZT5cclxuICAgICAgICAgICAgICAgIDxiPkNsaWNrIGhlcmU8L2I+IHRvPGJyPiBjaG9vc2UgYSBmaWxlc1xyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8aW5wdXQgI2lucHV0UmVmIHR5cGU9XCJmaWxlXCIgY2xhc3M9XCJmaWxlcy1pbnB1dFwiIG11bHRpcGxlIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCI+XHJcbjwvbGFiZWw+XHJcblxyXG48ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RcIiAqbmdJZj1cIihjb250cm9sLmxpc3RWaXNpYmlsaXR5Q2hhbmdlcyB8IGFzeW5jKSAmJiBjb250cm9sLnNpemUgPiAwXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWZpbGUgbGV0LWk9XCJpbmRleFwiIFtuZ0Zvck9mXT1cImNvbnRyb2wudmFsdWVDaGFuZ2VzIHwgYXN5bmNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEl0ZW0gPyBsaXN0SXRlbSA6IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBmaWxlLCBmaWxlOiBmaWxlLCBpbmRleDogaSwgY29udHJvbDogY29udHJvbCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgXHJcbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVGVtcGxhdGUgbGV0LWk9XCJpbmRleFwiIGxldC1maWxlPVwiZmlsZVwiIGxldC1jb250cm9sPVwiY29udHJvbFwiPlxyXG4gICAgICAgIDxmaWxlLXVwbG9hZC1saXN0LWl0ZW0gIFtpbmRleF09XCJpXCIgW2ZpbGVdPVwiZmlsZVwiIFtjb250cm9sXT1cImNvbnRyb2xcIj48L2ZpbGUtdXBsb2FkLWxpc3QtaXRlbT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PmAsXHJcbiAgICBzdHlsZXM6IFtgOmhvc3QsOmhvc3Q+Kntib3gtc2l6aW5nOmJvcmRlci1ib3h9Omhvc3R7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmFmYWZhO3BhZGRpbmc6MjBweCA2NnB4IDIwcHggMjBweDttaW4taGVpZ2h0OjE0MHB4O291dGxpbmU6IzkyYjBiMyBkYXNoZWQgMXB4O291dGxpbmUtb2Zmc2V0Oi0xMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfTpob3N0KC5kcmFnb3Zlcil7b3V0bGluZS13aWR0aDoycHh9Omhvc3QoLmRpc2FibGVkKXtvcGFjaXR5Oi41O2N1cnNvcjpuby1kcm9wfS5maWxlcy1pbnB1dHt3aWR0aDouMXB4O2hlaWdodDouMXB4O29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMDAlO3RvcDotMTAwJTtvdmVyZmxvdzpoaWRkZW59Lmljb257aGVpZ2h0OjM1cHg7d2lkdGg6MzVweDtib3JkZXI6MXB4IHNvbGlkICNlYWVhZWE7Ym9yZGVyLXJhZGl1czo0cHg7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6MjBweH06aG9zdCguaGFzLWZpbGVzKSAuaWNvbnttYXJnaW46MH0uaWNvbiBzdmd7ZmlsbDojOTA5MjkzfS51cGxvYWQtaW5wdXQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OlwiXFxcXDBBMFwiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7bGluZS1oZWlnaHQ6MDt2aXNpYmlsaXR5OmhpZGRlbjt6b29tOjF9LnVwbG9hZC1pbnB1dHtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjojNjQ2NDY0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zaXRpb246YWxsIC4xNXMgZWFzZS1pbi1vdXR9Omhvc3QoLmRpc2FibGVkKSAudXBsb2FkLWlucHV0e2N1cnNvcjpub3QtYWxsb3dlZH06aG9zdCguaGFzLWZpbGVzKSAudXBsb2FkLWlucHV0e3RvcDoyMHB4O2xlZnQ6MTAwJTttYXJnaW4tbGVmdDotMjBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSwwKTt0ZXh0LWFsaWduOmNlbnRlcn0udXBsb2FkLXRleHR7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOmF1dG99Omhvc3QoLmhhcy1maWxlcykgLnVwbG9hZC10ZXh0e2Rpc3BsYXk6bm9uZX06aG9zdCguZHJhZ292ZXI6bm90KC5kaXNhYmxlZCkpIC51cGxvYWQtaW5wdXQsOmhvc3QoOm5vdCguZGlzYWJsZWQpKSAudXBsb2FkLWlucHV0OmhvdmVye2NvbG9yOiM4MGE5ZDJ9Omhvc3QoLmRyYWdvdmVyOm5vdCguZGlzYWJsZWQpKSAuaWNvbiBzdmcsOmhvc3QoOm5vdCguZGlzYWJsZWQpKSAudXBsb2FkLWlucHV0OmhvdmVyIHN2Z3tmaWxsOiM4MGE5ZDJ9Omhvc3QoOm5vdCguZGlzYWJsZWQpKSAudXBsb2FkLWlucHV0OmhvdmVyIC5pY29ue2JvcmRlci1jb2xvcjojODBhOWQyfWZpbGUtdXBsb2FkLWxpc3QtaXRlbXtwYWRkaW5nOjEwcHggMCAwfWZpbGUtdXBsb2FkLWxpc3QtaXRlbTpmaXJzdC1jaGlsZHtwYWRkaW5nOjB9YF0sXHJcbiAgICBwcm92aWRlcnM6IFsgXHJcbiAgICAgICAgRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZVVwbG9hZENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRyb2w6IEZpbGVVcGxvYWRDb250cm9sID0gbnVsbDtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdwbGFjZWhvbGRlcicpXHJcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoJ2l0ZW0nKVxyXG4gICAgcHVibGljIGxpc3RJdGVtOiBUZW1wbGF0ZVJlZjxhbnk+ID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdpbnB1dFJlZicpXHJcbiAgICBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcblxyXG4gICAgcHVibGljIHRlbXBsYXRlQ29udGV4dCA9IHtcclxuICAgICAgICAkaW1wbGljaXQ6IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKSxcclxuICAgICAgICBpc0ZpbGVEcmFnRHJvcEF2YWlsYWJsZTogdGhpcy5maWxlVXBsb2FkU2VydmljZS5pc0ZpbGVEcmFnRHJvcEF2YWlsYWJsZSgpXHJcbiAgICB9O1xyXG5cclxuICAgIHByaXZhdGUgaG9va3M6IEFycmF5PEZ1bmN0aW9uPiA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudCxcclxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge31cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKElzTnVsbE9yRW1wdHkodGhpcy5jb250cm9sKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wgPSBuZXcgRmlsZVVwbG9hZENvbnRyb2woKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0RXZlbnRzKCk7XHJcbiAgICAgICAgdGhpcy5jaGVja0FuZE1hcmtBc0Rpc2FibGVkKCk7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0VG9Gb3JtKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMuaG9va3MuZm9yRWFjaCgoaG9vaykgPT4gaG9vaygpKTtcclxuICAgICAgICB0aGlzLmhvb2tzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5sZW5ndGggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWZpbGVzJylcclxuICAgIHB1YmxpYyBnZXQgaGFzRmlsZXMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbC5pc0xpc3RWaXNpYmxlICYmIHRoaXMuY29udHJvbC5zaXplID4gMDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5nLWludmFsaWQnKVxyXG4gICAgcHVibGljIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbnRyb2wuZGlzYWJsZWQgJiYgdGhpcy5jb250cm9sLmludmFsaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRFdmVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgWydkcmFnJywgJ2RyYWdzdGFydCcsICdkcmFnZW5kJywgJ2RyYWdvdmVyJywgJ2RyYWdlbnRlcicsICdkcmFnbGVhdmUnLCAnZHJvcCddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvb2tzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB0aGlzLnByZXZlbnREcmFnRXZlbnRzKGV2ZW50KSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgWydkcmFnb3ZlcicsICdkcmFnZW50ZXInXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB0aGlzLm9uRHJhZ092ZXIoZXZlbnQpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBbJ2RyYWdsZWF2ZScsICdkcmFnZW5kJywgJ2Ryb3AnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIChldmVudDogYW55KSA9PiB0aGlzLm9uRHJhZ0xlYXZlKGV2ZW50KSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB0aGlzLmNoZWNrQW5kTWFya0FzRGlzYWJsZWQoKSlcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGZpbGVzKSA9PiB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tBbmRNYXJrQXNEaXNhYmxlZCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcmV2ZW50RHJhZ0V2ZW50cyhldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uIGZpbGUgb3ZlciBhZGQgY2xhc3MgbmFtZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBEUkFHT1ZFUik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBvbiBtb3VzZSBvdXQgcmVtb3ZlIGNsYXNzIG5hbWVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIERSQUdPVkVSKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcztcclxuICAgICAgICB0aGlzLmNvbnRyb2wuYWRkRmlsZXMoZmlsZXMpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gKGV2ZW50LnRhcmdldCkgYXMgSFRNTElucHV0RWxlbWVudDtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLmFkZEZpbGVzKGlucHV0LmZpbGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jbGVhcklucHV0RWwoKTtcclxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsZWFySW5wdXRFbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb25cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjb25uZWN0VG9Gb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodikgPT4gdGhpcy5vbkNoYW5nZSh2KSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgICAvKipcclxuICAgICAgKiBtb2RlbCAtPiB2aWV3IGNoYW5nZXNcclxuICAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKGZpbGVzOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZmlsZXMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZmlsZXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAodjogQXJyYXk8RmlsZT4pID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIHJlZ2lzdGVyIGZ1bmN0aW9uIHdoaWNoIHdpbGwgYmUgY2FsbGVkIG9uIFVJIGNoYW5nZVxyXG4gICAgICogdG8gdXBkYXRlIHZpZXcgLT4gbW9kZWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2OiBBcnJheTxGaWxlPikgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uVG91Y2g6ICgpID0+IHZvaWQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFRPVUNIRUQpO1xyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuZGlzYWJsZShpc0Rpc2FibGVkKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFJekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRS9ELE1BQU0sS0FBTyxRQUFRLEdBQUcsVUFBVTs7QUFDbEMsTUFBTSxLQUFPLE9BQU8sR0FBRyxZQUFZO0FBRW5DO0lBNkNJLDZCQUNXLGlCQUFvQyxFQUNuQyxjQUEwQixFQUMxQixRQUFtQixFQUNELFFBQVEsRUFDMUIsR0FBc0I7UUFMbEMsaUJBTUk7UUFMTyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUFZO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDRCxhQUFRLEdBQVIsUUFBUSxDQUFBO1FB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Q29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbmplY3QsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIENoYW5nZURldGVjdG9yUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb250cm9sIH0gZnJvbSAnLi8uLi9oZWxwZXJzL2NvbnRyb2wuY2xhc3MnO1xyXG5pbXBvcnQgeyBJc051bGxPckVtcHR5IH0gZnJvbSAnLi8uLi9oZWxwZXJzL2hlbHBlcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IEluc2VydEFuaW1hdGlvbiB9IGZyb20gJy4vLi4vYW5pbWF0aW9ucy9pbnNlcnQuYW5pbWF0aW9uJztcclxuaW1wb3J0IHsgWm9vbUFuaW1hdGlvbiB9IGZyb20gJy4vLi4vYW5pbWF0aW9ucy96b29tLmFuaW1hdGlvbic7XHJcblxyXG5leHBvcnQgY29uc3QgRFJBR09WRVIgPSAnZHJhZ292ZXInO1xyXG5leHBvcnQgY29uc3QgVE9VQ0hFRCA9ICduZy10b3VjaGVkJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IGBmaWxlLXVwbG9hZGAsXHJcbiAgICB0ZW1wbGF0ZVVybDogYC4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWxgLFxyXG4gICAgc3R5bGVVcmxzOiBbYC4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3NgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIEZpbGVVcGxvYWRTZXJ2aWNlLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbGVVcGxvYWRDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIF0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICBab29tQW5pbWF0aW9uLFxyXG4gICAgICAgIEluc2VydEFuaW1hdGlvblxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjb250cm9sOiBGaWxlVXBsb2FkQ29udHJvbCA9IG51bGw7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZCgncGxhY2Vob2xkZXInKVxyXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+ID0gbnVsbDtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdpdGVtJylcclxuICAgIHB1YmxpYyBsaXN0SXRlbTogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnKVxyXG4gICAgcHVibGljIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICAgIHB1YmxpYyB0ZW1wbGF0ZUNvbnRleHQgPSB7XHJcbiAgICAgICAgJGltcGxpY2l0OiB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLmlzRmlsZURyYWdEcm9wQXZhaWxhYmxlKCksXHJcbiAgICAgICAgaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGU6IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKVxyXG4gICAgfTtcclxuXHJcbiAgICAvKiogYW5pbWF0aW9uIGZpZWxkcyAqL1xyXG4gICAgcHVibGljIHpvb21UZXh0OiAnem9vbU91dCcgfCAnem9vbUluJyB8ICdzdGF0aWMnID0gJ3N0YXRpYyc7XHJcbiAgICBwdWJsaWMgbGlzdFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIGhvb2tzOiBBcnJheTxGdW5jdGlvbj4gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgICApIHt9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmIChJc051bGxPckVtcHR5KHRoaXMuY29udHJvbCkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IEZpbGVVcGxvYWRDb250cm9sKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNldEV2ZW50cygpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tBbmRNYXJrQXNEaXNhYmxlZCgpO1xyXG4gICAgICAgIHRoaXMuY29ubmVjdFRvRm9ybSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNkci5kZXRhY2goKTtcclxuICAgICAgICB0aGlzLmhvb2tzLmZvckVhY2goKGhvb2spID0+IGhvb2soKSk7XHJcbiAgICAgICAgdGhpcy5ob29rcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzY3JpcHRpb24pID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1maWxlcycpXHJcbiAgICBwdWJsaWMgZ2V0IGhhc0ZpbGVzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2wuaXNMaXN0VmlzaWJsZSAmJiB0aGlzLmNvbnRyb2wuc2l6ZSA+IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uZy1pbnZhbGlkJylcclxuICAgIHB1YmxpYyBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5jb250cm9sLmRpc2FibGVkICYmIHRoaXMuY29udHJvbC5pbnZhbGlkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0RXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIFsnZHJhZycsICdkcmFnc3RhcnQnLCAnZHJhZ2VuZCcsICdkcmFnb3ZlcicsICdkcmFnZW50ZXInLCAnZHJhZ2xlYXZlJywgJ2Ryb3AnXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5wcmV2ZW50RHJhZ0V2ZW50cyhldmVudCkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIFsnZHJhZ292ZXInLCAnZHJhZ2VudGVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9va3MucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkRyYWdPdmVyKGV2ZW50KSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgWydkcmFnbGVhdmUnLCAnZHJhZ2VuZCcsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9va3MucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkRyYWdMZWF2ZShldmVudCkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4gdGhpcy5jaGVja0FuZE1hcmtBc0Rpc2FibGVkKCkpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChmaWxlcykgPT4gdGhpcy5yZW5kZXJWaWV3KCkpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5saXN0VmlzaWJpbGl0eUNoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHRoaXMudG9nZ2xlTGlzdFZpc2liaWxpdHkoKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tBbmRNYXJrQXNEaXNhYmxlZCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcmV2ZW50RHJhZ0V2ZW50cyhldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlclZpZXcoKTogdm9pZCB7XHJcbiAgICAgICAgaWYoIXRoaXMubGlzdFZpc2libGUpe1xyXG4gICAgICAgICAgICB0aGlzLnpvb21UZXh0ID0gdGhpcy5jb250cm9sLmlzTGlzdFZpc2libGUgJiYgdGhpcy5jb250cm9sLnNpemUgPiAwID8gJ3pvb21PdXQnIDogJ3N0YXRpYyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2hvd0xpc3QoKTogdm9pZCB7XHJcbiAgICAgICAgaWYodGhpcy56b29tVGV4dCAhPT0gJ3N0YXRpYycpe1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoaWRlTGlzdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxpc3RWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0b2dnbGVMaXN0VmlzaWJpbGl0eSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxpc3RWaXNpYmxlID0gdGhpcy5jb250cm9sLmlzTGlzdFZpc2libGUgJiYgdGhpcy5jb250cm9sLnNpemUgPiAwO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdFZpc2libGUpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdsaXN0LXZpc2libGUnKTtcclxuICAgICAgICAgICAgdGhpcy56b29tVGV4dCA9ICdzdGF0aWMnO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uIGZpbGUgb3ZlciBhZGQgY2xhc3MgbmFtZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBEUkFHT1ZFUik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBvbiBtb3VzZSBvdXQgcmVtb3ZlIGNsYXNzIG5hbWVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIERSQUdPVkVSKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcztcclxuICAgICAgICB0aGlzLmNvbnRyb2wuYWRkRmlsZXMoZmlsZXMpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gKGV2ZW50LnRhcmdldCkgYXMgSFRNTElucHV0RWxlbWVudDtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sLmFkZEZpbGVzKGlucHV0LmZpbGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jbGVhcklucHV0RWwoKTtcclxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsZWFySW5wdXRFbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb25cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjb25uZWN0VG9Gb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodikgPT4gdGhpcy5vbkNoYW5nZSh2KSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgICAvKipcclxuICAgICAgKiBtb2RlbCAtPiB2aWV3IGNoYW5nZXNcclxuICAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKGZpbGVzOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZmlsZXMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZmlsZXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAodjogQXJyYXk8RmlsZT4pID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIHJlZ2lzdGVyIGZ1bmN0aW9uIHdoaWNoIHdpbGwgYmUgY2FsbGVkIG9uIFVJIGNoYW5nZVxyXG4gICAgICogdG8gdXBkYXRlIHZpZXcgLT4gbW9kZWxcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2OiBBcnJheTxGaWxlPikgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uVG91Y2g6ICgpID0+IHZvaWQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFRPVUNIRUQpO1xyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuZGlzYWJsZShpc0Rpc2FibGVkKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgem9vbUFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYodGhpcy5jb250cm9sLmlzTGlzdFZpc2libGUgJiYgdGhpcy5jb250cm9sLnNpemUgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0xpc3QoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmhpZGVMaXN0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZihldmVudC5mcm9tU3RhdGUgPT09ICdzdGF0aWMnICYmIGV2ZW50LnRvU3RhdGUgPT09ICd6b29tT3V0Jyl7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaGlkZS10ZXh0Jyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdoaWRlLXRleHQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGV2ZW50LnRvU3RhdGUgPT09ICd6b29tSW4nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVRleHQgPSAnc3RhdGljJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFuaW1hdGlvbkxpc3RGaW5pc2hlZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZihldmVudC50b1N0YXRlID09PSAndm9pZCcpe1xyXG4gICAgICAgICAgICB0aGlzLnpvb21UZXh0ID0gJ3pvb21Jbic7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbGlzdC12aXNpYmxlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50LmZyb21TdGF0ZSA9PT0gJ3ZvaWQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVRleHQgPSAnc3RhdGljJztcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdsaXN0LXZpc2libGUnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19

@@ -97,3 +97,3 @@ /**

}
},] },
},] }
];

@@ -191,3 +191,3 @@ FileSizeValidator.propDecorators = {

host: { '[attr.fileslimit]': 'fileslimit ? fileslimit : null' }
},] },
},] }
];

@@ -281,3 +281,3 @@ FilesLimitValidator.propDecorators = {

host: { '[attr.accept]': 'accept ? accept : null' }
},] },
},] }
];

@@ -284,0 +284,0 @@ FilesAcceptValidator.propDecorators = {

@@ -15,2 +15,3 @@ /**

import { CommonModule } from '@angular/common';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FileUploadComponent } from './components/file-upload.component';

@@ -42,3 +43,4 @@ import { FileUploadListItemComponent } from './components/file-upload-list-item.component';

ReactiveFormsModule,
FormsModule
FormsModule,
BrowserAnimationsModule
],

@@ -64,3 +66,3 @@ declarations: [

]
},] },
},] }
];

@@ -78,2 +80,2 @@ /** @nocollapse */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImZpbGUtdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU9BLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFpQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RDtJQStCSSwwQkFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQyxvRkFBb0Y7UUFDcEYsMkRBQTJEO0lBQy9ELENBQUM7Ozs7SUFFRCx3Q0FBYTs7O0lBQWIsY0FBaUIsQ0FBQzs7Z0JBcENyQixRQUFRLFNBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3FCQUNkO29CQUNELFlBQVksRUFBRTt3QkFDVixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IsdUJBQXVCO3dCQUV2Qiw0QkFBNEI7d0JBRTVCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixvQkFBb0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7d0JBQ25CLDRCQUE0Qjt3QkFFNUIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDdkI7b0JBQ0QsZUFBZSxFQUFFO3dCQUNiLG1CQUFtQjtxQkFDdEI7aUJBQ0o7Ozs7Z0JBNUNrQixRQUFROztJQXFEM0IsdUJBQUM7Q0FBQSxBQXJDRCxJQXFDQztTQVJZLGdCQUFnQjs7O0lBRWIsb0NBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogbDEwblxyXG4gKiBcclxuICogQnkgSXZhbiBQaW50YXIsIGh0dHA6Ly93d3cucGludGFyLWl2YW4uY29tXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3BJdmFuL2ZpbGUtdXBsb2FkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZFxyXG4gKi9cclxuaW1wb3J0IHsgTmdNb2R1bGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLWljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZEF0dHJpYnV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1hdHRyLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBGaWxlU2l6ZVZhbGlkYXRvciwgRmlsZXNMaW1pdFZhbGlkYXRvciwgRmlsZXNBY2NlcHRWYWxpZGF0b3IgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy5kaXJlY3RpdmUnO1xyXG5cclxuXHJcbmV4cG9ydCB7IEZpbGVVcGxvYWRDb250cm9sIH0gZnJvbSAnLi9oZWxwZXJzL2NvbnRyb2wuY2xhc3MnO1xyXG5leHBvcnQgeyBGaWxlVXBsb2FkVmFsaWRhdG9ycywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICcuL2hlbHBlcnMvdmFsaWRhdG9ycy5jbGFzcyc7XHJcbmV4cG9ydCB7IEZpbGVVcGxvYWRUeXBlcyB9IGZyb20gJy4vaGVscGVycy9maWxlLXR5cGVzLmNsYXNzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbGVVcGxvYWRMaXN0SXRlbUNvbXBvbmVudCxcclxuICAgICAgICBGaWxlVXBsb2FkSWNvbkNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgRmlsZVVwbG9hZEF0dHJpYnV0ZUNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgRmlsZVNpemVWYWxpZGF0b3IsXHJcbiAgICAgICAgRmlsZXNMaW1pdFZhbGlkYXRvcixcclxuICAgICAgICBGaWxlc0FjY2VwdFZhbGlkYXRvclxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbGVVcGxvYWRBdHRyaWJ1dGVDb21wb25lbnQsXHJcblxyXG4gICAgICAgIEZpbGVTaXplVmFsaWRhdG9yLFxyXG4gICAgICAgIEZpbGVzTGltaXRWYWxpZGF0b3IsXHJcbiAgICAgICAgRmlsZXNBY2NlcHRWYWxpZGF0b3JcclxuICAgIF0sXHJcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtcclxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTW9kdWxlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIC8vIGNvbnN0IGZpbGVVcGxvYWRFbGVtZW50ID0gY3JlYXRlQ3VzdG9tRWxlbWVudChGaWxlVXBsb2FkQ29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xyXG4gICAgICAgIC8vIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZmlsZS11cGxvYWQnLCBmaWxlVXBsb2FkRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdEb0Jvb3RzdHJhcCgpIHt9XHJcbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImZpbGUtdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU9BLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFpQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RDtJQWdDSSwwQkFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQyxvRkFBb0Y7UUFDcEYsMkRBQTJEO0lBQy9ELENBQUM7Ozs7SUFFRCx3Q0FBYTs7O0lBQWIsY0FBaUIsQ0FBQzs7Z0JBckNyQixRQUFRLFNBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLHVCQUF1QjtxQkFDMUI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBRXZCLDRCQUE0Qjt3QkFFNUIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUU1QixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3FCQUN2QjtvQkFDRCxlQUFlLEVBQUU7d0JBQ2IsbUJBQW1CO3FCQUN0QjtpQkFDSjs7OztnQkE5Q2tCLFFBQVE7O0lBdUQzQix1QkFBQztDQUFBLEFBdENELElBc0NDO1NBUlksZ0JBQWdCOzs7SUFFYixvQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBsMTBuXHJcbiAqXHJcbiAqIEJ5IEl2YW4gUGludGFyLCBodHRwOi8vd3d3LnBpbnRhci1pdmFuLmNvbVxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcclxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wSXZhbi9maWxlLXVwbG9hZC9ibG9iL21hc3Rlci9SRUFETUUubWRcclxuICovXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5cclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLWljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZEF0dHJpYnV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1hdHRyLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBGaWxlU2l6ZVZhbGlkYXRvciwgRmlsZXNMaW1pdFZhbGlkYXRvciwgRmlsZXNBY2NlcHRWYWxpZGF0b3IgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy5kaXJlY3RpdmUnO1xyXG5cclxuXHJcbmV4cG9ydCB7IEZpbGVVcGxvYWRDb250cm9sIH0gZnJvbSAnLi9oZWxwZXJzL2NvbnRyb2wuY2xhc3MnO1xyXG5leHBvcnQgeyBGaWxlVXBsb2FkVmFsaWRhdG9ycywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICcuL2hlbHBlcnMvdmFsaWRhdG9ycy5jbGFzcyc7XHJcbmV4cG9ydCB7IEZpbGVVcGxvYWRUeXBlcyB9IGZyb20gJy4vaGVscGVycy9maWxlLXR5cGVzLmNsYXNzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbGVVcGxvYWRMaXN0SXRlbUNvbXBvbmVudCxcclxuICAgICAgICBGaWxlVXBsb2FkSWNvbkNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgRmlsZVVwbG9hZEF0dHJpYnV0ZUNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgRmlsZVNpemVWYWxpZGF0b3IsXHJcbiAgICAgICAgRmlsZXNMaW1pdFZhbGlkYXRvcixcclxuICAgICAgICBGaWxlc0FjY2VwdFZhbGlkYXRvclxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbGVVcGxvYWRBdHRyaWJ1dGVDb21wb25lbnQsXHJcblxyXG4gICAgICAgIEZpbGVTaXplVmFsaWRhdG9yLFxyXG4gICAgICAgIEZpbGVzTGltaXRWYWxpZGF0b3IsXHJcbiAgICAgICAgRmlsZXNBY2NlcHRWYWxpZGF0b3JcclxuICAgIF0sXHJcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtcclxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTW9kdWxlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIC8vIGNvbnN0IGZpbGVVcGxvYWRFbGVtZW50ID0gY3JlYXRlQ3VzdG9tRWxlbWVudChGaWxlVXBsb2FkQ29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xyXG4gICAgICAgIC8vIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZmlsZS11cGxvYWQnLCBmaWxlVXBsb2FkRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdEb0Jvb3RzdHJhcCgpIHt9XHJcbn1cclxuIl19

@@ -92,4 +92,4 @@ /**

(/** @type {?} */ (this)).files.add(file);
(/** @type {?} */ (this)).validate();
(/** @type {?} */ (this)).valueChanges.next(Array.from((/** @type {?} */ (this)).files.values()));
(/** @type {?} */ (this)).validate();
return (/** @type {?} */ (this));

@@ -111,4 +111,4 @@ };

(/** @type {?} */ (this)).files.delete(file);
(/** @type {?} */ (this)).validate();
(/** @type {?} */ (this)).valueChanges.next(Array.from((/** @type {?} */ (this)).files.values()));
(/** @type {?} */ (this)).validate();
return (/** @type {?} */ (this));

@@ -154,4 +154,4 @@ };

files.forEach(function (file) { return _this.files.add(file); });
this.validate();
this.valueChanges.next(Array.from(this.files.values()));
this.validate();
};

@@ -254,2 +254,3 @@ Object.defineProperty(FileUploadControl.prototype, "valid", {

(/** @type {?} */ (this)).files.clear();
(/** @type {?} */ (this)).validate();
(/** @type {?} */ (this)).valueChanges.next(Array.from((/** @type {?} */ (this)).files.values()));

@@ -389,2 +390,2 @@ return (/** @type {?} */ (this));

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJoZWxwZXJzL2NvbnRyb2wuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztJQUc1QyxVQUFPO0lBQ1AsUUFBSztJQUNMLFdBQVE7Ozs7OztBQUdaO0lBZ0NJLDJCQUFZLFVBQTJDO1FBOUIvQyxVQUFLLEdBQWMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU3QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQixXQUFNLEdBQVcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUU5QixXQUFNLEdBQWdDLEVBQUUsQ0FBQztRQUV6QyxlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUVwQyxrQkFBYSxHQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDOzs7O1FBS2hELGtCQUFhLEdBQXVCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7Ozs7OztRQU83RCxpQkFBWSxHQUFpQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs7Ozs7UUFNckUsMEJBQXFCLEdBQTZCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUdwRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHOzs7Ozs7OztJQUNJLHlDQUFhOzs7Ozs7O0lBQXBCLFVBQXFCLGFBQTZDO1FBQzlELG1CQUFBLElBQUksRUFBQSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLG1CQUFBLElBQUksRUFBQSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sbUJBQUEsSUFBSSxFQUFBLENB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SztZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQUMsU0FBUyxJQUFLLE9BQUEsU0FBUyxDQUFDLEtBQUksQ0FBQyxFQUFmLENBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFDLFNBQVMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTLENBQUMsQ0FBQztZQUVuRyxJQUFJLFlBQVksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkU7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUNMLHdCQUFDO0FBQUQsQ0FBQyxBQXhLRCxJQXdLQzs7OztJQXRLRyxrQ0FBcUM7O0lBRXJDLHdDQUEyQjs7SUFFM0IsbUNBQXNDOztJQUV0QyxtQ0FBaUQ7O0lBRWpELHVDQUE0Qzs7SUFFNUMsMENBQXVEOzs7OztJQUt2RCwwQ0FBNkU7Ozs7Ozs7SUFPN0UseUNBQXFGOzs7Ozs7SUFNckYsa0RBQXdHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi92YWxpZGF0b3JzLmNsYXNzJztcclxuaW1wb3J0IHsgSXNOdWxsT3JFbXB0eSB9IGZyb20gJy4vaGVscGVycy5jbGFzcyc7XHJcblxyXG5leHBvcnQgZW51bSBTVEFUVVMge1xyXG4gICAgSU5WQUxJRCxcclxuICAgIFZBTElELFxyXG4gICAgRElTQUJMRURcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb250cm9sIHtcclxuXHJcbiAgICBwcml2YXRlIGZpbGVzOiBTZXQ8RmlsZT4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBsaXN0VmlzaWJsZSA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0dXM6IFNUQVRVUyA9IFNUQVRVUy5WQUxJRDtcclxuXHJcbiAgICBwcml2YXRlIGVycm9yczogQXJyYXk8e1trZXk6IHN0cmluZ106IGFueX0+ID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0b3JzOiBBcnJheTxWYWxpZGF0b3JGbj4gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIHN0YXR1c0NoYW5nZWQ6IFN1YmplY3Q8U1RBVFVTPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiB0cmFjayBzdGF0dXMgYFZBTElEYCwgYElOVkFMSURgIG9yIGBESVNBQkxFRGBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8U1RBVFVTPiA9IHRoaXMuc3RhdHVzQ2hhbmdlZC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGVtaXQgYW4gZXZlbnQgZXZlcnkgdGltZSB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2xcclxuICAgICAqIGNoYW5nZXMuXHJcbiAgICAgKiBJbml0aWFsbHkgcmV0dXJucyBsYXN0IHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZXM6IEJlaGF2aW9yU3ViamVjdDxBcnJheTxGaWxlPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICogdXNlZCB0byB0cmlnZ2VyIGxheW91dCBjaGFuZ2UgZm9yIGxpc3QgdmlzaWJpbGl0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdFZpc2liaWxpdHlDaGFuZ2VzOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMubGlzdFZpc2libGUpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbnxBcnJheTxWYWxpZGF0b3JGbj4pIHtcclxuICAgICAgICB0aGlzLmRlZmluZVZhbGlkYXRvcnModmFsaWRhdG9ycyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBzZXQgZnVuY3Rpb25zIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc3luY2hyb25vdXMgdmFsaWRpdHkgb2YgdGhpcyBjb250cm9sLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbnxBcnJheTxWYWxpZGF0b3JGbj4pOiB0aGlzIHtcclxuICAgICAgICB0aGlzLmRlZmluZVZhbGlkYXRvcnMobmV3VmFsaWRhdG9ycyk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGVmaW5lVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbnxBcnJheTxWYWxpZGF0b3JGbj4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIUlzTnVsbE9yRW1wdHkodmFsaWRhdG9ycykpIHtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzID0gQXJyYXkuaXNBcnJheSh2YWxpZGF0b3JzKSA/IFsuLi52YWxpZGF0b3JzXSA6IFt2YWxpZGF0b3JzXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZEZpbGUoZmlsZTogRmlsZSk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuZmlsZXMuYWRkKGZpbGUpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLm5leHQoQXJyYXkuZnJvbSh0aGlzLmZpbGVzLnZhbHVlcygpKSk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVGaWxlKGZpbGU6IEZpbGUpOiB0aGlzIHtcclxuICAgICAgICB0aGlzLmZpbGVzLmRlbGV0ZShmaWxlKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5uZXh0KEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSkpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkRmlsZXMoZmlsZXM6IEZpbGVMaXN0KTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5hZGRNdWx0aXBsZUZpbGVzKEFycmF5LmZyb20oZmlsZXMpKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICogdXNlZCB0byBwcmV2ZW50IHZhbHVlQ2hhbmdlcyBlbWl0IG1vcmUgdGltZXNcclxuICAgICAqIHdoZW4gbXVsdGlwbGUgZmlsZXMgYXJlIHVwbG9hZGVkXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYWRkTXVsdGlwbGVGaWxlcyhmaWxlczogQXJyYXk8RmlsZT4pOiB2b2lkIHtcclxuICAgICAgICBmaWxlcy5mb3JFYWNoKGZpbGUgPT4gdGhpcy5maWxlcy5hZGQoZmlsZSkpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLm5leHQoQXJyYXkuZnJvbSh0aGlzLmZpbGVzLnZhbHVlcygpKSk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnN0YXR1cyAhPT0gU1RBVFVTLkRJU0FCTEVEO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvcnMubGVuZ3RoID4gMCB8fCB0aGlzLnN0YXR1cyA9PT0gU1RBVFVTLkRJU0FCTEVEO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRFcnJvcigpOiBBcnJheTxWYWxpZGF0aW9uRXJyb3JzPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogbnVtYmVyIG9mIHVwbG9hZGVkIGZpbGVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbGVzLnNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiByZXR1cm4gbGlzdCBvZiBGaWxlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IEFycmF5PEZpbGU+IHtcclxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZpbGVzLnZhbHVlcygpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0VmFsdWUoZmlsZXM6IEFycmF5PEZpbGU+KTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5maWxlcy5jbGVhcigpO1xyXG5cclxuICAgICAgICBpZiAoZmlsZXMgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZE11bHRpcGxlRmlsZXMoZmlsZXMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBGb3JtQ29udHJvbC5zZXRWYWx1ZSB3YXMgcHJvdmlkZWQgd2l0aCB3cm9uZyBhcmd1bWVudCB0eXBlLCAke2ZpbGVzfSB3YXMgcHJvdmlkZWQgaW5zdGVhZCBBcnJheTxGaWxlPmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiByZXNldCB0aGUgY29udHJvbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXIoKTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5maWxlcy5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLm5leHQoQXJyYXkuZnJvbSh0aGlzLmZpbGVzLnZhbHVlcygpKSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBpc0xpc3RWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RWaXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRMaXN0VmlzaWJpbGl0eShpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlKTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5saXN0VmlzaWJsZSA9IGlzVmlzaWJsZTtcclxuICAgICAgICB0aGlzLmxpc3RWaXNpYmlsaXR5Q2hhbmdlcy5uZXh0KHRoaXMubGlzdFZpc2libGUpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTVEFUVVMuRElTQUJMRUQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVuYWJsZShpc0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlKTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBpc0VuYWJsZWQgPyBTVEFUVVMuVkFMSUQgOiBTVEFUVVMuRElTQUJMRUQ7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlZC5uZXh0KHRoaXMuc3RhdHVzKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGlzYWJsZShpc0Rpc2FibGVkOiBib29sZWFuID0gdHJ1ZSk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gaXNEaXNhYmxlZCA/IFNUQVRVUy5ESVNBQkxFRCA6IFNUQVRVUy5WQUxJRDtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgdGhpcy5zdGF0dXNDaGFuZ2VkLm5leHQodGhpcy5zdGF0dXMpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdHVzICE9PSBTVEFUVVMuRElTQUJMRUQpIHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy52YWxpZDtcclxuICAgICAgICAgICAgdGhpcy5lcnJvcnMgPSB0aGlzLnZhbGlkYXRvcnMubWFwKCh2YWxpZGF0b3IpID0+IHZhbGlkYXRvcih0aGlzKSkuZmlsdGVyKChpc0ludmFsaWQpID0+IGlzSW52YWxpZCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoY3VycmVudFN0YXRlICE9PSB0aGlzLnZhbGlkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1c0NoYW5nZWQubmV4dCh0aGlzLnZhbGlkID8gU1RBVFVTLlZBTElEIDogU1RBVFVTLklOVkFMSUQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvcnMubGVuZ3RoID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJoZWxwZXJzL2NvbnRyb2wuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztJQUc1QyxVQUFPO0lBQ1AsUUFBSztJQUNMLFdBQVE7Ozs7OztBQUdaO0lBZ0NJLDJCQUFZLFVBQTJDO1FBOUIvQyxVQUFLLEdBQWMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU3QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQixXQUFNLEdBQVcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUU5QixXQUFNLEdBQWdDLEVBQUUsQ0FBQztRQUV6QyxlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUVwQyxrQkFBYSxHQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDOzs7O1FBS2hELGtCQUFhLEdBQXVCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7Ozs7OztRQU83RCxpQkFBWSxHQUFpQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs7Ozs7UUFNckUsMEJBQXFCLEdBQTZCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUdwRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHOzs7Ozs7OztJQUNJLHlDQUFhOzs7Ozs7O0lBQXBCLFVBQXFCLGFBQTZDO1FBQzlELG1CQUFBLElBQUksRUFBQSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLG1CQUFBLElBQUksRUFBQSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sbUJBQUEsSUFBSSxFQUFBLENB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LFFBQVEsRUFBRTs7Z0JBQzNCLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSztZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQUMsU0FBUyxJQUFLLE9BQUEsU0FBUyxDQUFDLEtBQUksQ0FBQyxFQUFmLENBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFDLFNBQVMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTLENBQUMsQ0FBQztZQUVuRyxJQUFJLFlBQVksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkU7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUNMLHdCQUFDO0FBQUQsQ0FBQyxBQXpLRCxJQXlLQzs7OztJQXZLRyxrQ0FBcUM7O0lBRXJDLHdDQUEyQjs7SUFFM0IsbUNBQXNDOztJQUV0QyxtQ0FBaUQ7O0lBRWpELHVDQUE0Qzs7SUFFNUMsMENBQXVEOzs7OztJQUt2RCwwQ0FBNkU7Ozs7Ozs7SUFPN0UseUNBQXFGOzs7Ozs7SUFNckYsa0RBQXdHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi92YWxpZGF0b3JzLmNsYXNzJztcclxuaW1wb3J0IHsgSXNOdWxsT3JFbXB0eSB9IGZyb20gJy4vaGVscGVycy5jbGFzcyc7XHJcblxyXG5leHBvcnQgZW51bSBTVEFUVVMge1xyXG4gICAgSU5WQUxJRCxcclxuICAgIFZBTElELFxyXG4gICAgRElTQUJMRURcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb250cm9sIHtcclxuXHJcbiAgICBwcml2YXRlIGZpbGVzOiBTZXQ8RmlsZT4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBsaXN0VmlzaWJsZSA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0dXM6IFNUQVRVUyA9IFNUQVRVUy5WQUxJRDtcclxuXHJcbiAgICBwcml2YXRlIGVycm9yczogQXJyYXk8e1trZXk6IHN0cmluZ106IGFueX0+ID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0b3JzOiBBcnJheTxWYWxpZGF0b3JGbj4gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIHN0YXR1c0NoYW5nZWQ6IFN1YmplY3Q8U1RBVFVTPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiB0cmFjayBzdGF0dXMgYFZBTElEYCwgYElOVkFMSURgIG9yIGBESVNBQkxFRGBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8U1RBVFVTPiA9IHRoaXMuc3RhdHVzQ2hhbmdlZC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGVtaXQgYW4gZXZlbnQgZXZlcnkgdGltZSB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2xcclxuICAgICAqIGNoYW5nZXMuXHJcbiAgICAgKiBJbml0aWFsbHkgcmV0dXJucyBsYXN0IHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZXM6IEJlaGF2aW9yU3ViamVjdDxBcnJheTxGaWxlPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICogdXNlZCB0byB0cmlnZ2VyIGxheW91dCBjaGFuZ2UgZm9yIGxpc3QgdmlzaWJpbGl0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdFZpc2liaWxpdHlDaGFuZ2VzOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMubGlzdFZpc2libGUpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbnxBcnJheTxWYWxpZGF0b3JGbj4pIHtcclxuICAgICAgICB0aGlzLmRlZmluZVZhbGlkYXRvcnModmFsaWRhdG9ycyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBzZXQgZnVuY3Rpb25zIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc3luY2hyb25vdXMgdmFsaWRpdHkgb2YgdGhpcyBjb250cm9sLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbnxBcnJheTxWYWxpZGF0b3JGbj4pOiB0aGlzIHtcclxuICAgICAgICB0aGlzLmRlZmluZVZhbGlkYXRvcnMobmV3VmFsaWRhdG9ycyk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGVmaW5lVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbnxBcnJheTxWYWxpZGF0b3JGbj4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIUlzTnVsbE9yRW1wdHkodmFsaWRhdG9ycykpIHtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzID0gQXJyYXkuaXNBcnJheSh2YWxpZGF0b3JzKSA/IFsuLi52YWxpZGF0b3JzXSA6IFt2YWxpZGF0b3JzXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZEZpbGUoZmlsZTogRmlsZSk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuZmlsZXMuYWRkKGZpbGUpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5uZXh0KEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVGaWxlKGZpbGU6IEZpbGUpOiB0aGlzIHtcclxuICAgICAgICB0aGlzLmZpbGVzLmRlbGV0ZShmaWxlKTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMubmV4dChBcnJheS5mcm9tKHRoaXMuZmlsZXMudmFsdWVzKCkpKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkRmlsZXMoZmlsZXM6IEZpbGVMaXN0KTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5hZGRNdWx0aXBsZUZpbGVzKEFycmF5LmZyb20oZmlsZXMpKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICogdXNlZCB0byBwcmV2ZW50IHZhbHVlQ2hhbmdlcyBlbWl0IG1vcmUgdGltZXNcclxuICAgICAqIHdoZW4gbXVsdGlwbGUgZmlsZXMgYXJlIHVwbG9hZGVkXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYWRkTXVsdGlwbGVGaWxlcyhmaWxlczogQXJyYXk8RmlsZT4pOiB2b2lkIHtcclxuICAgICAgICBmaWxlcy5mb3JFYWNoKGZpbGUgPT4gdGhpcy5maWxlcy5hZGQoZmlsZSkpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5uZXh0KEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnN0YXR1cyAhPT0gU1RBVFVTLkRJU0FCTEVEO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvcnMubGVuZ3RoID4gMCB8fCB0aGlzLnN0YXR1cyA9PT0gU1RBVFVTLkRJU0FCTEVEO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRFcnJvcigpOiBBcnJheTxWYWxpZGF0aW9uRXJyb3JzPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogbnVtYmVyIG9mIHVwbG9hZGVkIGZpbGVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbGVzLnNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiByZXR1cm4gbGlzdCBvZiBGaWxlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IEFycmF5PEZpbGU+IHtcclxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZpbGVzLnZhbHVlcygpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0VmFsdWUoZmlsZXM6IEFycmF5PEZpbGU+KTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5maWxlcy5jbGVhcigpO1xyXG5cclxuICAgICAgICBpZiAoZmlsZXMgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZE11bHRpcGxlRmlsZXMoZmlsZXMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBGb3JtQ29udHJvbC5zZXRWYWx1ZSB3YXMgcHJvdmlkZWQgd2l0aCB3cm9uZyBhcmd1bWVudCB0eXBlLCAke2ZpbGVzfSB3YXMgcHJvdmlkZWQgaW5zdGVhZCBBcnJheTxGaWxlPmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiByZXNldCB0aGUgY29udHJvbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXIoKTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5maWxlcy5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5uZXh0KEFycmF5LmZyb20odGhpcy5maWxlcy52YWx1ZXMoKSkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNMaXN0VmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5saXN0VmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0TGlzdFZpc2liaWxpdHkoaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZSk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMubGlzdFZpc2libGUgPSBpc1Zpc2libGU7XHJcbiAgICAgICAgdGhpcy5saXN0VmlzaWJpbGl0eUNoYW5nZXMubmV4dCh0aGlzLmxpc3RWaXNpYmxlKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU1RBVFVTLkRJU0FCTEVEO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBlbmFibGUoaXNFbmFibGVkOiBib29sZWFuID0gdHJ1ZSk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gaXNFbmFibGVkID8gU1RBVFVTLlZBTElEIDogU1RBVFVTLkRJU0FCTEVEO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICB0aGlzLnN0YXR1c0NoYW5nZWQubmV4dCh0aGlzLnN0YXR1cyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRpc2FibGUoaXNEaXNhYmxlZDogYm9vbGVhbiA9IHRydWUpOiB0aGlzIHtcclxuICAgICAgICB0aGlzLnN0YXR1cyA9IGlzRGlzYWJsZWQgPyBTVEFUVVMuRElTQUJMRUQgOiBTVEFUVVMuVkFMSUQ7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlZC5uZXh0KHRoaXMuc3RhdHVzKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXR1cyAhPT0gU1RBVFVTLkRJU0FCTEVEKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMudmFsaWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzID0gdGhpcy52YWxpZGF0b3JzLm1hcCgodmFsaWRhdG9yKSA9PiB2YWxpZGF0b3IodGhpcykpLmZpbHRlcigoaXNJbnZhbGlkKSA9PiBpc0ludmFsaWQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGF0ZSAhPT0gdGhpcy52YWxpZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0dXNDaGFuZ2VkLm5leHQodGhpcy52YWxpZCA/IFNUQVRVUy5WQUxJRCA6IFNUQVRVUy5JTlZBTElEKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==

@@ -9,8 +9,10 @@ /**

export { FileUploadControl, FileUploadValidators, FileUploadTypes, FileUploadModule } from './public_api';
export { FileUploadAttributeComponent as ɵe } from './components/file-upload-attr.component';
export { FileUploadIconComponent as ɵd } from './components/file-upload-icon.component';
export { FileUploadListItemComponent as ɵc } from './components/file-upload-list-item.component';
export { InsertAnimation as ɵd } from './animations/insert.animation';
export { ZoomAnimation as ɵc } from './animations/zoom.animation';
export { FileUploadAttributeComponent as ɵg } from './components/file-upload-attr.component';
export { FileUploadIconComponent as ɵf } from './components/file-upload-icon.component';
export { FileUploadListItemComponent as ɵe } from './components/file-upload-list-item.component';
export { FileUploadComponent as ɵa } from './components/file-upload.component';
export { FileSizeValidator as ɵf, FilesAcceptValidator as ɵh, FilesLimitValidator as ɵg } from './directives/validators.directive';
export { FileSizeValidator as ɵh, FilesAcceptValidator as ɵj, FilesLimitValidator as ɵi } from './directives/validators.directive';
export { FileUploadService as ɵb } from './services/file-upload.service';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBsYWItbmd4LWZpbGUtdXBsb2FkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImlwbGFiLW5neC1maWxlLXVwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkZBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRixPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQy9GLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvSCxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7RmlsZVVwbG9hZEF0dHJpYnV0ZUNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1hdHRyLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVVcGxvYWRJY29uQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLWljb24uY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZVVwbG9hZExpc3RJdGVtQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlVXBsb2FkQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVTaXplVmFsaWRhdG9yIGFzIMm1ZixGaWxlc0FjY2VwdFZhbGlkYXRvciBhcyDJtWgsRmlsZXNMaW1pdFZhbGlkYXRvciBhcyDJtWd9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5leHBvcnQge0ZpbGVVcGxvYWRTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBsYWItbmd4LWZpbGUtdXBsb2FkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlwbGFiL25neC1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImlwbGFiLW5neC1maWxlLXVwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkZBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsNEJBQTRCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0YsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RGLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0gsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0luc2VydEFuaW1hdGlvbiBhcyDJtWR9IGZyb20gJy4vYW5pbWF0aW9ucy9pbnNlcnQuYW5pbWF0aW9uJztcbmV4cG9ydCB7Wm9vbUFuaW1hdGlvbiBhcyDJtWN9IGZyb20gJy4vYW5pbWF0aW9ucy96b29tLmFuaW1hdGlvbic7XG5leHBvcnQge0ZpbGVVcGxvYWRBdHRyaWJ1dGVDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQtYXR0ci5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlVXBsb2FkSWNvbkNvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVVcGxvYWRMaXN0SXRlbUNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC1saXN0LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZVVwbG9hZENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlU2l6ZVZhbGlkYXRvciBhcyDJtWgsRmlsZXNBY2NlcHRWYWxpZGF0b3IgYXMgybVqLEZpbGVzTGltaXRWYWxpZGF0b3IgYXMgybVpfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtGaWxlVXBsb2FkU2VydmljZSBhcyDJtWJ9IGZyb20gJy4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7Il19

@@ -6,2 +6,2 @@ /**

export { FileUploadControl, FileUploadValidators, FileUploadTypes, FileUploadModule } from './file-upload.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyRkFBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQubW9kdWxlJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyRkFBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQubW9kdWxlJztcclxuIl19

@@ -55,3 +55,3 @@ /**

FileUploadService.decorators = [
{ type: Injectable },
{ type: Injectable }
];

@@ -58,0 +58,0 @@ /** @nocollapse */

@@ -5,7 +5,9 @@ /**

export * from './public_api';
export { FileUploadAttributeComponent as ɵe } from './components/file-upload-attr.component';
export { FileUploadIconComponent as ɵd } from './components/file-upload-icon.component';
export { FileUploadListItemComponent as ɵc } from './components/file-upload-list-item.component';
export { InsertAnimation as ɵd } from './animations/insert.animation';
export { ZoomAnimation as ɵc } from './animations/zoom.animation';
export { FileUploadAttributeComponent as ɵg } from './components/file-upload-attr.component';
export { FileUploadIconComponent as ɵf } from './components/file-upload-icon.component';
export { FileUploadListItemComponent as ɵe } from './components/file-upload-list-item.component';
export { FileUploadComponent as ɵa } from './components/file-upload.component';
export { FileSizeValidator as ɵf, FilesAcceptValidator as ɵh, FilesLimitValidator as ɵg } from './directives/validators.directive';
export { FileSizeValidator as ɵh, FilesAcceptValidator as ɵj, FilesLimitValidator as ɵi } from './directives/validators.directive';
export { FileUploadService as ɵb } from './services/file-upload.service';

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"FileUploadModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":26,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":27,"character":8}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}],"entryComponents":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":54,"character":34}]}],"ngDoBootstrap":[{"__symbolic":"method"}]}},"FileUploadControl":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ValidatorFn"}]}],"setValidators":[{"__symbolic":"method"}],"defineValidators":[{"__symbolic":"method"}],"addFile":[{"__symbolic":"method"}],"removeFile":[{"__symbolic":"method"}],"addFiles":[{"__symbolic":"method"}],"addMultipleFiles":[{"__symbolic":"method"}],"getError":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"setListVisibility":[{"__symbolic":"method"}],"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}]}},"FileUploadValidators":{"__symbolic":"class","members":{},"statics":{"fileSize":{"__symbolic":"function","parameters":["maxSize"],"value":{"__symbolic":"error","message":"Lambda not supported","line":58,"character":15,"module":"./helpers/validators.class"}},"sizeRange":{"__symbolic":"function","parameters":["minSize","maxSize"],"value":{"__symbolic":"error","message":"Lambda not supported","line":76,"character":15,"module":"./helpers/validators.class"}},"filesLimit":{"__symbolic":"function","parameters":["numFiles"],"value":{"__symbolic":"error","message":"Lambda not supported","line":94,"character":15,"module":"./helpers/validators.class"}},"accept":{"__symbolic":"function","parameters":["allowedFileTypes"],"value":{"__symbolic":"error","message":"Lambda not supported","line":121,"character":15,"module":"./helpers/validators.class"}}}},"ValidationErrors":{"__symbolic":"interface"},"ValidatorFn":{"__symbolic":"interface"},"FileUploadTypes":{"aac":"audio/aac","abw":"application/x-abiword","arc":"application/octet-stream","avi":"video/x-msvideo","azw":"application/vnd.amazon.ebook","bin":"application/octet-stream","bmp":"image/bmp","bz":"application/x-bzip","bz2":"application/x-bzip2","csh":"application/x-csh","css":"text/css","csv":"text/csv","doc":"application/msword","docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document","eot":"application/vnd.ms-fontobject","epub":"application/epub+zip","es":"application/ecmascript","gif":"image/gif","html":"text/html","ico":"image/x-icon","ics":"text/calendar","jar":"application/java-archive","jpg":"image/jpeg","js":"application/javascript","json":"application/json","midi":"audio/midi","mpeg":"video/mpeg","mpkg":"application/vnd.apple.installer+xml","odp":"application/vnd.oasis.opendocument.presentation","ods":"application/vnd.oasis.opendocument.spreadsheet","odt":"application/vnd.oasis.opendocument.text","oga":"audio/ogg","ogv":"video/ogg","ogx":"application/ogg","otf":"font/otf","png":"image/png","pdf":"application/pdf","ppt":"application/vnd.ms-powerpoint","pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation","rar":"application/vnd.openxmlformats-officedocument.presentationml.presentation","rtf":"application/rtf","sh":"application/x-sh","svg":"image/svg+xml","swf":"application/x-shockwave-flash","tar":"application/x-tar","tiff":"image/tiff","ts":"application/typescript","ttf":"font/ttf","vsd":"application/vnd.visio","wav":"audio/wav","weba":"audio/webm","webm":"video/webm","webp":"image/webp","woff":"font/woff","woff2":"font/woff2","xhtml":"application/xhtml+xml","xls":"application/vnd.ms-excel","xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xml":"application/xml","xul":"application/vnd.mozilla.xul+xml","zip":"application/zip"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"file-upload","template":"<label class=\"upload-input\">\n\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : defaultTemplate; context: templateContext\"></ng-container>\n\n <ng-template #defaultTemplate let-isFileDragDropAvailable=\"isFileDragDropAvailable\">\n <div class=\"icon\">\n <svg viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z\"/>\n </g>\n </svg>\n </div>\n \n <div class=\"upload-text\">\n <ng-container *ngIf=\"isFileDragDropAvailable; else isNotDragDropAvailable\">\n <b>Drag and drop</b> files<br> or click here\n </ng-container>\n <ng-template #isNotDragDropAvailable>\n <b>Click here</b> to<br> choose a files\n </ng-template>\n </div>\n </ng-template>\n\n <input #inputRef type=\"file\" class=\"files-input\" multiple (change)=\"onInputChange($event)\">\n</label>\n\n<div class=\"upload-list\" *ngIf=\"(control.listVisibilityChanges | async) && control.size > 0\">\n <ng-template ngFor let-file let-i=\"index\" [ngForOf]=\"control.valueChanges | async\">\n <ng-container *ngTemplateOutlet=\"listItem ? listItem : defaultItemTemplate; context: { $implicit: file, file: file, index: i, control: control }\"></ng-container>\n </ng-template>\n \n <ng-template #defaultItemTemplate let-i=\"index\" let-file=\"file\" let-control=\"control\">\n <file-upload-list-item [index]=\"i\" [file]=\"file\" [control]=\"control\"></file-upload-list-item>\n </ng-template>\n</div>","styles":[":host,:host>*{box-sizing:border-box}:host{overflow:hidden;display:block;background:#fafafa;padding:20px 66px 20px 20px;min-height:140px;outline:#92b0b3 dashed 1px;outline-offset:-10px;position:relative}:host(.dragover){outline-width:2px}:host(.disabled){opacity:.5;cursor:no-drop}.files-input{width:.1px;height:.1px;opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;float:left;margin-right:20px}:host(.has-files) .icon{margin:0}.icon svg{fill:#909293}.upload-input:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}.upload-input{cursor:pointer;display:inline-block;color:#646464;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:all .15s ease-in-out}:host(.disabled) .upload-input{cursor:not-allowed}:host(.has-files) .upload-input{top:20px;left:100%;margin-left:-20px;-webkit-transform:translate(-100%,0);transform:translate(-100%,0);text-align:center}.upload-text{overflow:hidden;width:auto}:host(.has-files) .upload-text{display:none}:host(.dragover:not(.disabled)) .upload-input,:host(:not(.disabled)) .upload-input:hover{color:#80a9d2}:host(.dragover:not(.disabled)) .icon svg,:host(:not(.disabled)) .upload-input:hover svg{fill:#80a9d2}:host(:not(.disabled)) .upload-input:hover .icon{border-color:#80a9d2}file-upload-list-item{padding:10px 0 0}file-upload-list-item:first-child{padding:0}"],"providers":[{"__symbolic":"reference","name":"ɵb"},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":77,"character":21},"useExisting":{"__symbolic":"reference","name":"ɵa"},"multi":true}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":82,"character":21},"member":"OnPush"}}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":5}}]}],"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":89,"character":5},"arguments":["placeholder"]}]}],"listItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":5},"arguments":["item"]}]}],"input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":95,"character":5},"arguments":["inputRef"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":111,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":111,"character":16}]}],null],"parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":109,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":110,"character":26},null,{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":112,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"hasFiles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":133,"character":5},"arguments":["class.has-files"]}]}],"isInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":138,"character":5},"arguments":["class.ng-invalid"]}]}],"setEvents":[{"__symbolic":"method"}],"checkAndMarkAsDisabled":[{"__symbolic":"method"}],"preventDragEvents":[{"__symbolic":"method"}],"onDragOver":[{"__symbolic":"method"}],"onDragLeave":[{"__symbolic":"method"}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":200,"character":5},"arguments":["drop",["$event"]]}]}],"onInputChange":[{"__symbolic":"method"}],"clearInputEl":[{"__symbolic":"method"}],"connectToForm":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":8,"character":34}]}],"isFileDragDropAvailable":[{"__symbolic":"method"}],"calculateSize":[{"__symbolic":"method"}],"getFileType":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"file-upload-list-item","template":"\n <file-upload-icon [file]=\"file\"></file-upload-icon>\n <div class=\"file-info\">\n <span class=\"file-name\">{{ file.name }}</span> ({{ calculateSize( file.size ) }})\n </div>\n <div class=\"file-buttons\">\n <span class=\"remove-btn\" (click)=\"removeFile(file)\">\n <svg viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M40.5,66.8V39.3c0-0.4-0.1-0.7-0.4-0.9S39.6,38,39.3,38h-2.5c-0.4,0-0.7,0.1-0.9,0.4\n s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4h2.5c0.4,0,0.7-0.1,0.9-0.4S40.5,67.1,40.5,66.8z M50.5,66.8V39.3\n c0-0.4-0.1-0.7-0.4-0.9S49.6,38,49.3,38h-2.5c-0.4,0-0.7,0.1-0.9,0.4s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4\n h2.5c0.4,0,0.7-0.1,0.9-0.4S50.5,67.1,50.5,66.8z M60.5,66.8V39.3c0-0.4-0.1-0.7-0.4-0.9S59.6,38,59.3,38h-2.5\n c-0.4,0-0.7,0.1-0.9,0.4s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4h2.5c0.4,0,0.7-0.1,0.9-0.4\n S60.5,67.1,60.5,66.8z M39.3,28h17.5l-1.9-4.6c-0.2-0.2-0.4-0.4-0.7-0.4H41.8c-0.3,0.1-0.5,0.2-0.7,0.4L39.3,28z M75.5,29.3v2.5\n c0,0.4-0.1,0.7-0.4,0.9S74.6,33,74.3,33h-3.8v37c0,2.2-0.6,4-1.8,5.6S66,78,64.3,78H31.8c-1.7,0-3.2-0.8-4.4-2.3s-1.8-3.4-1.8-5.5\n V33h-3.8c-0.4,0-0.7-0.1-0.9-0.4s-0.4-0.5-0.4-0.9v-2.5c0-0.4,0.1-0.7,0.4-0.9s0.5-0.4,0.9-0.4h12.1l2.7-6.5c0.4-1,1.1-1.8,2.1-2.5\n s2-1,3.1-1h12.5c1,0,2.1,0.3,3.1,1s1.7,1.5,2.1,2.5l2.7,6.5h12.1c0.4,0,0.7,0.1,0.9,0.4S75.5,28.9,75.5,29.3z\"/>\n </g>\n </svg> Remove</span>\n </div>\n ","styles":[":host{display:block;font-size:14px;color:#646464}:host:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}file-upload-icon{float:left;width:30px;height:36px;margin:0 10px 0 0}.remove-btn{font-size:12px;cursor:pointer}.remove-btn svg{display:inline-block;vertical-align:-20%;height:18px;width:18px}"]}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"removeFile":[{"__symbolic":"method"}],"calculateSize":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"file-upload-icon","template":"\n\n<ng-container [ngSwitch]=\"true\">\n\n <svg *ngSwitchDefault viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase=\"isIcon('image')\" viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M65.1,58.7v10.7H30.9V63l6.4-6.4l4.3,4.3L54.4,48L65.1,58.7z M37.3,52.3c-1.8,0-3.3-0.6-4.6-1.9c-1.3-1.2-1.9-2.8-1.9-4.6\n c0-1.8,0.6-3.3,1.9-4.6c1.3-1.2,2.8-1.9,4.6-1.9s3.3,0.6,4.6,1.9c1.3,1.3,1.9,2.8,1.9,4.6c0,1.8-0.6,3.3-1.9,4.6\n C40.6,51.7,39.1,52.3,37.3,52.3z\"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase=\"isIcon('audio')\" viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M43,46.5c0.4,0.2,0.7,0.5,0.7,1v18.2c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.5-0.1-0.8-0.3l-5.6-5.6h-4.4\n c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8v-6.4c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h4.4l5.6-5.6\n C42.2,46.4,42.6,46.3,43,46.5z M57,69.5c0.7,0,1.3-0.3,1.7-0.8c2.9-3.5,4.3-7.6,4.3-12.2s-1.4-8.6-4.3-12.2\n c-0.4-0.5-0.8-0.7-1.4-0.8c-0.6-0.1-1.1,0.1-1.6,0.5c-0.5,0.4-0.7,0.9-0.8,1.5c-0.1,0.6,0.1,1.1,0.5,1.6c2.2,2.7,3.3,5.9,3.3,9.4\n c0,3.5-1.1,6.7-3.3,9.4c-0.4,0.5-0.5,1-0.5,1.6c0.1,0.6,0.3,1.1,0.8,1.4C56.1,69.4,56.5,69.5,57,69.5z M49.9,64.6\n c0.6,0,1.1-0.2,1.6-0.7c1.9-2.1,2.9-4.5,2.9-7.3s-1-5.3-2.9-7.3c-0.4-0.4-0.9-0.6-1.5-0.7c-0.6,0-1.1,0.2-1.5,0.6s-0.6,0.9-0.7,1.5\n c0,0.6,0.2,1.1,0.6,1.6c1.2,1.3,1.7,2.7,1.7,4.4c0,1.7-0.6,3.1-1.7,4.4c-0.4,0.4-0.6,1-0.6,1.6c0,0.6,0.2,1.1,0.7,1.5\n C48.9,64.4,49.4,64.6,49.9,64.6z\"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase=\"isIcon('text')\" viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M35.1,44.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h23.6c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1\n c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8V44.8z M59.8,52.3\n c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z M59.8,60.9c0.3,0,0.6,0.1,0.8,0.3\n c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z\"/>\n </g>\n </svg>\n\n <svg *ngSwitchCase=\"isIcon('video')\" viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\n M48,43.7c1.2,0,2.2,0.4,3,1.3c0.8,0.8,1.3,1.9,1.3,3v12.9c0,1.2-0.4,2.2-1.3,3c-0.8,0.8-1.9,1.3-3,1.3H35.1c-1.2,0-2.2-0.4-3-1.3\n c-0.8-0.8-1.3-1.9-1.3-3V48c0-1.2,0.4-2.2,1.3-3c0.8-0.8,1.9-1.3,3-1.3H48z M64.5,43.8c0.4,0.2,0.7,0.5,0.7,1v19.3\n c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.6-0.1-0.8-0.3l-8.9-8.9v-3l8.9-8.9c0.2-0.2,0.5-0.3,0.8-0.3\n C64.2,43.7,64.3,43.7,64.5,43.8z\"/>\n </g>\n </svg>\n\n</ng-container>","styles":[":host{display:block;border:1px solid #eaeaea;border-radius:4px}:host svg{fill:#909293}"]}]}],"members":{"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"isIcon":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"[file-drop-zone]","template":"\n <ng-content></ng-content>\n <div #overlay class=\"overlay\" *ngIf=\"fileUploadService.isFileDragDropAvailable()\">\n\n <div class=\"upload-input\">\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div class=\"icon\">\n <svg viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z\"/>\n </g>\n </svg>\n </div>\n \n <div class=\"upload-text\">\n <b>Drop</b> it here\n </div>\n </ng-template>\n </div>\n </div>\n ","styles":[":host{position:relative;display:block}:host .overlay{display:none;background:rgba(255,255,255,.8);outline:#92b0b3 dashed 2px;outline-offset:-10px;position:absolute;top:0;left:0;right:0;bottom:0}:host(.dragover:not(.disabled)) .overlay{display:block}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;margin:0 auto 10px}:host /deep/ .icon svg{fill:#80a9d2}.upload-input{pointer-events:none;cursor:pointer;display:inline-block;color:#80a9d2;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:all .15s ease-in-out}"],"providers":[{"__symbolic":"reference","name":"ɵb"}]}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":5}}]}],"overlay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":67,"character":5},"arguments":["overlay"]}]}],"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":70,"character":5},"arguments":["placeholder"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":81,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":79,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":80,"character":26},null]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"hasFiles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":104,"character":5},"arguments":["class.has-files"]}]}],"isInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":109,"character":5},"arguments":["class.ng-invalid"]}]}],"setEvents":[{"__symbolic":"method"}],"checkAndMarkAsDisabled":[{"__symbolic":"method"}],"preventDragEvents":[{"__symbolic":"method"}],"onDragOver":[{"__symbolic":"method"}],"onDragLeave":[{"__symbolic":"method"}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":175,"character":5},"arguments":["drop",["$event"]]}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"[filesize][formControlName],[filesize][formControl],[filesize][ngModel],\n [minsize][formControlName],[minsize][formControl],[minsize][ngModel],\n [maxsize][formControlName],[maxsize][formControl],[maxsize][ngModel]","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":24,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵf"},"multi":true}],"host":{"[attr.filesize]":"filesize ? filesize : null","[attr.minsize]":"minsize ? minsize : null","[attr.maxsize]":"maxsize ? maxsize : null","$quoted$":["[attr.filesize]","[attr.minsize]","[attr.maxsize]"]}}]}],"members":{"filesize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"minsize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"maxsize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"ngOnChanges":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"registerOnValidatorChange":[{"__symbolic":"method"}],"_createValidator":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":95,"character":1},"arguments":[{"selector":"[fileslimit][formControlName],[fileslimit][formControl],[fileslimit][ngModel]","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":98,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵg"},"multi":true}],"host":{"[attr.fileslimit]":"fileslimit ? fileslimit : null","$quoted$":["[attr.fileslimit]"]}}]}],"members":{"fileslimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":106,"character":5}}]}],"ngOnChanges":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"registerOnValidatorChange":[{"__symbolic":"method"}],"_createValidator":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":150,"character":1},"arguments":[{"selector":"[accept][formControlName],[accept][formControl],[accept][ngModel]","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":153,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵg"},"multi":true}],"host":{"[attr.accept]":"accept ? accept : null","$quoted$":["[attr.accept]"]}}]}],"members":{"accept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":5}}]}],"ngOnChanges":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"registerOnValidatorChange":[{"__symbolic":"method"}],"_createValidator":[{"__symbolic":"method"}]}}},"origins":{"FileUploadModule":"./file-upload.module","FileUploadControl":"./helpers/control.class","FileUploadValidators":"./helpers/validators.class","ValidationErrors":"./helpers/validators.class","ValidatorFn":"./helpers/validators.class","FileUploadTypes":"./helpers/file-types.class","ɵa":"./components/file-upload.component","ɵb":"./services/file-upload.service","ɵc":"./components/file-upload-list-item.component","ɵd":"./components/file-upload-icon.component","ɵe":"./components/file-upload-attr.component","ɵf":"./directives/validators.directive","ɵg":"./directives/validators.directive","ɵh":"./directives/validators.directive"},"importAs":"@iplab/ngx-file-upload"}
{"__symbolic":"module","version":4,"metadata":{"FileUploadModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":24,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":26,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":27,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"BrowserAnimationsModule","line":29,"character":8}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"}],"entryComponents":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":56,"character":34}]}],"ngDoBootstrap":[{"__symbolic":"method"}]}},"FileUploadControl":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ValidatorFn"}]}],"setValidators":[{"__symbolic":"method"}],"defineValidators":[{"__symbolic":"method"}],"addFile":[{"__symbolic":"method"}],"removeFile":[{"__symbolic":"method"}],"addFiles":[{"__symbolic":"method"}],"addMultipleFiles":[{"__symbolic":"method"}],"getError":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"setListVisibility":[{"__symbolic":"method"}],"enable":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}]}},"FileUploadValidators":{"__symbolic":"class","members":{},"statics":{"fileSize":{"__symbolic":"function","parameters":["maxSize"],"value":{"__symbolic":"error","message":"Lambda not supported","line":58,"character":15,"module":"./helpers/validators.class"}},"sizeRange":{"__symbolic":"function","parameters":["minSize","maxSize"],"value":{"__symbolic":"error","message":"Lambda not supported","line":76,"character":15,"module":"./helpers/validators.class"}},"filesLimit":{"__symbolic":"function","parameters":["numFiles"],"value":{"__symbolic":"error","message":"Lambda not supported","line":94,"character":15,"module":"./helpers/validators.class"}},"accept":{"__symbolic":"function","parameters":["allowedFileTypes"],"value":{"__symbolic":"error","message":"Lambda not supported","line":121,"character":15,"module":"./helpers/validators.class"}}}},"ValidationErrors":{"__symbolic":"interface"},"ValidatorFn":{"__symbolic":"interface"},"FileUploadTypes":{"aac":"audio/aac","abw":"application/x-abiword","arc":"application/octet-stream","avi":"video/x-msvideo","azw":"application/vnd.amazon.ebook","bin":"application/octet-stream","bmp":"image/bmp","bz":"application/x-bzip","bz2":"application/x-bzip2","csh":"application/x-csh","css":"text/css","csv":"text/csv","doc":"application/msword","docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document","eot":"application/vnd.ms-fontobject","epub":"application/epub+zip","es":"application/ecmascript","gif":"image/gif","html":"text/html","ico":"image/x-icon","ics":"text/calendar","jar":"application/java-archive","jpg":"image/jpeg","js":"application/javascript","json":"application/json","midi":"audio/midi","mpeg":"video/mpeg","mpkg":"application/vnd.apple.installer+xml","odp":"application/vnd.oasis.opendocument.presentation","ods":"application/vnd.oasis.opendocument.spreadsheet","odt":"application/vnd.oasis.opendocument.text","oga":"audio/ogg","ogv":"video/ogg","ogx":"application/ogg","otf":"font/otf","png":"image/png","pdf":"application/pdf","ppt":"application/vnd.ms-powerpoint","pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation","rar":"application/vnd.openxmlformats-officedocument.presentationml.presentation","rtf":"application/rtf","sh":"application/x-sh","svg":"image/svg+xml","swf":"application/x-shockwave-flash","tar":"application/x-tar","tiff":"image/tiff","ts":"application/typescript","ttf":"font/ttf","vsd":"application/vnd.visio","wav":"audio/wav","weba":"audio/webm","webm":"video/webm","webp":"image/webp","woff":"font/woff","woff2":"font/woff2","xhtml":"application/xhtml+xml","xls":"application/vnd.ms-excel","xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xml":"application/xml","xul":"application/vnd.mozilla.xul+xml","zip":"application/zip"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"file-upload","providers":[{"__symbolic":"reference","name":"ɵb"},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":38,"character":21},"useExisting":{"__symbolic":"reference","name":"ɵa"},"multi":true}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":43,"character":21},"member":"OnPush"},"animations":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"template":"<label class=\"upload-input\" [@zoomAnimation]=\"zoomText\" (@zoomAnimation.done)=\"zoomAnimationDone($event)\">\r\n\r\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : defaultTemplate; context: templateContext\"></ng-container>\r\n\r\n <ng-template #defaultTemplate let-isFileDragDropAvailable=\"isFileDragDropAvailable\">\r\n <div class=\"icon\">\r\n <svg viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\r\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\r\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\r\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\r\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\r\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\r\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\r\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\r\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z\"/>\r\n </g>\r\n </svg>\r\n </div>\r\n \r\n <div class=\"upload-text\">\r\n <ng-container *ngIf=\"isFileDragDropAvailable; else isNotDragDropAvailable\">\r\n <b>Drag and drop</b> files<br> or click here\r\n </ng-container>\r\n <ng-template #isNotDragDropAvailable>\r\n <b>Click here</b> to<br> choose a files\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n\r\n <input #inputRef type=\"file\" class=\"files-input\" multiple (change)=\"onInputChange($event)\">\r\n</label>\r\n\r\n<div class=\"upload-list\" *ngIf=\"(control.listVisibilityChanges | async) && control.size > 0 && listVisible\" [@insertAnimation]=\"control.size\" (@insertAnimation.done)=\"animationListFinished($event)\">\r\n <ng-template ngFor let-file let-i=\"index\" [ngForOf]=\"control.valueChanges | async\">\r\n <ng-container *ngTemplateOutlet=\"listItem ? listItem : defaultItemTemplate; context: { $implicit: file, file: file, index: i, control: control }\"></ng-container>\r\n </ng-template>\r\n \r\n <ng-template #defaultItemTemplate let-i=\"index\" let-file=\"file\" let-control=\"control\">\r\n <file-upload-list-item [index]=\"i\" [file]=\"file\" [control]=\"control\"></file-upload-list-item>\r\n </ng-template>\r\n</div>","styles":[":host,:host>*{box-sizing:border-box}:host{overflow:hidden;display:block;background:#fafafa;padding:20px 66px 20px 20px;min-height:140px;outline:#92b0b3 dashed 1px;outline-offset:-10px;position:relative}:host(.dragover){outline-width:2px}:host(.disabled){opacity:.5;cursor:no-drop}.files-input{width:.1px;height:.1px;opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;float:left}.icon svg{fill:#909293}.upload-input:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}.upload-input{cursor:pointer;display:inline-block;color:#646464;position:absolute;top:50%;left:50%;margin:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}:host(.disabled) .upload-input{cursor:not-allowed}:host(.list-visible) .upload-input{top:20px;left:100%;margin-left:-20px;-webkit-transform:translate(-100%,0);transform:translate(-100%,0);text-align:center}.upload-text{overflow:hidden;width:auto;position:relative;padding-left:20px}:host(.hide-text) .upload-input{opacity:0}:host(.list-visible) .upload-text{display:none}:host(.dragover:not(.disabled)) .upload-input,:host(:not(.disabled)) .upload-input:hover{color:#80a9d2}:host(.dragover:not(.disabled)) .icon svg,:host(:not(.disabled)) .upload-input:hover svg{fill:#80a9d2}file-upload-list-item{padding:10px 0 0}file-upload-list-item:first-child{padding:0}"]}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5}}]}],"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":54,"character":5},"arguments":["placeholder"]}]}],"listItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":57,"character":5},"arguments":["item"]}]}],"input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":60,"character":5},"arguments":["inputRef"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":80,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":80,"character":16}]}],null],"parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":78,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":79,"character":26},null,{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":81,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"hasFiles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":102,"character":5},"arguments":["class.has-files"]}]}],"isInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":107,"character":5},"arguments":["class.ng-invalid"]}]}],"setEvents":[{"__symbolic":"method"}],"checkAndMarkAsDisabled":[{"__symbolic":"method"}],"preventDragEvents":[{"__symbolic":"method"}],"renderView":[{"__symbolic":"method"}],"showList":[{"__symbolic":"method"}],"hideList":[{"__symbolic":"method"}],"toggleListVisibility":[{"__symbolic":"method"}],"onDragOver":[{"__symbolic":"method"}],"onDragLeave":[{"__symbolic":"method"}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":199,"character":5},"arguments":["drop",["$event"]]}]}],"onInputChange":[{"__symbolic":"method"}],"clearInputEl":[{"__symbolic":"method"}],"connectToForm":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"zoomAnimationDone":[{"__symbolic":"method"}],"animationListFinished":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":8,"character":34}]}],"isFileDragDropAvailable":[{"__symbolic":"method"}],"calculateSize":[{"__symbolic":"method"}],"getFileType":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":4,"character":0},"arguments":["zoomAnimation",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":5,"character":4},"arguments":["static => zoomOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":6,"character":8},"arguments":[250,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":6,"character":21},"arguments":[{"transform":"translate(-50%, -50%) scale(2, 2)","opacity":0}]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":8,"character":4},"arguments":["static => zoomIn",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"query","line":9,"character":8},"arguments":[":self",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":10,"character":12},"arguments":[{"transform":"translate(-50%, -50%) scale(.2, .2)","opacity":0,"top":"50%","left":"50%","margin":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"stagger","line":11,"character":12},"arguments":[50,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":12,"character":16},"arguments":[250,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":12,"character":29},"arguments":[{"transform":"translate(-50%, -50%) scale(1, 1)","opacity":1}]}]}]]}]]}]]}]]},"ɵd":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":4,"character":0},"arguments":["insertAnimation",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":5,"character":4},"arguments":["* => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"query","line":6,"character":8},"arguments":[":leave",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"stagger","line":7,"character":12},"arguments":[30,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":8,"character":16},"arguments":[".3s",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":8,"character":31},"arguments":[{"opacity":0}]}]}]]}],{"optional":true}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"query","line":11,"character":8},"arguments":[":enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":12,"character":12},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"stagger","line":13,"character":12},"arguments":[30,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":14,"character":16},"arguments":[".3s",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":14,"character":31},"arguments":[{"opacity":1}]}]}]]}],{"optional":true}]}]]}]]},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"file-upload-list-item","template":"\n <file-upload-icon [file]=\"file\"></file-upload-icon>\n <div class=\"file-info\">\n <span class=\"file-name\">{{ file.name }}</span> ({{ calculateSize( file.size ) }})\n </div>\n <div class=\"file-buttons\">\n <span class=\"remove-btn\" (click)=\"removeFile(file)\">\n <svg viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M40.5,66.8V39.3c0-0.4-0.1-0.7-0.4-0.9S39.6,38,39.3,38h-2.5c-0.4,0-0.7,0.1-0.9,0.4\n s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4h2.5c0.4,0,0.7-0.1,0.9-0.4S40.5,67.1,40.5,66.8z M50.5,66.8V39.3\n c0-0.4-0.1-0.7-0.4-0.9S49.6,38,49.3,38h-2.5c-0.4,0-0.7,0.1-0.9,0.4s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4\n h2.5c0.4,0,0.7-0.1,0.9-0.4S50.5,67.1,50.5,66.8z M60.5,66.8V39.3c0-0.4-0.1-0.7-0.4-0.9S59.6,38,59.3,38h-2.5\n c-0.4,0-0.7,0.1-0.9,0.4s-0.4,0.5-0.4,0.9v27.5c0,0.4,0.1,0.7,0.4,0.9s0.5,0.4,0.9,0.4h2.5c0.4,0,0.7-0.1,0.9-0.4\n S60.5,67.1,60.5,66.8z M39.3,28h17.5l-1.9-4.6c-0.2-0.2-0.4-0.4-0.7-0.4H41.8c-0.3,0.1-0.5,0.2-0.7,0.4L39.3,28z M75.5,29.3v2.5\n c0,0.4-0.1,0.7-0.4,0.9S74.6,33,74.3,33h-3.8v37c0,2.2-0.6,4-1.8,5.6S66,78,64.3,78H31.8c-1.7,0-3.2-0.8-4.4-2.3s-1.8-3.4-1.8-5.5\n V33h-3.8c-0.4,0-0.7-0.1-0.9-0.4s-0.4-0.5-0.4-0.9v-2.5c0-0.4,0.1-0.7,0.4-0.9s0.5-0.4,0.9-0.4h12.1l2.7-6.5c0.4-1,1.1-1.8,2.1-2.5\n s2-1,3.1-1h12.5c1,0,2.1,0.3,3.1,1s1.7,1.5,2.1,2.5l2.7,6.5h12.1c0.4,0,0.7,0.1,0.9,0.4S75.5,28.9,75.5,29.3z\"/>\n </g>\n </svg> Remove</span>\n </div>\n ","styles":[":host{display:block;font-size:14px;color:#646464}:host:after{clear:both;content:\"\\0A0\";display:block;height:0;line-height:0;visibility:hidden;zoom:1}file-upload-icon{float:left;width:30px;height:36px;margin:0 10px 0 0}.remove-btn{font-size:12px;cursor:pointer}.remove-btn svg{display:inline-block;vertical-align:-20%;height:18px;width:18px}"]}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"removeFile":[{"__symbolic":"method"}],"calculateSize":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"file-upload-icon","template":"\r\n\r\n<ng-container [ngSwitch]=\"true\">\r\n\r\n <svg *ngSwitchDefault viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('image')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M65.1,58.7v10.7H30.9V63l6.4-6.4l4.3,4.3L54.4,48L65.1,58.7z M37.3,52.3c-1.8,0-3.3-0.6-4.6-1.9c-1.3-1.2-1.9-2.8-1.9-4.6\r\n c0-1.8,0.6-3.3,1.9-4.6c1.3-1.2,2.8-1.9,4.6-1.9s3.3,0.6,4.6,1.9c1.3,1.3,1.9,2.8,1.9,4.6c0,1.8-0.6,3.3-1.9,4.6\r\n C40.6,51.7,39.1,52.3,37.3,52.3z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('audio')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M43,46.5c0.4,0.2,0.7,0.5,0.7,1v18.2c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.5-0.1-0.8-0.3l-5.6-5.6h-4.4\r\n c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8v-6.4c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h4.4l5.6-5.6\r\n C42.2,46.4,42.6,46.3,43,46.5z M57,69.5c0.7,0,1.3-0.3,1.7-0.8c2.9-3.5,4.3-7.6,4.3-12.2s-1.4-8.6-4.3-12.2\r\n c-0.4-0.5-0.8-0.7-1.4-0.8c-0.6-0.1-1.1,0.1-1.6,0.5c-0.5,0.4-0.7,0.9-0.8,1.5c-0.1,0.6,0.1,1.1,0.5,1.6c2.2,2.7,3.3,5.9,3.3,9.4\r\n c0,3.5-1.1,6.7-3.3,9.4c-0.4,0.5-0.5,1-0.5,1.6c0.1,0.6,0.3,1.1,0.8,1.4C56.1,69.4,56.5,69.5,57,69.5z M49.9,64.6\r\n c0.6,0,1.1-0.2,1.6-0.7c1.9-2.1,2.9-4.5,2.9-7.3s-1-5.3-2.9-7.3c-0.4-0.4-0.9-0.6-1.5-0.7c-0.6,0-1.1,0.2-1.5,0.6s-0.6,0.9-0.7,1.5\r\n c0,0.6,0.2,1.1,0.6,1.6c1.2,1.3,1.7,2.7,1.7,4.4c0,1.7-0.6,3.1-1.7,4.4c-0.4,0.4-0.6,1-0.6,1.6c0,0.6,0.2,1.1,0.7,1.5\r\n C48.9,64.4,49.4,64.6,49.9,64.6z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('text')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M35.1,44.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3h23.6c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1\r\n c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3c-0.2-0.2-0.3-0.5-0.3-0.8V44.8z M59.8,52.3\r\n c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\r\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z M59.8,60.9c0.3,0,0.6,0.1,0.8,0.3\r\n c0.2,0.2,0.3,0.5,0.3,0.8v2.1c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3H36.2c-0.3,0-0.6-0.1-0.8-0.3\r\n c-0.2-0.2-0.3-0.5-0.3-0.8v-2.1c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3H59.8z\"/>\r\n </g>\r\n </svg>\r\n\r\n <svg *ngSwitchCase=\"isIcon('video')\" viewBox=\"0 0 96 96\">\r\n <g>\r\n <path d=\"M71.4,30.7c0.6,0.6,1.2,1.5,1.6,2.5c0.4,1.1,0.7,2.1,0.7,2.9v38.6c0,0.9-0.3,1.7-0.9,2.3\r\n S71.4,78,70.5,78h-45c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V21.2c0-0.9,0.3-1.7,0.9-2.3c0.6-0.6,1.4-0.9,2.3-0.9h30\r\n c0.9,0,1.9,0.2,2.9,0.7c1.1,0.4,1.9,1,2.5,1.6L71.4,30.7z M56.6,22.6v12.6h12.6c-0.2-0.6-0.5-1.1-0.7-1.4L57.9,23.3\r\n C57.7,23,57.2,22.8,56.6,22.6z M69.4,73.7V39.4H55.5c-0.9,0-1.7-0.3-2.3-0.9c-0.6-0.6-0.9-1.4-0.9-2.3V22.3H26.6v51.4H69.4z\r\n M48,43.7c1.2,0,2.2,0.4,3,1.3c0.8,0.8,1.3,1.9,1.3,3v12.9c0,1.2-0.4,2.2-1.3,3c-0.8,0.8-1.9,1.3-3,1.3H35.1c-1.2,0-2.2-0.4-3-1.3\r\n c-0.8-0.8-1.3-1.9-1.3-3V48c0-1.2,0.4-2.2,1.3-3c0.8-0.8,1.9-1.3,3-1.3H48z M64.5,43.8c0.4,0.2,0.7,0.5,0.7,1v19.3\r\n c0,0.5-0.2,0.8-0.7,1c-0.2,0-0.3,0.1-0.4,0.1c-0.3,0-0.6-0.1-0.8-0.3l-8.9-8.9v-3l8.9-8.9c0.2-0.2,0.5-0.3,0.8-0.3\r\n C64.2,43.7,64.3,43.7,64.5,43.8z\"/>\r\n </g>\r\n </svg>\r\n\r\n</ng-container>","styles":[":host{display:block;border:1px solid #eaeaea;border-radius:4px}:host svg{fill:#909293}"]}]}],"members":{"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"isIcon":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"[file-drop-zone]","template":"\n <ng-content></ng-content>\n <div #overlay class=\"overlay\" *ngIf=\"fileUploadService.isFileDragDropAvailable()\">\n\n <div class=\"upload-input\">\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div class=\"icon\">\n <svg viewBox=\"0 0 96 96\">\n <g>\n <path d=\"M62.8,68.1c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6s-1.1,0.2-1.5,0.6\n c-0.4,0.4-0.6,0.9-0.6,1.5c0,0.6,0.2,1.1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6s1.1-0.2,1.5-0.6S62.8,68.7,62.8,68.1z M71.3,68.1\n c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.5-0.6c-0.6,0-1.1,0.2-1.5,0.6C67.2,67,67,67.5,67,68.1c0,0.6,0.2,1.1,0.6,1.5\n s0.9,0.6,1.5,0.6c0.6,0,1.1-0.2,1.5-0.6C71.1,69.2,71.3,68.7,71.3,68.1z M75.5,60.7v10.6c0,0.9-0.3,1.6-0.9,2.2\n c-0.6,0.6-1.4,0.9-2.2,0.9H23.7c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.4-0.9-2.2V60.7c0-0.9,0.3-1.6,0.9-2.2\n c0.6-0.6,1.4-0.9,2.2-0.9h14.1c0.5,1.2,1.2,2.2,2.3,3c1.1,0.8,2.3,1.2,3.7,1.2h8.5c1.3,0,2.6-0.4,3.7-1.2c1.1-0.8,1.9-1.8,2.3-3\n h14.1c0.9,0,1.6,0.3,2.2,0.9C75.2,59.1,75.5,59.8,75.5,60.7z M64.8,39.3c-0.4,0.9-1,1.3-2,1.3h-8.5v14.8c0,0.6-0.2,1.1-0.6,1.5\n c-0.4,0.4-0.9,0.6-1.5,0.6h-8.5c-0.6,0-1.1-0.2-1.5-0.6c-0.4-0.4-0.6-0.9-0.6-1.5V40.6h-8.5c-0.9,0-1.6-0.4-2-1.3\n c-0.4-0.9-0.2-1.6,0.5-2.3l14.8-14.8c0.4-0.4,0.9-0.6,1.5-0.6s1.1,0.2,1.5,0.6L64.3,37C65,37.7,65.1,38.4,64.8,39.3z\"/>\n </g>\n </svg>\n </div>\n \n <div class=\"upload-text\">\n <b>Drop</b> it here\n </div>\n </ng-template>\n </div>\n </div>\n ","providers":[{"__symbolic":"reference","name":"ɵb"}],"styles":[":host{position:relative;display:block}:host .overlay{display:none;background:rgba(255,255,255,.8);outline:#92b0b3 dashed 2px;outline-offset:-10px;position:absolute;top:0;left:0;right:0;bottom:0}:host(.dragover:not(.disabled)) .overlay{display:block}.icon{height:35px;width:35px;border:1px solid #eaeaea;border-radius:4px;margin:0 auto 10px}:host /deep/ .icon svg{fill:#80a9d2}.upload-input{pointer-events:none;cursor:pointer;display:inline-block;color:#80a9d2;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:.15s ease-in-out}"]}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":5}}]}],"overlay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":67,"character":5},"arguments":["overlay"]}]}],"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":70,"character":5},"arguments":["placeholder"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":81,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":79,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":80,"character":26},null]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"hasFiles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":104,"character":5},"arguments":["class.has-files"]}]}],"isInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":109,"character":5},"arguments":["class.ng-invalid"]}]}],"setEvents":[{"__symbolic":"method"}],"checkAndMarkAsDisabled":[{"__symbolic":"method"}],"preventDragEvents":[{"__symbolic":"method"}],"onDragOver":[{"__symbolic":"method"}],"onDragLeave":[{"__symbolic":"method"}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":175,"character":5},"arguments":["drop",["$event"]]}]}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"[filesize][formControlName],[filesize][formControl],[filesize][ngModel],\n [minsize][formControlName],[minsize][formControl],[minsize][ngModel],\n [maxsize][formControlName],[maxsize][formControl],[maxsize][ngModel]","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":24,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵh"},"multi":true}],"host":{"[attr.filesize]":"filesize ? filesize : null","[attr.minsize]":"minsize ? minsize : null","[attr.maxsize]":"maxsize ? maxsize : null","$quoted$":["[attr.filesize]","[attr.minsize]","[attr.maxsize]"]}}]}],"members":{"filesize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"minsize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"maxsize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"ngOnChanges":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"registerOnValidatorChange":[{"__symbolic":"method"}],"_createValidator":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":95,"character":1},"arguments":[{"selector":"[fileslimit][formControlName],[fileslimit][formControl],[fileslimit][ngModel]","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":98,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵi"},"multi":true}],"host":{"[attr.fileslimit]":"fileslimit ? fileslimit : null","$quoted$":["[attr.fileslimit]"]}}]}],"members":{"fileslimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":106,"character":5}}]}],"ngOnChanges":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"registerOnValidatorChange":[{"__symbolic":"method"}],"_createValidator":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":150,"character":1},"arguments":[{"selector":"[accept][formControlName],[accept][formControl],[accept][ngModel]","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":153,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵi"},"multi":true}],"host":{"[attr.accept]":"accept ? accept : null","$quoted$":["[attr.accept]"]}}]}],"members":{"accept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":5}}]}],"ngOnChanges":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"registerOnValidatorChange":[{"__symbolic":"method"}],"_createValidator":[{"__symbolic":"method"}]}}},"origins":{"FileUploadModule":"./file-upload.module","FileUploadControl":"./helpers/control.class","FileUploadValidators":"./helpers/validators.class","ValidationErrors":"./helpers/validators.class","ValidatorFn":"./helpers/validators.class","FileUploadTypes":"./helpers/file-types.class","ɵa":"./components/file-upload.component","ɵb":"./services/file-upload.service","ɵc":"./animations/zoom.animation","ɵd":"./animations/insert.animation","ɵe":"./components/file-upload-list-item.component","ɵf":"./components/file-upload-icon.component","ɵg":"./components/file-upload-attr.component","ɵh":"./directives/validators.directive","ɵi":"./directives/validators.directive","ɵj":"./directives/validators.directive"},"importAs":"@iplab/ngx-file-upload"}

@@ -6,3 +6,3 @@ {

"bugs": "https://github.com/pIvan/file-upload/issues",
"version": "1.1.3",
"version": "1.1.4",
"author": "Ivan Pintar",

@@ -33,19 +33,19 @@ "license": "MIT",

"devDependencies": {
"@angular/animations": "^7.1.3",
"@angular/common": "^7.1.3",
"@angular/compiler": "^7.1.3",
"@angular/core": "^7.1.3",
"@angular/forms": "^7.1.3",
"@angular/http": "^7.1.3",
"@angular/platform-browser": "^7.1.3",
"@angular/platform-browser-dynamic": "^7.1.3",
"@angular/router": "^7.1.3",
"@angular/animations": "^7.1.4",
"@angular/common": "^7.1.4",
"@angular/compiler": "^7.1.4",
"@angular/core": "^7.1.4",
"@angular/forms": "^7.1.4",
"@angular/http": "^7.1.4",
"@angular/platform-browser": "^7.1.4",
"@angular/platform-browser-dynamic": "^7.1.4",
"@angular/router": "^7.1.4",
"core-js": "^2.5.4",
"rxjs": "^6.3.3",
"zone.js": "^0.8.26",
"@angular/compiler-cli": "^7.1.3",
"@angular/compiler-cli": "^7.1.4",
"@angular-devkit/build-angular": "~0.6.8",
"typescript": "~3.1.6",
"@angular/cli": "~7.1.3",
"@angular/language-service": "^7.1.3",
"@angular/cli": "~7.1.4",
"@angular/language-service": "^7.1.4",
"@types/jasmine": "~2.8.6",

@@ -65,3 +65,3 @@ "@types/jasminewd2": "~2.0.3",

"tslint": "~5.9.1",
"ng-packagr": "^3.0.0",
"ng-packagr": "4.4.5",
"tsickle": "^0.33.1",

@@ -68,0 +68,0 @@ "bootstrap": "4.0.0-alpha.6",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc