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
71
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.3.4 to 1.4.0

4

esm2015/lib/components/file-upload-list-item.component.js

@@ -27,3 +27,3 @@ /**

calculateSize(size) {
return this.fileUploadService.calculateSize(size);
return this.fileUploadService.formatSize(size);
}

@@ -81,2 +81,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQTRCdEUsTUFBTSxPQUFPLDJCQUEyQjs7OztJQVdwQyxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUN4RCxDQUFDOzs7OztJQUVNLFVBQVUsQ0FBQyxJQUFVO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7O0lBRU0sYUFBYSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7OztZQTlDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FxQlQ7O2FBRUo7Ozs7WUEzQlEsaUJBQWlCOzs7b0JBOEJyQixLQUFLO21CQUdMLEtBQUs7c0JBR0wsS0FBSzs7OztJQU5OLDRDQUNxQjs7SUFFckIsMkNBQ2tCOztJQUVsQiw4Q0FDa0M7Ozs7O0lBRXRCLHdEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuLy4uL2hlbHBlcnMvY29udHJvbC5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IGBmaWxlLXVwbG9hZC1saXN0LWl0ZW1gLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgIDxmaWxlLXVwbG9hZC1pY29uIFtmaWxlXT1cImZpbGVcIj48L2ZpbGUtdXBsb2FkLWljb24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pbmZvXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+ICh7eyBjYWxjdWxhdGVTaXplKCBmaWxlLnNpemUgKSB9fSlcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtYnV0dG9uc1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVtb3ZlLWJ0blwiIChjbGljayk9XCJyZW1vdmVGaWxlKGZpbGUpXCI+XHJcbiAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgICAgIDxnPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk00MC41LDY2LjhWMzkuM2MwLTAuNC0wLjEtMC43LTAuNC0wLjlTMzkuNiwzOCwzOS4zLDM4aC0yLjVjLTAuNCwwLTAuNywwLjEtMC45LDAuNFxyXG4gICAgICAgICAgICAgICAgICAgIHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40UzQwLjUsNjcuMSw0MC41LDY2Ljh6IE01MC41LDY2LjhWMzkuM1xyXG4gICAgICAgICAgICAgICAgICAgIGMwLTAuNC0wLjEtMC43LTAuNC0wLjlTNDkuNiwzOCw0OS4zLDM4aC0yLjVjLTAuNCwwLTAuNywwLjEtMC45LDAuNHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNFxyXG4gICAgICAgICAgICAgICAgICAgIGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40UzUwLjUsNjcuMSw1MC41LDY2Ljh6IE02MC41LDY2LjhWMzkuM2MwLTAuNC0wLjEtMC43LTAuNC0wLjlTNTkuNiwzOCw1OS4zLDM4aC0yLjVcclxuICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLTAuNywwLjEtMC45LDAuNHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40XHJcbiAgICAgICAgICAgICAgICAgICAgUzYwLjUsNjcuMSw2MC41LDY2Ljh6IE0zOS4zLDI4aDE3LjVsLTEuOS00LjZjLTAuMi0wLjItMC40LTAuNC0wLjctMC40SDQxLjhjLTAuMywwLjEtMC41LDAuMi0wLjcsMC40TDM5LjMsMjh6IE03NS41LDI5LjN2Mi41XHJcbiAgICAgICAgICAgICAgICAgICAgYzAsMC40LTAuMSwwLjctMC40LDAuOVM3NC42LDMzLDc0LjMsMzNoLTMuOHYzN2MwLDIuMi0wLjYsNC0xLjgsNS42UzY2LDc4LDY0LjMsNzhIMzEuOGMtMS43LDAtMy4yLTAuOC00LjQtMi4zcy0xLjgtMy40LTEuOC01LjVcclxuICAgICAgICAgICAgICAgICAgICBWMzNoLTMuOGMtMC40LDAtMC43LTAuMS0wLjktMC40cy0wLjQtMC41LTAuNC0wLjl2LTIuNWMwLTAuNCwwLjEtMC43LDAuNC0wLjlzMC41LTAuNCwwLjktMC40aDEyLjFsMi43LTYuNWMwLjQtMSwxLjEtMS44LDIuMS0yLjVcclxuICAgICAgICAgICAgICAgICAgICBzMi0xLDMuMS0xaDEyLjVjMSwwLDIuMSwwLjMsMy4xLDFzMS43LDEuNSwyLjEsMi41bDIuNyw2LjVoMTIuMWMwLjQsMCwwLjcsMC4xLDAuOSwwLjRTNzUuNSwyOC45LDc1LjUsMjkuM3pcIi8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICA8L3N2Zz4gUmVtb3ZlPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbYC4vZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRMaXN0SXRlbUNvbXBvbmVudCB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbmRleDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZTogRmlsZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRyb2w6IEZpbGVVcGxvYWRDb250cm9sO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZUZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZW1vdmVGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYWxjdWxhdGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkU2VydmljZS5jYWxjdWxhdGVTaXplKHNpemUpO1xyXG4gICAgfVxyXG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQTRCdEUsTUFBTSxPQUFPLDJCQUEyQjs7OztJQVdwQyxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUN4RCxDQUFDOzs7OztJQUVNLFVBQVUsQ0FBQyxJQUFVO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7O0lBRU0sYUFBYSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7OztZQTlDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FxQlQ7O2FBRUo7Ozs7WUEzQlEsaUJBQWlCOzs7b0JBOEJyQixLQUFLO21CQUdMLEtBQUs7c0JBR0wsS0FBSzs7OztJQU5OLDRDQUNxQjs7SUFFckIsMkNBQ2tCOztJQUVsQiw4Q0FDa0M7Ozs7O0lBRXRCLHdEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuLy4uL2hlbHBlcnMvY29udHJvbC5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IGBmaWxlLXVwbG9hZC1saXN0LWl0ZW1gLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgIDxmaWxlLXVwbG9hZC1pY29uIFtmaWxlXT1cImZpbGVcIj48L2ZpbGUtdXBsb2FkLWljb24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pbmZvXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+ICh7eyBjYWxjdWxhdGVTaXplKCBmaWxlLnNpemUgKSB9fSlcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtYnV0dG9uc1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVtb3ZlLWJ0blwiIChjbGljayk9XCJyZW1vdmVGaWxlKGZpbGUpXCI+XHJcbiAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDk2IDk2XCI+XHJcbiAgICAgICAgICAgIDxnPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk00MC41LDY2LjhWMzkuM2MwLTAuNC0wLjEtMC43LTAuNC0wLjlTMzkuNiwzOCwzOS4zLDM4aC0yLjVjLTAuNCwwLTAuNywwLjEtMC45LDAuNFxyXG4gICAgICAgICAgICAgICAgICAgIHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40UzQwLjUsNjcuMSw0MC41LDY2Ljh6IE01MC41LDY2LjhWMzkuM1xyXG4gICAgICAgICAgICAgICAgICAgIGMwLTAuNC0wLjEtMC43LTAuNC0wLjlTNDkuNiwzOCw0OS4zLDM4aC0yLjVjLTAuNCwwLTAuNywwLjEtMC45LDAuNHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNFxyXG4gICAgICAgICAgICAgICAgICAgIGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40UzUwLjUsNjcuMSw1MC41LDY2Ljh6IE02MC41LDY2LjhWMzkuM2MwLTAuNC0wLjEtMC43LTAuNC0wLjlTNTkuNiwzOCw1OS4zLDM4aC0yLjVcclxuICAgICAgICAgICAgICAgICAgICBjLTAuNCwwLTAuNywwLjEtMC45LDAuNHMtMC40LDAuNS0wLjQsMC45djI3LjVjMCwwLjQsMC4xLDAuNywwLjQsMC45czAuNSwwLjQsMC45LDAuNGgyLjVjMC40LDAsMC43LTAuMSwwLjktMC40XHJcbiAgICAgICAgICAgICAgICAgICAgUzYwLjUsNjcuMSw2MC41LDY2Ljh6IE0zOS4zLDI4aDE3LjVsLTEuOS00LjZjLTAuMi0wLjItMC40LTAuNC0wLjctMC40SDQxLjhjLTAuMywwLjEtMC41LDAuMi0wLjcsMC40TDM5LjMsMjh6IE03NS41LDI5LjN2Mi41XHJcbiAgICAgICAgICAgICAgICAgICAgYzAsMC40LTAuMSwwLjctMC40LDAuOVM3NC42LDMzLDc0LjMsMzNoLTMuOHYzN2MwLDIuMi0wLjYsNC0xLjgsNS42UzY2LDc4LDY0LjMsNzhIMzEuOGMtMS43LDAtMy4yLTAuOC00LjQtMi4zcy0xLjgtMy40LTEuOC01LjVcclxuICAgICAgICAgICAgICAgICAgICBWMzNoLTMuOGMtMC40LDAtMC43LTAuMS0wLjktMC40cy0wLjQtMC41LTAuNC0wLjl2LTIuNWMwLTAuNCwwLjEtMC43LDAuNC0wLjlzMC41LTAuNCwwLjktMC40aDEyLjFsMi43LTYuNWMwLjQtMSwxLjEtMS44LDIuMS0yLjVcclxuICAgICAgICAgICAgICAgICAgICBzMi0xLDMuMS0xaDEyLjVjMSwwLDIuMSwwLjMsMy4xLDFzMS43LDEuNSwyLjEsMi41bDIuNyw2LjVoMTIuMWMwLjQsMCwwLjcsMC4xLDAuOSwwLjRTNzUuNSwyOC45LDc1LjUsMjkuM3pcIi8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICA8L3N2Zz4gUmVtb3ZlPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbYC4vZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRMaXN0SXRlbUNvbXBvbmVudCB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbmRleDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZTogRmlsZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRyb2w6IEZpbGVVcGxvYWRDb250cm9sO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZUZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZW1vdmVGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYWxjdWxhdGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkU2VydmljZS5mb3JtYXRTaXplKHNpemUpO1xyXG4gICAgfVxyXG59Il19

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

constructor(fileUpload, simpleFileUpload) {
this.fileUpload = null;
this.fileUpload = fileUpload || simpleFileUpload;

@@ -66,2 +67,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hdHRyaWJ1dGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUIsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBUXZGLE1BQU0sT0FBTyxvQkFBb0I7Ozs7O0lBTzdCLFlBQXdDLFVBQStCLEVBQzNDLGdCQUEyQztRQUNuRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQztJQUNyRCxDQUFDOzs7O0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7OztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLFFBQVEsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxFQUFFO1lBQzNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sU0FBUyxDQUFDLE1BQWM7UUFDNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7OztZQTlCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsSUFBSSxFQUFFLEVBQUMsZUFBZSxFQUFFLHdCQUF3QixFQUFDO2FBQ3BEOzs7O1lBUlEsbUJBQW1CLHVCQWdCWCxRQUFRLFlBQUksSUFBSSxZQUFJLElBQUk7WUFmaEMseUJBQXlCLHVCQWdCN0IsUUFBUSxZQUFJLElBQUksWUFBSSxJQUFJOzs7cUJBTnhCLEtBQUs7Ozs7SUFBTixzQ0FDc0I7Ozs7O0lBRXRCLDBDQUE2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9wdGlvbmFsLCBIb3N0LCBTZWxmLCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ltcGxlRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvc2ltcGxlLWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdmaWxlLXVwbG9hZFthY2NlcHRdJyxcclxuICAgIGhvc3Q6IHsnW2F0dHIuYWNjZXB0XSc6ICdhY2NlcHQgPyBhY2NlcHQgOiBudWxsJ31cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVzQWNjZXB0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGFjY2VwdDogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsZVVwbG9hZDogRmlsZVVwbG9hZENvbXBvbmVudCB8IFNpbXBsZUZpbGVVcGxvYWRDb21wb25lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2VsZigpIGZpbGVVcGxvYWQ6IEZpbGVVcGxvYWRDb21wb25lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIEBTZWxmKCkgc2ltcGxlRmlsZVVwbG9hZDogU2ltcGxlRmlsZVVwbG9hZENvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZCA9IGZpbGVVcGxvYWQgfHwgc2ltcGxlRmlsZVVwbG9hZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0QWNjZXB0KHRoaXMuYWNjZXB0KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICgnYWNjZXB0JyBpbiBjaGFuZ2VzICYmIGNoYW5nZXNbJ2FjY2VwdCddLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc1snYWNjZXB0J10ucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldEFjY2VwdCh0aGlzLmFjY2VwdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0QWNjZXB0KGFjY2VwdDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsZVVwbG9hZCAmJiB0aGlzLmZpbGVVcGxvYWQuY29udHJvbCkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWQuY29udHJvbC5hY2NlcHRGaWxlcyhhY2NlcHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hdHRyaWJ1dGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUIsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBUXZGLE1BQU0sT0FBTyxvQkFBb0I7Ozs7O0lBTzdCLFlBQ2dDLFVBQStCLEVBQy9CLGdCQUEyQztRQUoxRCxlQUFVLEdBQW9ELElBQUksQ0FBQztRQUtoRixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQztJQUNyRCxDQUFDOzs7O0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7OztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLFFBQVEsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxFQUFFO1lBQzNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sU0FBUyxDQUFDLE1BQWM7UUFDNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7OztZQS9CSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsSUFBSSxFQUFFLEVBQUMsZUFBZSxFQUFFLHdCQUF3QixFQUFDO2FBQ3BEOzs7O1lBUlEsbUJBQW1CLHVCQWlCbkIsUUFBUSxZQUFJLElBQUksWUFBSSxJQUFJO1lBaEJ4Qix5QkFBeUIsdUJBaUJ6QixRQUFRLFlBQUksSUFBSSxZQUFJLElBQUk7OztxQkFQNUIsS0FBSzs7OztJQUFOLHNDQUNzQjs7Ozs7SUFFdEIsMENBQW9GIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT3B0aW9uYWwsIEhvc3QsIFNlbGYsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9zaW1wbGUtZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ2ZpbGUtdXBsb2FkW2FjY2VwdF0nLFxyXG4gICAgaG9zdDogeydbYXR0ci5hY2NlcHRdJzogJ2FjY2VwdCA/IGFjY2VwdCA6IG51bGwnfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZXNBY2NlcHREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWNjZXB0OiBzdHJpbmc7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlVXBsb2FkOiBGaWxlVXBsb2FkQ29tcG9uZW50IHwgU2ltcGxlRmlsZVVwbG9hZENvbXBvbmVudCA9IG51bGw7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2VsZigpIGZpbGVVcGxvYWQ6IEZpbGVVcGxvYWRDb21wb25lbnQsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2VsZigpIHNpbXBsZUZpbGVVcGxvYWQ6IFNpbXBsZUZpbGVVcGxvYWRDb21wb25lbnQpIHtcclxuICAgICAgICB0aGlzLmZpbGVVcGxvYWQgPSBmaWxlVXBsb2FkIHx8IHNpbXBsZUZpbGVVcGxvYWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldEFjY2VwdCh0aGlzLmFjY2VwdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoJ2FjY2VwdCcgaW4gY2hhbmdlcyAmJiBjaGFuZ2VzWydhY2NlcHQnXS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ2FjY2VwdCddLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRBY2NlcHQodGhpcy5hY2NlcHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEFjY2VwdChhY2NlcHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbGVVcGxvYWQgJiYgdGhpcy5maWxlVXBsb2FkLmNvbnRyb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5maWxlVXBsb2FkLmNvbnRyb2wuYWNjZXB0RmlsZXMoYWNjZXB0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19

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

import { IsNullOrEmpty } from './../helpers/helpers.class';
import { FileUploadService } from './../services/file-upload.service';
/**
* A Directive that adds the `filesize` validator to controls marked with the
* `filesize` attribute.
* `filesize` attribute. The size of the file is in bytes or any other unit
*

@@ -20,2 +21,5 @@ * ### Example

* <file-upload name="files" ngModel minSize="0" max="6200"></file-upload>
* <file-upload name="files" ngModel filesize="123MB"></file-upload>
* <file-upload name="files" ngModel [filesize]="12 mb"></file-upload>
* <file-upload name="files" ngModel minSize="0" max="324KB"></file-upload>
* ```

@@ -26,2 +30,8 @@ *

/**
* @param {?} fileUploadService
*/
constructor(fileUploadService) {
this.fileUploadService = fileUploadService;
}
/**
* @param {?} changes

@@ -62,9 +72,9 @@ * @return {?}

if (!IsNullOrEmpty(this.maxsize)) {
maxSize = typeof this.maxsize === 'string' ? parseInt(this.maxsize, 10) : this.maxsize;
maxSize = this.fileUploadService.parseSize(this.maxsize);
}
else if (!IsNullOrEmpty(this.filesize)) {
maxSize = typeof this.filesize === 'string' ? parseInt(this.filesize, 10) : this.filesize;
maxSize = this.fileUploadService.parseSize(this.filesize);
}
/** @type {?} */
const minSize = typeof this.minsize === 'string' ? parseInt(this.minsize, 10) : this.minsize;
const minSize = this.fileUploadService.parseSize(this.minsize);
this.validator = FileUploadValidators.sizeRange({ maxSize, minSize });

@@ -93,2 +103,6 @@ }

];
/** @nocollapse */
FileSizeValidator.ctorParameters = () => [
{ type: FileUploadService }
];
FileSizeValidator.propDecorators = {

@@ -116,2 +130,7 @@ filesize: [{ type: Input }],

FileSizeValidator.prototype.onChange;
/**
* @type {?}
* @private
*/
FileSizeValidator.prototype.fileUploadService;
}

@@ -276,2 +295,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBK0QsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLGFBQWEsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQWlDLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQWdDM0QsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7SUFlbkIsV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLElBQUksVUFBVSxJQUFJLE9BQU87ZUFDbEIsU0FBUyxJQUFJLE9BQU87ZUFDcEIsU0FBUyxJQUFJLE9BQU8sRUFBRTtZQUMzQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ25CO1NBQ0Y7SUFDTCxDQUFDOzs7OztJQUVNLFFBQVEsQ0FBQyxDQUFrQjtRQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7Ozs7SUFFTSx5QkFBeUIsQ0FBQyxFQUFjO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRU8sZ0JBQWdCOztZQUNoQixPQUFPLEdBQUcsSUFBSTtRQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixPQUFPLEdBQUcsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFL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IGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEhvc3QsIFNlbGYsIE9wdGlvbmFsLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIEZpbGVVcGxvYWRWYWxpZGF0b3JzIH0gZnJvbSAnLi8uLi9oZWxwZXJzL3ZhbGlkYXRvcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBJc051bGxPckVtcHR5IH0gZnJvbSAnLi8uLi9oZWxwZXJzL2hlbHBlcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEEgRGlyZWN0aXZlIHRoYXQgYWRkcyB0aGUgYGZpbGVzaXplYCB2YWxpZGF0b3IgdG8gY29udHJvbHMgbWFya2VkIHdpdGggdGhlXHJcbiAqIGBmaWxlc2l6ZWAgYXR0cmlidXRlLlxyXG4gKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBgYGBcclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgZmlsZXNpemU9XCI4MzAwMDBcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBbZmlsZXNpemVdPVwiODMwMDAwXCI+PC9maWxlLXVwbG9hZD5cclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgbWluU2l6ZT1cIjBcIiBtYXg9XCI2MjAwXCI+PC9maWxlLXVwbG9hZD5cclxuICogYGBgXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBgW2ZpbGVzaXplXVtmb3JtQ29udHJvbE5hbWVdLFtmaWxlc2l6ZV1bZm9ybUNvbnRyb2xdLFtmaWxlc2l6ZV1bbmdNb2RlbF0sXHJcbiAgICBbbWluc2l6ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWluc2l6ZV1bZm9ybUNvbnRyb2xdLFttaW5zaXplXVtuZ01vZGVsXSxcclxuICAgIFttYXhzaXplXVtmb3JtQ29udHJvbE5hbWVdLFttYXhzaXplXVtmb3JtQ29udHJvbF0sW21heHNpemVdW25nTW9kZWxdYCxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbGVTaXplVmFsaWRhdG9yKSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV0sXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ1thdHRyLmZpbGVzaXplXSc6ICdmaWxlc2l6ZSA/IGZpbGVzaXplIDogbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLm1pbnNpemVdJzogJ21pbnNpemUgPyBtaW5zaXplIDogbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLm1heHNpemVdJzogJ21heHNpemUgPyBtYXhzaXplIDogbnVsbCdcclxuICAgIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVTaXplVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZXNpemU6IHN0cmluZ3xudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtaW5zaXplOiBzdHJpbmd8bnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbWF4c2l6ZTogc3RyaW5nfG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRvcjogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICgnZmlsZXNpemUnIGluIGNoYW5nZXMgXHJcbiAgICAgICAgICAgIHx8ICdtYXhzaXplJyBpbiBjaGFuZ2VzIFxyXG4gICAgICAgICAgICB8fCAnbWluc2l6ZScgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgdGhpcy5fY3JlYXRlVmFsaWRhdG9yKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnN8bnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdG9yKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuOyBcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IG1heFNpemUgPSBudWxsO1xyXG4gICAgICAgIGlmICghSXNOdWxsT3JFbXB0eSh0aGlzLm1heHNpemUpKSB7XHJcbiAgICAgICAgICAgIG1heFNpemUgPSB0eXBlb2YgdGhpcy5tYXhzaXplID09PSAnc3RyaW5nJyA/IHBhcnNlSW50KHRoaXMubWF4c2l6ZSwgMTApIDogdGhpcy5tYXhzaXplO1xyXG4gICAgICAgIH0gZWxzZSBpZighSXNOdWxsT3JFbXB0eSh0aGlzLmZpbGVzaXplKSkge1xyXG4gICAgICAgICAgICBtYXhTaXplID0gdHlwZW9mIHRoaXMuZmlsZXNpemUgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQodGhpcy5maWxlc2l6ZSwgMTApIDogdGhpcy5maWxlc2l6ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG1pblNpemUgPSB0eXBlb2YgdGhpcy5taW5zaXplID09PSAnc3RyaW5nJyA/IHBhcnNlSW50KHRoaXMubWluc2l6ZSwgMTApIDogdGhpcy5taW5zaXplO1xyXG5cclxuICAgICAgICB0aGlzLnZhbGlkYXRvciA9IEZpbGVVcGxvYWRWYWxpZGF0b3JzLnNpemVSYW5nZSh7IG1heFNpemUsIG1pblNpemUgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQSBEaXJlY3RpdmUgdGhhdCBhZGRzIHRoZSBgZmlsZXNsaW1pdGAgdmFsaWRhdG9yIHRvIGNvbnRyb2xzIG1hcmtlZCB3aXRoIHRoZVxyXG4gKiBgZmlsZXNsaW1pdGAgYXR0cmlidXRlLlxyXG4gKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBgYGBcclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgZmlsZXNsaW1pdD1cIjJcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBbZmlsZXNsaW1pdF09XCIyXCI+PC9maWxlLXVwbG9hZD5cclxuICogYGBgXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2ZpbGVzbGltaXRdW2Zvcm1Db250cm9sTmFtZV0sW2ZpbGVzbGltaXRdW2Zvcm1Db250cm9sXSxbZmlsZXNsaW1pdF1bbmdNb2RlbF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZXNMaW1pdFZhbGlkYXRvciksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dLFxyXG4gICAgaG9zdDogeydbYXR0ci5maWxlc2xpbWl0XSc6ICdmaWxlc2xpbWl0ID8gZmlsZXNsaW1pdCA6IG51bGwnfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZXNMaW1pdFZhbGlkYXRvciBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25DaGFuZ2VzIHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGVzbGltaXQ6IHN0cmluZ3xudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0b3I6IFZhbGlkYXRvckZuO1xyXG5cclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoJ2ZpbGVzbGltaXQnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgIHRoaXMuX2NyZWF0ZVZhbGlkYXRvcigpO1xyXG4gICAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9yc3xudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWxlc2xpbWl0ICE9IG51bGwgPyB0aGlzLnZhbGlkYXRvcihjKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47IFxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZVZhbGlkYXRvcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRvciA9IEZpbGVVcGxvYWRWYWxpZGF0b3JzLmZpbGVzTGltaXQodHlwZW9mIHRoaXMuZmlsZXNsaW1pdCA9PT0gJ3N0cmluZycgPyBwYXJzZUludCh0aGlzLmZpbGVzbGltaXQsIDEwKSA6IHRoaXMuZmlsZXNsaW1pdCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIERpcmVjdGl2ZSB0aGF0IGFkZHMgdGhlIGBhY2NlcHRgIHZhbGlkYXRvciB0byBjb250cm9scyBtYXJrZWQgd2l0aCB0aGVcclxuICogYGFjY2VwdGAgYXR0cmlidXRlLlxyXG4gKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBgYGBcclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgYWNjZXB0PVwiZmlsZV9leHRlbnNpb258YXVkaW8vKnx2aWRlby8qfGltYWdlLyp8bWVkaWFfdHlwZVwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIFthY2NlcHRdPVwiZmlsZV9leHRlbnNpb258YXVkaW8vKnx2aWRlby8qfGltYWdlLyp8bWVkaWFfdHlwZVwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIGBgYFxyXG4gKiBcclxuICogVG8gc3BlY2lmeSBtb3JlIHRoYW4gb25lIHZhbHVlLCBzZXBhcmF0ZSB0aGUgdmFsdWVzIHdpdGggYSBjb21tYSAoZS5nLiA8ZmlsZS11cGxvYWQgYWNjZXB0PVwiYXVkaW8vKix2aWRlby8qLGltYWdlLypcIj48L2ZpbGUtdXBsb2FkPi5cclxuICpcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbYWNjZXB0XVtmb3JtQ29udHJvbE5hbWVdLFthY2NlcHRdW2Zvcm1Db250cm9sXSxbYWNjZXB0XVtuZ01vZGVsXScsXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlc0FjY2VwdFZhbGlkYXRvciksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dLFxyXG4gICAgaG9zdDogeydbYXR0ci5hY2NlcHRdJzogJ2FjY2VwdCA/IGFjY2VwdCA6IG51bGwnfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZXNBY2NlcHRWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhY2NlcHQ6IHN0cmluZztcclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRvcjogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICgnYWNjZXB0JyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGVWYWxpZGF0b3IoKTtcclxuICAgICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9yc3xudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NlcHQgIT0gbnVsbCA/IHRoaXMudmFsaWRhdG9yKGMpIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0b3IgPSBGaWxlVXBsb2FkVmFsaWRhdG9ycy5hY2NlcHQodGhpcy5hY2NlcHQuc3BsaXQoJywnKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBK0QsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLGFBQWEsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQWlDLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQWtDdEUsTUFBTSxPQUFPLGlCQUFpQjs7OztJQWExQixZQUE2QixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFFLENBQUM7Ozs7O0lBSTdELFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLFVBQVUsSUFBSSxPQUFPO2VBQ2xCLFNBQVMsSUFBSSxPQUFPO2VBQ3BCLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNuQjtTQUNGO0lBQ0wsQ0FBQzs7Ozs7SUFFTSxRQUFRLENBQUMsQ0FBa0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Ozs7O0lBRU0seUJBQXlCLENBQUMsRUFBYztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVPLGdCQUFnQjs7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Q2pDLE1BQU0sT0FBTyxvQkFBb0I7Ozs7O0lBU3RCLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNuQjtTQUNGO0lBQ0wsQ0FBQzs7Ozs7SUFFTSxRQUFRLENBQUMsQ0FBa0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFELENBQUM7Ozs7O0lBRU0seUJBQXlCLENBQUMsRUFBYztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OztZQXJDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1FQUFtRTtnQkFDN0UsU0FBUyxFQUFFLENBQUM7d0JBQ1IsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLFdBQVcsRUFBRSxVQUFVOzs7d0JBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLEVBQUM7d0JBQ25ELEtBQUssRUFBRSxJQUFJO3FCQUNkLENBQUM7Z0JBQ0YsSUFBSSxFQUFFLEVBQUMsZUFBZSxFQUFFLHdCQUF3QixFQUFDO2FBQ3BEOzs7cUJBR0ksS0FBSzs7OztJQUFOLHNDQUNzQjs7Ozs7SUFFdEIseUNBQStCOzs7OztJQUUvQix3Q0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEhvc3QsIFNlbGYsIE9wdGlvbmFsLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIEZpbGVVcGxvYWRWYWxpZGF0b3JzIH0gZnJvbSAnLi8uLi9oZWxwZXJzL3ZhbGlkYXRvcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBJc051bGxPckVtcHR5IH0gZnJvbSAnLi8uLi9oZWxwZXJzL2hlbHBlcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEEgRGlyZWN0aXZlIHRoYXQgYWRkcyB0aGUgYGZpbGVzaXplYCB2YWxpZGF0b3IgdG8gY29udHJvbHMgbWFya2VkIHdpdGggdGhlXHJcbiAqIGBmaWxlc2l6ZWAgYXR0cmlidXRlLiBUaGUgc2l6ZSBvZiB0aGUgZmlsZSBpcyBpbiBieXRlcyBvciBhbnkgb3RoZXIgdW5pdFxyXG4gKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBgYGBcclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgZmlsZXNpemU9XCI4MzAwMDBcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBbZmlsZXNpemVdPVwiODMwMDAwXCI+PC9maWxlLXVwbG9hZD5cclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgbWluU2l6ZT1cIjBcIiBtYXg9XCI2MjAwXCI+PC9maWxlLXVwbG9hZD5cclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgZmlsZXNpemU9XCIxMjNNQlwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIFtmaWxlc2l6ZV09XCIxMiBtYlwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIG1pblNpemU9XCIwXCIgbWF4PVwiMzI0S0JcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiBgYGBcclxuICpcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IGBbZmlsZXNpemVdW2Zvcm1Db250cm9sTmFtZV0sW2ZpbGVzaXplXVtmb3JtQ29udHJvbF0sW2ZpbGVzaXplXVtuZ01vZGVsXSxcclxuICAgIFttaW5zaXplXVtmb3JtQ29udHJvbE5hbWVdLFttaW5zaXplXVtmb3JtQ29udHJvbF0sW21pbnNpemVdW25nTW9kZWxdLFxyXG4gICAgW21heHNpemVdW2Zvcm1Db250cm9sTmFtZV0sW21heHNpemVdW2Zvcm1Db250cm9sXSxbbWF4c2l6ZV1bbmdNb2RlbF1gLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZVNpemVWYWxpZGF0b3IpLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XSxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnW2F0dHIuZmlsZXNpemVdJzogJ2ZpbGVzaXplID8gZmlsZXNpemUgOiBudWxsJyxcclxuICAgICAgICAnW2F0dHIubWluc2l6ZV0nOiAnbWluc2l6ZSA/IG1pbnNpemUgOiBudWxsJyxcclxuICAgICAgICAnW2F0dHIubWF4c2l6ZV0nOiAnbWF4c2l6ZSA/IG1heHNpemUgOiBudWxsJ1xyXG4gICAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVNpemVWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmaWxlc2l6ZTogc3RyaW5nfG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIG1pbnNpemU6IHN0cmluZ3xudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtYXhzaXplOiBzdHJpbmd8bnVtYmVyO1xyXG5cclxuICAgIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSl7fVxyXG5cclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoJ2ZpbGVzaXplJyBpbiBjaGFuZ2VzIFxyXG4gICAgICAgICAgICB8fCAnbWF4c2l6ZScgaW4gY2hhbmdlcyBcclxuICAgICAgICAgICAgfHwgJ21pbnNpemUnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgIHRoaXMuX2NyZWF0ZVZhbGlkYXRvcigpO1xyXG4gICAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB2YWxpZGF0ZShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzfG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRvcihjKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjsgXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBtYXhTaXplID0gbnVsbDtcclxuICAgICAgICBpZiAoIUlzTnVsbE9yRW1wdHkodGhpcy5tYXhzaXplKSkge1xyXG4gICAgICAgICAgICBtYXhTaXplID0gdGhpcy5maWxlVXBsb2FkU2VydmljZS5wYXJzZVNpemUodGhpcy5tYXhzaXplKTtcclxuICAgICAgICB9IGVsc2UgaWYoIUlzTnVsbE9yRW1wdHkodGhpcy5maWxlc2l6ZSkpIHtcclxuICAgICAgICAgICAgbWF4U2l6ZSA9IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UucGFyc2VTaXplKHRoaXMuZmlsZXNpemUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbWluU2l6ZSA9IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UucGFyc2VTaXplKHRoaXMubWluc2l6ZSk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0b3IgPSBGaWxlVXBsb2FkVmFsaWRhdG9ycy5zaXplUmFuZ2UoeyBtYXhTaXplLCBtaW5TaXplIH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEEgRGlyZWN0aXZlIHRoYXQgYWRkcyB0aGUgYGZpbGVzbGltaXRgIHZhbGlkYXRvciB0byBjb250cm9scyBtYXJrZWQgd2l0aCB0aGVcclxuICogYGZpbGVzbGltaXRgIGF0dHJpYnV0ZS5cclxuICpcclxuICogIyMjIEV4YW1wbGVcclxuICpcclxuICogYGBgXHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIGZpbGVzbGltaXQ9XCIyXCI+PC9maWxlLXVwbG9hZD5cclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgW2ZpbGVzbGltaXRdPVwiMlwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tmaWxlc2xpbWl0XVtmb3JtQ29udHJvbE5hbWVdLFtmaWxlc2xpbWl0XVtmb3JtQ29udHJvbF0sW2ZpbGVzbGltaXRdW25nTW9kZWxdJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbGVzTGltaXRWYWxpZGF0b3IpLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XSxcclxuICAgIGhvc3Q6IHsnW2F0dHIuZmlsZXNsaW1pdF0nOiAnZmlsZXNsaW1pdCA/IGZpbGVzbGltaXQgOiBudWxsJ31cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVzTGltaXRWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmaWxlc2xpbWl0OiBzdHJpbmd8bnVtYmVyO1xyXG5cclxuICAgIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbjtcclxuXHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCdmaWxlc2xpbWl0JyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGVWYWxpZGF0b3IoKTtcclxuICAgICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnN8bnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZXNsaW1pdCAhPSBudWxsID8gdGhpcy52YWxpZGF0b3IoYykgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuOyBcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0b3IgPSBGaWxlVXBsb2FkVmFsaWRhdG9ycy5maWxlc0xpbWl0KHR5cGVvZiB0aGlzLmZpbGVzbGltaXQgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQodGhpcy5maWxlc2xpbWl0LCAxMCkgOiB0aGlzLmZpbGVzbGltaXQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQSBEaXJlY3RpdmUgdGhhdCBhZGRzIHRoZSBgYWNjZXB0YCB2YWxpZGF0b3IgdG8gY29udHJvbHMgbWFya2VkIHdpdGggdGhlXHJcbiAqIGBhY2NlcHRgIGF0dHJpYnV0ZS5cclxuICpcclxuICogIyMjIEV4YW1wbGVcclxuICpcclxuICogYGBgXHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIGFjY2VwdD1cImZpbGVfZXh0ZW5zaW9ufGF1ZGlvLyp8dmlkZW8vKnxpbWFnZS8qfG1lZGlhX3R5cGVcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBbYWNjZXB0XT1cImZpbGVfZXh0ZW5zaW9ufGF1ZGlvLyp8dmlkZW8vKnxpbWFnZS8qfG1lZGlhX3R5cGVcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiBgYGBcclxuICogXHJcbiAqIFRvIHNwZWNpZnkgbW9yZSB0aGFuIG9uZSB2YWx1ZSwgc2VwYXJhdGUgdGhlIHZhbHVlcyB3aXRoIGEgY29tbWEgKGUuZy4gPGZpbGUtdXBsb2FkIGFjY2VwdD1cImF1ZGlvLyosdmlkZW8vKixpbWFnZS8qXCI+PC9maWxlLXVwbG9hZD4uXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2FjY2VwdF1bZm9ybUNvbnRyb2xOYW1lXSxbYWNjZXB0XVtmb3JtQ29udHJvbF0sW2FjY2VwdF1bbmdNb2RlbF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZXNBY2NlcHRWYWxpZGF0b3IpLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XSxcclxuICAgIGhvc3Q6IHsnW2F0dHIuYWNjZXB0XSc6ICdhY2NlcHQgPyBhY2NlcHQgOiBudWxsJ31cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVzQWNjZXB0VmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWNjZXB0OiBzdHJpbmc7XHJcblxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0b3I6IFZhbGlkYXRvckZuO1xyXG5cclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoJ2FjY2VwdCcgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgdGhpcy5fY3JlYXRlVmFsaWRhdG9yKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnN8bnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXB0ICE9IG51bGwgPyB0aGlzLnZhbGlkYXRvcihjKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdG9yID0gRmlsZVVwbG9hZFZhbGlkYXRvcnMuYWNjZXB0KHRoaXMuYWNjZXB0LnNwbGl0KCcsJykpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==

@@ -61,3 +61,3 @@ /**

/** @type {?} */
const fileExtension = file.name.split('.').pop();
const fileExtension = file.name.split('.').pop().toLowerCase();
/** @type {?} */

@@ -224,2 +224,2 @@ const fileType = getFileType(file, fileExtension);

export { ɵ0, ɵ1, ɵ2, ɵ3 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvaGVscGVycy92YWxpZGF0b3JzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBRXJELHNDQUVDOzs7O0FBRUQsaUNBRUM7Ozs7O01BS0ssYUFBYTs7Ozs7O0FBQUcsQ0FBQyxJQUFVLEVBQUUsT0FBZSxFQUFFLFVBQWtCLENBQUMsRUFBMkIsRUFBRTtJQUNoRyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQzVFLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzNELENBQUMsQ0FBQTs7O01BRUssV0FBVzs7Ozs7QUFBRyxDQUFDLElBQVUsRUFBRSxhQUFxQixFQUFtQixFQUFFOztVQUNqRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUk7SUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixPQUFPLG1CQUFBLElBQUksRUFBbUIsQ0FBQztLQUNsQztJQUVELE9BQU8sZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQTs7O01BRUssWUFBWSxHQUFHLGFBQWE7Ozs7Ozs7O01BTzVCLGFBQWE7Ozs7O0FBQUcsQ0FBQyxJQUFVLEVBQUUsWUFBMkIsRUFBMkIsRUFBRTs7VUFDakYsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJ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WUFFdEIsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QixFQUFDLFlBQVksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekUsQ0FBQyxFQUFDO0lBQ04sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWtCTSxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUErQjtRQUNoRDs7OztRQUFPLENBQUMsT0FBNEMsRUFBb0IsRUFBRTs7a0JBQ2hFLEtBQUssR0FBZ0IsT0FBTyxDQUFDLEtBQUs7WUFDeEMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUM7YUFBRTtZQUMxQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7O2tCQUVoQixlQUFlLEdBQUcsS0FBSyxDQUFDLEdBQUc7Ozs7WUFBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxFQUFDO2lCQUNyRCxNQUFNOzs7O1lBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBQztZQUVyRCxPQUFPLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUMsQ0FBQyxFQUFDO0lBQ04sQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJc051bGxPckVtcHR5IH0gZnJvbSAnLi9oZWxwZXJzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuL2NvbnRyb2wuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkVHlwZXMgfSBmcm9tICcuL2ZpbGUtdHlwZXMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0b3JGbiB7XHJcbiAgICAoYzogQWJzdHJhY3RDb250cm9sIHwgRmlsZVVwbG9hZENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIGZ1bmN0aW9uIHVzZWQgdG8gY2hlY2sgZmlsZSBzaXplXHJcbiAqL1xyXG5jb25zdCBjaGVja0ZpbGVTaXplID0gKGZpbGU6IEZpbGUsIG1heFNpemU6IG51bWJlciwgbWluU2l6ZTogbnVtYmVyID0gMCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIHJldHVybiAoIUlzTnVsbE9yRW1wdHkobWF4U2l6ZSkgJiYgZmlsZS5zaXplID4gbWF4U2l6ZSkgfHwgZmlsZS5zaXplIDwgbWluU2l6ZSA/XHJcbiAgICAgICAge21heFNpemUsIG1pblNpemUsIGFjdHVhbDogZmlsZS5zaXplLCBmaWxlfSA6IG51bGw7XHJcbn07XHJcblxyXG5jb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlLCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcpOiBGaWxlVXBsb2FkVHlwZXMgPT4ge1xyXG4gICAgY29uc3QgdHlwZSA9IGZpbGUudHlwZTtcclxuICAgIGlmICghSXNOdWxsT3JFbXB0eSh0eXBlKSkge1xyXG4gICAgICAgIHJldHVybiB0eXBlIGFzIEZpbGVVcGxvYWRUeXBlcztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gRmlsZVVwbG9hZFR5cGVzW2ZpbGVFeHRlbnNpb25dO1xyXG59O1xyXG5cclxuY29uc3QgRklMRV9FWFRfUkVHID0gLyheWy5dXFx3KikkL207XHJcbi8qKlxyXG4gKiBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGZpbGUgdHlwZVxyXG4gKiBcclxuICogIyMjIyBhbGxvd2VkVHlwZXNcclxuICogZmlsZV9leHRlbnNpb258YXVkaW8vKnx2aWRlby8qfGltYWdlLyp8bWVkaWFfdHlwZVxyXG4gKi9cclxuY29uc3QgY2hlY2tGaWxlVHlwZSA9IChmaWxlOiBGaWxlLCBhbGxvd2VkVHlwZXM6IEFycmF5PHN0cmluZz4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKCk7XHJcbiAgICBjb25zdCBmaWxlVHlwZSA9IGdldEZpbGVUeXBlKGZpbGUsIGZpbGVFeHRlbnNpb24pO1xyXG5cclxuICAgIGZvciAoY29uc3QgdHlwZSBvZiBhbGxvd2VkVHlwZXMgKSB7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZCA9IEZJTEVfRVhUX1JFRy50ZXN0KHR5cGUpID8gdHlwZSA9PT0gYC4ke2ZpbGVFeHRlbnNpb259YCA6IG5ldyBSZWdFeHAodHlwZSkudGVzdChmaWxlVHlwZSk7XHJcbiAgICAgICAgaWYgKGlzVmFsaWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7YWxsb3dlZFR5cGVzLCBhY3R1YWw6IGZpbGUudHlwZSwgZmlsZX07XHJcbn07XHJcblxyXG5jb25zdCBjaGVja1ZhbHVlVHlwZSA9ICh2YWx1ZTogYW55ICk6IHZvaWQgPT4ge1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHRocm93IEVycm9yKGBGb3JtQ29udHJvbC5zZXRWYWx1ZSB3YXMgcHJvdmlkZWQgd2l0aCB3cm9uZyBhcmd1bWVudCB0eXBlLCAke3ZhbHVlfSB3YXMgcHJvdmlkZWQgaW5zdGVhZCBBcnJheTxGaWxlPmApO1xyXG4gICAgfVxyXG59O1xyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRWYWxpZGF0b3JzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFZhbGlkYXRvciB0aGF0IHJlcXVpcmVzIGNvbnRyb2xzIHRvIGhhdmUgYSBmaWxlIG1heGltdW0gc2l6ZSBsZW5ndGguXHJcbiAgICAgKiBDb21wYXJlIHRoZSBGaWxlIHNpemUgaW4gYnl0ZXNcclxuICAgICAqIEBkeW5hbWljXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZmlsZVNpemUobWF4U2l6ZTogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgRmlsZVVwbG9hZENvbnRyb2wpOiB7ZmlsZVNpemU6IEFycmF5PFZhbGlkYXRpb25FcnJvcnM+fSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzOiBBcnJheTxGaWxlPiA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChJc051bGxPckVtcHR5KGZpbGVzKSkgeyByZXR1cm4gbnVsbDsgfVxyXG4gICAgICAgICAgICBjaGVja1ZhbHVlVHlwZShmaWxlcyk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0b0xhcmdlRmlsZXMgPSBmaWxlcy5tYXAoKGZpbGUpID0+IGNoZWNrRmlsZVNpemUoZmlsZSwgbWF4U2l6ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChlcnJvcikgPT4gZXJyb3IpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRvTGFyZ2VGaWxlcy5sZW5ndGggPiAwID9cclxuICAgICAgICAgICAgICAgICAgICB7J2ZpbGVTaXplJzogdG9MYXJnZUZpbGVzfSA6IG51bGw7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXBhcmUgdGhlIEZpbGUgc2l6ZSBpbiBieXRlcyB3aXRoIG1heCBhbmQgbWluIHNpemUgbGltaXRzXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHNpemVSYW5nZSh7IG1pblNpemUsIG1heFNpemUgfTogeyBtaW5TaXplPzogbnVtYmVyOyBtYXhTaXplPzogbnVtYmVyIH0pOiBWYWxpZGF0b3JGbiB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBGaWxlVXBsb2FkQ29udHJvbCk6IHtzaXplUmFuZ2U6IEFycmF5PFZhbGlkYXRpb25FcnJvcnM+fSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzOiBBcnJheTxGaWxlPiA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChJc051bGxPckVtcHR5KGZpbGVzKSkgeyByZXR1cm4gbnVsbDsgfVxyXG4gICAgICAgICAgICBjaGVja1ZhbHVlVHlwZShmaWxlcyk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzaXplTWlzbWF0Y2ggPSBmaWxlcy5tYXAoKGZpbGUpID0+IGNoZWNrRmlsZVNpemUoZmlsZSwgbWF4U2l6ZSwgbWluU2l6ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChlcnJvcikgPT4gZXJyb3IpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHNpemVNaXNtYXRjaC5sZW5ndGggPiAwID9cclxuICAgICAgICAgICAgICAgICAgICB7J3NpemVSYW5nZSc6IHNpemVNaXNtYXRjaH0gOiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiB2YWxpZGF0b3IgdGhhdCByZXF1aXJlcyBjb250cm9sIHRvIGhhdmUgbGltaXQgb24gZmlsZXMgbnVtYmVyXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGZpbGVzTGltaXQobnVtRmlsZXM6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IEZpbGVVcGxvYWRDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzOiBBcnJheTxGaWxlPiA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChJc051bGxPckVtcHR5KGZpbGVzKSkgeyByZXR1cm4gbnVsbDsgfVxyXG4gICAgICAgICAgICBjaGVja1ZhbHVlVHlwZShmaWxlcyk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gZmlsZXMubGVuZ3RoID4gbnVtRmlsZXMgP1xyXG4gICAgICAgICAgICAgICAgeydmaWxlc0xpbWl0JzogeydtYXgnOiBudW1GaWxlcywgJ2FjdHVhbCc6IGZpbGVzLmxlbmd0aH19IDogbnVsbDtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgY29udHJvbCB0byBoYXZlIGxpbWl0IG9uIG1lZGlhIHR5cGVzXHJcbiAgICAgKiBcclxuICAgICAqICMjIyMjIEFsbG93ZWQgbWVkaWEgdHlwZXMgYXJlXHJcbiAgICAgKiBcclxuICAgICAqIC0gZmlsZV9leHRlbnNpb24gLSBhIGZpbGUgZXh0ZW5zaW9uIHN0YXJ0aW5nIHdpdGggdGhlIFNUT1AgY2hhcmFjdGVyLCBcclxuICAgICAqIGUuZzogLmdpZiwgLmpwZywgLnBuZywgLmRvY1xyXG4gICAgICogLSBhdWRpby8qIC0gICAgICAgIEFsbCBzb3VuZCBmaWxlcyBhcmUgYWNjZXB0ZWRcclxuICAgICAqIC0gdmlkZW8vKiAtICAgICAgICBBbGwgdmlkZW8gZmlsZXMgYXJlIGFjY2VwdGVkXHJcbiAgICAgKiAtIGltYWdlLyogLSAgICAgICAgQWxsIGltYWdlIGZpbGVzIGFyZSBhY2NlcHRlZFxyXG4gICAgICogLSBtZWRpYV90eXBlIC0gICAgIEEgdmFsaWQgbWVkaWEgdHlwZSwgd2l0aCBubyBwYXJhbWV0ZXJzLiBMb29rIGF0IFtJQU5BIE1lZGlhIFR5cGVzXShodHRwczovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9tZWRpYS10eXBlcy9tZWRpYS10eXBlcy54aHRtbCkgZm9yIGEgY29tcGxldGUgbGlzdCBvZiBzdGFuZGFyZCBtZWRpYSB0eXBlc1xyXG4gICAgICogXHJcbiAgICAgKiAjIyMjIEV4YW1wbGVcclxuICAgICAqIGBGaWxlVXBsb2FkVmFsaWRhdG9ycy5hY2NlcHQoW2ZpbGVfZXh0ZW5zaW9uLCBhdWRpby8qLCB2aWRlby8qLCBpbWFnZS8qLCBtZWRpYV90eXBlXSlgXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGFjY2VwdChhbGxvd2VkRmlsZVR5cGVzOiBBcnJheTxzdHJpbmc+KSB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBGaWxlVXBsb2FkQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgbm90QWxsb3dlZEZpbGVzID0gZmlsZXMubWFwKChmaWxlKSA9PiBjaGVja0ZpbGVUeXBlKGZpbGUsIGFsbG93ZWRGaWxlVHlwZXMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoZXJyb3IpID0+IGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBub3RBbGxvd2VkRmlsZXMubGVuZ3RoID4gMCA/XHJcbiAgICAgICAgICAgICAgICB7J2ZpbGVUeXBlcyc6IG5vdEFsbG93ZWRGaWxlc30gOiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvaGVscGVycy92YWxpZGF0b3JzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBRXJELHNDQUVDOzs7O0FBRUQsaUNBRUM7Ozs7O01BS0ssYUFBYTs7Ozs7O0FBQUcsQ0FBQyxJQUFVLEVBQUUsT0FBZSxFQUFFLFVBQWtCLENBQUMsRUFBMkIsRUFBRTtJQUNoRyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQzVFLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzNELENBQUMsQ0FBQTs7O01BRUssV0FBVzs7Ozs7QUFBRyxDQUFDLElBQVUsRUFBRSxhQUFxQixFQUFtQixFQUFFOztVQUNqRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUk7SUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixPQUFPLG1CQUFBLElBQUksRUFBbUIsQ0FBQztLQUNsQztJQUVELE9BQU8sZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQTs7O01BRUssWUFBWSxHQUFHLGFBQWE7Ozs7Ozs7O01BTzVCLGFBQWE7Ozs7O0FBQUcsQ0FBQyxJQUFVLEVBQUUsWUFBMkIsRUFBMkIsRUFBRTs7VUFDakYsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJ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S0FBSyxDQUFDLENBQUM7WUFFdEIsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QixFQUFDLFlBQVksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekUsQ0FBQyxFQUFDO0lBQ04sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWtCTSxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUErQjtRQUNoRDs7OztRQUFPLENBQUMsT0FBNEMsRUFBb0IsRUFBRTs7a0JBQ2hFLEtBQUssR0FBZ0IsT0FBTyxDQUFDLEtBQUs7WUFDeEMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUM7YUFBRTtZQUMxQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7O2tCQUVoQixlQUFlLEdBQUcsS0FBSyxDQUFDLEdBQUc7Ozs7WUFBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxFQUFDO2lCQUNyRCxNQUFNOzs7O1lBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBQztZQUVyRCxPQUFPLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUMsQ0FBQyxFQUFDO0lBQ04sQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJc051bGxPckVtcHR5IH0gZnJvbSAnLi9oZWxwZXJzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuL2NvbnRyb2wuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkVHlwZXMgfSBmcm9tICcuL2ZpbGUtdHlwZXMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0b3JGbiB7XHJcbiAgICAoYzogQWJzdHJhY3RDb250cm9sIHwgRmlsZVVwbG9hZENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIGZ1bmN0aW9uIHVzZWQgdG8gY2hlY2sgZmlsZSBzaXplXHJcbiAqL1xyXG5jb25zdCBjaGVja0ZpbGVTaXplID0gKGZpbGU6IEZpbGUsIG1heFNpemU6IG51bWJlciwgbWluU2l6ZTogbnVtYmVyID0gMCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIHJldHVybiAoIUlzTnVsbE9yRW1wdHkobWF4U2l6ZSkgJiYgZmlsZS5zaXplID4gbWF4U2l6ZSkgfHwgZmlsZS5zaXplIDwgbWluU2l6ZSA/XHJcbiAgICAgICAge21heFNpemUsIG1pblNpemUsIGFjdHVhbDogZmlsZS5zaXplLCBmaWxlfSA6IG51bGw7XHJcbn07XHJcblxyXG5jb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlLCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcpOiBGaWxlVXBsb2FkVHlwZXMgPT4ge1xyXG4gICAgY29uc3QgdHlwZSA9IGZpbGUudHlwZTtcclxuICAgIGlmICghSXNOdWxsT3JFbXB0eSh0eXBlKSkge1xyXG4gICAgICAgIHJldHVybiB0eXBlIGFzIEZpbGVVcGxvYWRUeXBlcztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gRmlsZVVwbG9hZFR5cGVzW2ZpbGVFeHRlbnNpb25dO1xyXG59O1xyXG5cclxuY29uc3QgRklMRV9FWFRfUkVHID0gLyheWy5dXFx3KikkL207XHJcbi8qKlxyXG4gKiBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGZpbGUgdHlwZVxyXG4gKlxyXG4gKiAjIyMjIGFsbG93ZWRUeXBlc1xyXG4gKiBmaWxlX2V4dGVuc2lvbnxhdWRpby8qfHZpZGVvLyp8aW1hZ2UvKnxtZWRpYV90eXBlXHJcbiAqL1xyXG5jb25zdCBjaGVja0ZpbGVUeXBlID0gKGZpbGU6IEZpbGUsIGFsbG93ZWRUeXBlczogQXJyYXk8c3RyaW5nPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgY29uc3QgZmlsZVR5cGUgPSBnZXRGaWxlVHlwZShmaWxlLCBmaWxlRXh0ZW5zaW9uKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgYWxsb3dlZFR5cGVzICkge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSBGSUxFX0VYVF9SRUcudGVzdCh0eXBlKSA/IHR5cGUgPT09IGAuJHtmaWxlRXh0ZW5zaW9ufWAgOiBuZXcgUmVnRXhwKHR5cGUpLnRlc3QoZmlsZVR5cGUpO1xyXG4gICAgICAgIGlmIChpc1ZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge2FsbG93ZWRUeXBlcywgYWN0dWFsOiBmaWxlLnR5cGUsIGZpbGV9O1xyXG59O1xyXG5cclxuY29uc3QgY2hlY2tWYWx1ZVR5cGUgPSAodmFsdWU6IGFueSApOiB2b2lkID0+IHtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICB0aHJvdyBFcnJvcihgRm9ybUNvbnRyb2wuc2V0VmFsdWUgd2FzIHByb3ZpZGVkIHdpdGggd3JvbmcgYXJndW1lbnQgdHlwZSwgJHt2YWx1ZX0gd2FzIHByb3ZpZGVkIGluc3RlYWQgQXJyYXk8RmlsZT5gKTtcclxuICAgIH1cclxufTtcclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkVmFsaWRhdG9ycyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyBjb250cm9scyB0byBoYXZlIGEgZmlsZSBtYXhpbXVtIHNpemUgbGVuZ3RoLlxyXG4gICAgICogQ29tcGFyZSB0aGUgRmlsZSBzaXplIGluIGJ5dGVzXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGZpbGVTaXplKG1heFNpemU6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IEZpbGVVcGxvYWRDb250cm9sKToge2ZpbGVTaXplOiBBcnJheTxWYWxpZGF0aW9uRXJyb3JzPn0gPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgdG9MYXJnZUZpbGVzID0gZmlsZXMubWFwKChmaWxlKSA9PiBjaGVja0ZpbGVTaXplKGZpbGUsIG1heFNpemUpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoZXJyb3IpID0+IGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0b0xhcmdlRmlsZXMubGVuZ3RoID4gMCA/XHJcbiAgICAgICAgICAgICAgICAgICAgeydmaWxlU2l6ZSc6IHRvTGFyZ2VGaWxlc30gOiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlIHRoZSBGaWxlIHNpemUgaW4gYnl0ZXMgd2l0aCBtYXggYW5kIG1pbiBzaXplIGxpbWl0c1xyXG4gICAgICogQGR5bmFtaWNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBzaXplUmFuZ2UoeyBtaW5TaXplLCBtYXhTaXplIH06IHsgbWluU2l6ZT86IG51bWJlcjsgbWF4U2l6ZT86IG51bWJlciB9KTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgRmlsZVVwbG9hZENvbnRyb2wpOiB7c2l6ZVJhbmdlOiBBcnJheTxWYWxpZGF0aW9uRXJyb3JzPn0gPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc2l6ZU1pc21hdGNoID0gZmlsZXMubWFwKChmaWxlKSA9PiBjaGVja0ZpbGVTaXplKGZpbGUsIG1heFNpemUsIG1pblNpemUpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoZXJyb3IpID0+IGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBzaXplTWlzbWF0Y2gubGVuZ3RoID4gMCA/XHJcbiAgICAgICAgICAgICAgICAgICAgeydzaXplUmFuZ2UnOiBzaXplTWlzbWF0Y2h9IDogbnVsbDtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgY29udHJvbCB0byBoYXZlIGxpbWl0IG9uIGZpbGVzIG51bWJlclxyXG4gICAgICogQGR5bmFtaWNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBmaWxlc0xpbWl0KG51bUZpbGVzOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBGaWxlVXBsb2FkQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGZpbGVzLmxlbmd0aCA+IG51bUZpbGVzID9cclxuICAgICAgICAgICAgICAgIHsnZmlsZXNMaW1pdCc6IHsnbWF4JzogbnVtRmlsZXMsICdhY3R1YWwnOiBmaWxlcy5sZW5ndGh9fSA6IG51bGw7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHZhbGlkYXRvciB0aGF0IHJlcXVpcmVzIGNvbnRyb2wgdG8gaGF2ZSBsaW1pdCBvbiBtZWRpYSB0eXBlc1xyXG4gICAgICpcclxuICAgICAqICMjIyMjIEFsbG93ZWQgbWVkaWEgdHlwZXMgYXJlXHJcbiAgICAgKlxyXG4gICAgICogLSBmaWxlX2V4dGVuc2lvbiAtIGEgZmlsZSBleHRlbnNpb24gc3RhcnRpbmcgd2l0aCB0aGUgU1RPUCBjaGFyYWN0ZXIsXHJcbiAgICAgKiBlLmc6IC5naWYsIC5qcGcsIC5wbmcsIC5kb2NcclxuICAgICAqIC0gYXVkaW8vKiAtICAgICAgICBBbGwgc291bmQgZmlsZXMgYXJlIGFjY2VwdGVkXHJcbiAgICAgKiAtIHZpZGVvLyogLSAgICAgICAgQWxsIHZpZGVvIGZpbGVzIGFyZSBhY2NlcHRlZFxyXG4gICAgICogLSBpbWFnZS8qIC0gICAgICAgIEFsbCBpbWFnZSBmaWxlcyBhcmUgYWNjZXB0ZWRcclxuICAgICAqIC0gbWVkaWFfdHlwZSAtICAgICBBIHZhbGlkIG1lZGlhIHR5cGUsIHdpdGggbm8gcGFyYW1ldGVycy4gTG9vayBhdCBbSUFOQSBNZWRpYSBUeXBlc10oaHR0cHM6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvbWVkaWEtdHlwZXMvbWVkaWEtdHlwZXMueGh0bWwpIGZvciBhIGNvbXBsZXRlIGxpc3Qgb2Ygc3RhbmRhcmQgbWVkaWEgdHlwZXNcclxuICAgICAqXHJcbiAgICAgKiAjIyMjIEV4YW1wbGVcclxuICAgICAqIGBGaWxlVXBsb2FkVmFsaWRhdG9ycy5hY2NlcHQoW2ZpbGVfZXh0ZW5zaW9uLCBhdWRpby8qLCB2aWRlby8qLCBpbWFnZS8qLCBtZWRpYV90eXBlXSlgXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGFjY2VwdChhbGxvd2VkRmlsZVR5cGVzOiBBcnJheTxzdHJpbmc+KSB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBGaWxlVXBsb2FkQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgbm90QWxsb3dlZEZpbGVzID0gZmlsZXMubWFwKChmaWxlKSA9PiBjaGVja0ZpbGVUeXBlKGZpbGUsIGFsbG93ZWRGaWxlVHlwZXMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoZXJyb3IpID0+IGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBub3RBbGxvd2VkRmlsZXMubGVuZ3RoID4gMCA/XHJcbiAgICAgICAgICAgICAgICB7J2ZpbGVUeXBlcyc6IG5vdEFsbG93ZWRGaWxlc30gOiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==

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

import { FileUploadTypes } from './../helpers/file-types.class';
import { IsNullOrEmpty } from './../helpers/helpers.class';
export class FileUploadService {

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

this.extensions = ['B', 'KB', 'MB', 'GB'];
this.sizeRegex = new RegExp(`^(\\d+)(?:\\s{0,1})(${this.extensions.join('|')})?$`, 'i');
}

@@ -26,3 +28,27 @@ /**

/**
* @param {?} value
* @return {?}
*/
parseSize(value) {
if (IsNullOrEmpty(value)) {
return 0;
}
if (typeof value === 'number') {
return value;
}
const [, size, extension] = value.match(this.sizeRegex) || [null, '0', 'B'];
/** @type {?} */
const i = IsNullOrEmpty(extension) ? 0 : this.extensions.indexOf((/** @type {?} */ (extension.toUpperCase())));
return parseInt(size, 10) * Math.pow(1024, i < 0 ? 0 : i);
}
/**
* @param {?} size
* @return {?}
*/
formatSize(size) {
return this.calculateSize(size);
}
/**
* @private
* @param {?} size
* @param {?=} extensionIndex

@@ -69,4 +95,9 @@ * @return {?}

*/
FileUploadService.prototype.sizeRegex;
/**
* @type {?}
* @private
*/
FileUploadService.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUFJMUIsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUYvQixlQUFVLEdBQW9DLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFHOUUsQ0FBQzs7OztJQUVNLHVCQUF1Qjs7Y0FDcEIsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUM5QyxPQUFPLENBQUMsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxJQUFJLFFBQVEsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7Ozs7OztJQUdNLGFBQWEsQ0FBQyxJQUFZLEVBQUUsaUJBQXlCLENBQUM7UUFDekQsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDYixJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ1o7UUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7WUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztTQUMvRTtRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs7OztJQUVNLFdBQVcsQ0FBQyxJQUFVO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJOzs7O1FBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUM7SUFDMUYsQ0FBQzs7O1lBNUJKLFVBQVU7Ozs7WUFIVSxTQUFTOzs7Ozs7O0lBTTFCLHVDQUE4RTs7Ozs7SUFFbEUscUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRUeXBlcyB9IGZyb20gJy4vLi4vaGVscGVycy9maWxlLXR5cGVzLmNsYXNzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIGV4dGVuc2lvbnM6IEFycmF5PCdCJyB8ICdLQicgfCAnTUInIHwgJ0dCJz4gPSBbJ0InLCAnS0InLCAnTUInLCAnR0InXTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZGl2ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICByZXR1cm4gKCgnZHJhZ2dhYmxlJyBpbiBkaXYpIHx8ICgnb25kcmFnc3RhcnQnIGluIGRpdiAmJiAnb25kcm9wJyBpbiBkaXYpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIGNhbGN1bGF0ZVNpemUoc2l6ZTogbnVtYmVyLCBleHRlbnNpb25JbmRleDogbnVtYmVyID0gMCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKGlzTmFOKHNpemUpKSB7XHJcbiAgICAgICAgICAgIHNpemUgPSAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNpemUgPCAxMDI0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKHNpemUgKiAxMDApIC8gMTAwfSAke3RoaXMuZXh0ZW5zaW9uc1tleHRlbnNpb25JbmRleF19YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZVNpemUoc2l6ZSAvIDEwMjQsIGV4dGVuc2lvbkluZGV4ICsgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEZpbGVUeXBlKGZpbGU6IEZpbGUpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhGaWxlVXBsb2FkVHlwZXMpLmZpbmQoKGtleSkgPT4gRmlsZVVwbG9hZFR5cGVzW2tleV0gPT09IGZpbGUudHlwZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUszRCxNQUFNLE9BQU8saUJBQWlCOzs7O0lBTTFCLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFKdEIsZUFBVSxHQUFpQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRW5ELGNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUdwRyxDQUFDOzs7O0lBRU0sdUJBQXVCOztjQUNwQixHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQzs7Ozs7SUFFTSxTQUFTLENBQUMsS0FBc0I7UUFDbkMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzNCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2NBRUssQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDOztjQUNyRSxDQUFDLEdBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFBLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBUyxDQUFDO1FBRW5HLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7Ozs7O0lBRU0sVUFBVSxDQUFDLElBQVk7UUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7Ozs7SUFFTyxhQUFhLENBQUMsSUFBWSxFQUFFLGlCQUF5QixDQUFDO1FBQzFELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2IsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNaO1FBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7U0FDL0U7UUFFRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Ozs7SUFFTSxXQUFXLENBQUMsSUFBVTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSTs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDO0lBQzFGLENBQUM7OztZQWhESixVQUFVOzs7O1lBTlUsU0FBUzs7Ozs7OztJQVMxQix1Q0FBb0U7Ozs7O0lBRXBFLHNDQUFvRzs7Ozs7SUFFeEYscUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRUeXBlcyB9IGZyb20gJy4vLi4vaGVscGVycy9maWxlLXR5cGVzLmNsYXNzJztcclxuaW1wb3J0IHsgSXNOdWxsT3JFbXB0eSB9IGZyb20gJy4vLi4vaGVscGVycy9oZWxwZXJzLmNsYXNzJztcclxuXHJcbmV4cG9ydCB0eXBlIElTaXplID0gJ0InIHwgJ0tCJyB8ICdNQicgfCAnR0InO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZFNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXh0ZW5zaW9uczogQXJyYXk8SVNpemU+ID0gWydCJywgJ0tCJywgJ01CJywgJ0dCJ107XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaXplUmVnZXggPSBuZXcgUmVnRXhwKGBeKFxcXFxkKykoPzpcXFxcc3swLDF9KSgke3RoaXMuZXh0ZW5zaW9ucy5qb2luKCd8Jyl9KT8kYCwgJ2knKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZGl2ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICByZXR1cm4gKCgnZHJhZ2dhYmxlJyBpbiBkaXYpIHx8ICgnb25kcmFnc3RhcnQnIGluIGRpdiAmJiAnb25kcm9wJyBpbiBkaXYpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcGFyc2VTaXplKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIGlmIChJc051bGxPckVtcHR5KHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IFssIHNpemUsIGV4dGVuc2lvbl0gPSB2YWx1ZS5tYXRjaCh0aGlzLnNpemVSZWdleCkgfHwgW251bGwsICcwJywgJ0InXTtcclxuICAgICAgICBjb25zdCBpID0gIElzTnVsbE9yRW1wdHkoZXh0ZW5zaW9uKSA/IDAgOiB0aGlzLmV4dGVuc2lvbnMuaW5kZXhPZihleHRlbnNpb24udG9VcHBlckNhc2UoKSBhcyBJU2l6ZSk7XHJcblxyXG4gICAgICAgIHJldHVybiBwYXJzZUludChzaXplLCAxMCkgKiBNYXRoLnBvdygxMDI0LCBpIDwgMCA/IDAgOiBpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZm9ybWF0U2l6ZShzaXplOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZVNpemUoc2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVTaXplKHNpemU6IG51bWJlciwgZXh0ZW5zaW9uSW5kZXg6IG51bWJlciA9IDApOiBzdHJpbmcge1xyXG4gICAgICAgIGlmIChpc05hTihzaXplKSkge1xyXG4gICAgICAgICAgICBzaXplID0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzaXplIDwgMTAyNCkge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChzaXplICogMTAwKSAvIDEwMH0gJHt0aGlzLmV4dGVuc2lvbnNbZXh0ZW5zaW9uSW5kZXhdfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVTaXplKHNpemUgLyAxMDI0LCBleHRlbnNpb25JbmRleCArIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRGaWxlVHlwZShmaWxlOiBGaWxlKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRmlsZVVwbG9hZFR5cGVzKS5maW5kKChrZXkpID0+IEZpbGVVcGxvYWRUeXBlc1trZXldID09PSBmaWxlLnR5cGUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==

@@ -9,2 +9,2 @@ /**

export { FileUploadComponent, FileUploadAttributeComponent, SimpleFileUploadComponent, FileSizeValidator, FilesLimitValidator, FilesAcceptValidator, FilesAcceptDirective, FileUploadControl, FileUploadValidators, FileUploadTypes, FileUploadModule } from './lib/file-upload.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw2UEFBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZmlsZS11cGxvYWRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLXVwbG9hZC5tb2R1bGUnO1xyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw2UEFBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWZpbGUtdXBsb2FkXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS11cGxvYWQubW9kdWxlJztcbiJdfQ==

@@ -32,3 +32,3 @@ /**

function (size) {
return this.fileUploadService.calculateSize(size);
return this.fileUploadService.formatSize(size);
};

@@ -67,2 +67,2 @@ FileUploadListItemComponent.decorators = [

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV0RTtJQXFDSSxxQ0FBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDeEQsQ0FBQzs7Ozs7SUFFTSxnREFBVTs7OztJQUFqQixVQUFrQixJQUFVO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7O0lBRU0sbURBQWE7Ozs7SUFBcEIsVUFBcUIsSUFBWTtRQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7Z0JBOUNKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsaW5EQXFCVDs7aUJBRUo7Ozs7Z0JBM0JRLGlCQUFpQjs7O3dCQThCckIsS0FBSzt1QkFHTCxLQUFLOzBCQUdMLEtBQUs7O0lBYVYsa0NBQUM7Q0FBQSxBQS9DRCxJQStDQztTQXJCWSwyQkFBMkI7OztJQUVwQyw0Q0FDcUI7O0lBRXJCLDJDQUNrQjs7SUFFbEIsOENBQ2tDOzs7OztJQUV0Qix3REFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb250cm9sIH0gZnJvbSAnLi8uLi9oZWxwZXJzL2NvbnRyb2wuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBgZmlsZS11cGxvYWQtbGlzdC1pdGVtYCxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8ZmlsZS11cGxvYWQtaWNvbiBbZmlsZV09XCJmaWxlXCI+PC9maWxlLXVwbG9hZC1pY29uPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtaW5mb1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9zcGFuPiAoe3sgY2FsY3VsYXRlU2l6ZSggZmlsZS5zaXplICkgfX0pXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWJ1dHRvbnNcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlbW92ZS1idG5cIiAoY2xpY2spPVwicmVtb3ZlRmlsZShmaWxlKVwiPlxyXG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCA5NiA5NlwiPlxyXG4gICAgICAgICAgICA8Zz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNDAuNSw2Ni44VjM5LjNjMC0wLjQtMC4xLTAuNy0wLjQtMC45UzM5LjYsMzgsMzkuMywzOGgtMi41Yy0wLjQsMC0wLjcsMC4xLTAuOSwwLjRcclxuICAgICAgICAgICAgICAgICAgICBzLTAuNCwwLjUtMC40LDAuOXYyNy41YzAsMC40LDAuMSwwLjcsMC40LDAuOXMwLjUsMC40LDAuOSwwLjRoMi41YzAuNCwwLDAuNy0wLjEsMC45LTAuNFM0MC41LDY3LjEsNDAuNSw2Ni44eiBNNTAuNSw2Ni44VjM5LjNcclxuICAgICAgICAgICAgICAgICAgICBjMC0wLjQtMC4xLTAuNy0wLjQtMC45UzQ5LjYsMzgsNDkuMywzOGgtMi41Yy0wLjQsMC0wLjcsMC4xLTAuOSwwLjRzLTAuNCwwLjUtMC40LDAuOXYyNy41YzAsMC40LDAuMSwwLjcsMC40LDAuOXMwLjUsMC40LDAuOSwwLjRcclxuICAgICAgICAgICAgICAgICAgICBoMi41YzAuNCwwLDAuNy0wLjEsMC45LTAuNFM1MC41LDY3LjEsNTAuNSw2Ni44eiBNNjAuNSw2Ni44VjM5LjNjMC0wLjQtMC4xLTAuNy0wLjQtMC45UzU5LjYsMzgsNTkuMywzOGgtMi41XHJcbiAgICAgICAgICAgICAgICAgICAgYy0wLjQsMC0wLjcsMC4xLTAuOSwwLjRzLTAuNCwwLjUtMC40LDAuOXYyNy41YzAsMC40LDAuMSwwLjcsMC40LDAuOXMwLjUsMC40LDAuOSwwLjRoMi41YzAuNCwwLDAuNy0wLjEsMC45LTAuNFxyXG4gICAgICAgICAgICAgICAgICAgIFM2MC41LDY3LjEsNjAuNSw2Ni44eiBNMzkuMywyOGgxNy41bC0xLjktNC42Yy0wLjItMC4yLTAuNC0wLjQtMC43LTAuNEg0MS44Yy0wLjMsMC4xLTAuNSwwLjItMC43LDAuNEwzOS4zLDI4eiBNNzUuNSwyOS4zdjIuNVxyXG4gICAgICAgICAgICAgICAgICAgIGMwLDAuNC0wLjEsMC43LTAuNCwwLjlTNzQuNiwzMyw3NC4zLDMzaC0zLjh2MzdjMCwyLjItMC42LDQtMS44LDUuNlM2Niw3OCw2NC4zLDc4SDMxLjhjLTEuNywwLTMuMi0wLjgtNC40LTIuM3MtMS44LTMuNC0xLjgtNS41XHJcbiAgICAgICAgICAgICAgICAgICAgVjMzaC0zLjhjLTAuNCwwLTAuNy0wLjEtMC45LTAuNHMtMC40LTAuNS0wLjQtMC45di0yLjVjMC0wLjQsMC4xLTAuNywwLjQtMC45czAuNS0wLjQsMC45LTAuNGgxMi4xbDIuNy02LjVjMC40LTEsMS4xLTEuOCwyLjEtMi41XHJcbiAgICAgICAgICAgICAgICAgICAgczItMSwzLjEtMWgxMi41YzEsMCwyLjEsMC4zLDMuMSwxczEuNywxLjUsMi4xLDIuNWwyLjcsNi41aDEyLjFjMC40LDAsMC43LDAuMSwwLjksMC40Uzc1LjUsMjguOSw3NS41LDI5LjN6XCIvPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgPC9zdmc+IFJlbW92ZTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0eWxlVXJsczogW2AuL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQuc2Nzc2BdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTGlzdEl0ZW1Db21wb25lbnQge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGU6IEZpbGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjb250cm9sOiBGaWxlVXBsb2FkQ29udHJvbDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVGaWxlKGZpbGU6IEZpbGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVtb3ZlRmlsZShmaWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FsY3VsYXRlU2l6ZShzaXplOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuY2FsY3VsYXRlU2l6ZShzaXplKTtcclxuICAgIH1cclxufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV0RTtJQXFDSSxxQ0FBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDeEQsQ0FBQzs7Ozs7SUFFTSxnREFBVTs7OztJQUFqQixVQUFrQixJQUFVO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7O0lBRU0sbURBQWE7Ozs7SUFBcEIsVUFBcUIsSUFBWTtRQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7Z0JBOUNKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsaW5EQXFCVDs7aUJBRUo7Ozs7Z0JBM0JRLGlCQUFpQjs7O3dCQThCckIsS0FBSzt1QkFHTCxLQUFLOzBCQUdMLEtBQUs7O0lBYVYsa0NBQUM7Q0FBQSxBQS9DRCxJQStDQztTQXJCWSwyQkFBMkI7OztJQUVwQyw0Q0FDcUI7O0lBRXJCLDJDQUNrQjs7SUFFbEIsOENBQ2tDOzs7OztJQUV0Qix3REFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb250cm9sIH0gZnJvbSAnLi8uLi9oZWxwZXJzL2NvbnRyb2wuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBgZmlsZS11cGxvYWQtbGlzdC1pdGVtYCxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8ZmlsZS11cGxvYWQtaWNvbiBbZmlsZV09XCJmaWxlXCI+PC9maWxlLXVwbG9hZC1pY29uPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtaW5mb1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9zcGFuPiAoe3sgY2FsY3VsYXRlU2l6ZSggZmlsZS5zaXplICkgfX0pXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWJ1dHRvbnNcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlbW92ZS1idG5cIiAoY2xpY2spPVwicmVtb3ZlRmlsZShmaWxlKVwiPlxyXG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCA5NiA5NlwiPlxyXG4gICAgICAgICAgICA8Zz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNDAuNSw2Ni44VjM5LjNjMC0wLjQtMC4xLTAuNy0wLjQtMC45UzM5LjYsMzgsMzkuMywzOGgtMi41Yy0wLjQsMC0wLjcsMC4xLTAuOSwwLjRcclxuICAgICAgICAgICAgICAgICAgICBzLTAuNCwwLjUtMC40LDAuOXYyNy41YzAsMC40LDAuMSwwLjcsMC40LDAuOXMwLjUsMC40LDAuOSwwLjRoMi41YzAuNCwwLDAuNy0wLjEsMC45LTAuNFM0MC41LDY3LjEsNDAuNSw2Ni44eiBNNTAuNSw2Ni44VjM5LjNcclxuICAgICAgICAgICAgICAgICAgICBjMC0wLjQtMC4xLTAuNy0wLjQtMC45UzQ5LjYsMzgsNDkuMywzOGgtMi41Yy0wLjQsMC0wLjcsMC4xLTAuOSwwLjRzLTAuNCwwLjUtMC40LDAuOXYyNy41YzAsMC40LDAuMSwwLjcsMC40LDAuOXMwLjUsMC40LDAuOSwwLjRcclxuICAgICAgICAgICAgICAgICAgICBoMi41YzAuNCwwLDAuNy0wLjEsMC45LTAuNFM1MC41LDY3LjEsNTAuNSw2Ni44eiBNNjAuNSw2Ni44VjM5LjNjMC0wLjQtMC4xLTAuNy0wLjQtMC45UzU5LjYsMzgsNTkuMywzOGgtMi41XHJcbiAgICAgICAgICAgICAgICAgICAgYy0wLjQsMC0wLjcsMC4xLTAuOSwwLjRzLTAuNCwwLjUtMC40LDAuOXYyNy41YzAsMC40LDAuMSwwLjcsMC40LDAuOXMwLjUsMC40LDAuOSwwLjRoMi41YzAuNCwwLDAuNy0wLjEsMC45LTAuNFxyXG4gICAgICAgICAgICAgICAgICAgIFM2MC41LDY3LjEsNjAuNSw2Ni44eiBNMzkuMywyOGgxNy41bC0xLjktNC42Yy0wLjItMC4yLTAuNC0wLjQtMC43LTAuNEg0MS44Yy0wLjMsMC4xLTAuNSwwLjItMC43LDAuNEwzOS4zLDI4eiBNNzUuNSwyOS4zdjIuNVxyXG4gICAgICAgICAgICAgICAgICAgIGMwLDAuNC0wLjEsMC43LTAuNCwwLjlTNzQuNiwzMyw3NC4zLDMzaC0zLjh2MzdjMCwyLjItMC42LDQtMS44LDUuNlM2Niw3OCw2NC4zLDc4SDMxLjhjLTEuNywwLTMuMi0wLjgtNC40LTIuM3MtMS44LTMuNC0xLjgtNS41XHJcbiAgICAgICAgICAgICAgICAgICAgVjMzaC0zLjhjLTAuNCwwLTAuNy0wLjEtMC45LTAuNHMtMC40LTAuNS0wLjQtMC45di0yLjVjMC0wLjQsMC4xLTAuNywwLjQtMC45czAuNS0wLjQsMC45LTAuNGgxMi4xbDIuNy02LjVjMC40LTEsMS4xLTEuOCwyLjEtMi41XHJcbiAgICAgICAgICAgICAgICAgICAgczItMSwzLjEtMWgxMi41YzEsMCwyLjEsMC4zLDMuMSwxczEuNywxLjUsMi4xLDIuNWwyLjcsNi41aDEyLjFjMC40LDAsMC43LDAuMSwwLjksMC40Uzc1LjUsMjguOSw3NS41LDI5LjN6XCIvPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgPC9zdmc+IFJlbW92ZTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0eWxlVXJsczogW2AuL2ZpbGUtdXBsb2FkLWxpc3QtaXRlbS5jb21wb25lbnQuc2Nzc2BdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTGlzdEl0ZW1Db21wb25lbnQge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGU6IEZpbGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjb250cm9sOiBGaWxlVXBsb2FkQ29udHJvbDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVGaWxlKGZpbGU6IEZpbGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVtb3ZlRmlsZShmaWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FsY3VsYXRlU2l6ZShzaXplOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuZm9ybWF0U2l6ZShzaXplKTtcclxuICAgIH1cclxufSJdfQ==

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

function FilesAcceptDirective(fileUpload, simpleFileUpload) {
this.fileUpload = null;
this.fileUpload = fileUpload || simpleFileUpload;

@@ -76,2 +77,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hdHRyaWJ1dGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUIsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBSXZGO0lBV0ksOEJBQXdDLFVBQStCLEVBQzNDLGdCQUEyQztRQUNuRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQztJQUNyRCxDQUFDOzs7O0lBRU0sOENBQWU7OztJQUF0QjtRQUNJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7O0lBRU0sMENBQVc7Ozs7SUFBbEIsVUFBbUIsT0FBc0I7UUFDckMsSUFBSSxRQUFRLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRTtZQUMzRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7Ozs7OztJQUVPLHdDQUFTOzs7OztJQUFqQixVQUFrQixNQUFjO1FBQzVCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRTtZQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDOztnQkE5QkosU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLElBQUksRUFBRSxFQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBQztpQkFDcEQ7Ozs7Z0JBUlEsbUJBQW1CLHVCQWdCWCxRQUFRLFlBQUksSUFBSSxZQUFJLElBQUk7Z0JBZmhDLHlCQUF5Qix1QkFnQjdCLFFBQVEsWUFBSSxJQUFJLFlBQUksSUFBSTs7O3lCQU54QixLQUFLOztJQXlCViwyQkFBQztDQUFBLEFBL0JELElBK0JDO1NBM0JZLG9CQUFvQjs7O0lBRTdCLHNDQUNzQjs7Ozs7SUFFdEIsMENBQTZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT3B0aW9uYWwsIEhvc3QsIFNlbGYsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9zaW1wbGUtZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ2ZpbGUtdXBsb2FkW2FjY2VwdF0nLFxyXG4gICAgaG9zdDogeydbYXR0ci5hY2NlcHRdJzogJ2FjY2VwdCA/IGFjY2VwdCA6IG51bGwnfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZXNBY2NlcHREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWNjZXB0OiBzdHJpbmc7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlVXBsb2FkOiBGaWxlVXBsb2FkQ29tcG9uZW50IHwgU2ltcGxlRmlsZVVwbG9hZENvbXBvbmVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASG9zdCgpIEBTZWxmKCkgZmlsZVVwbG9hZDogRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNlbGYoKSBzaW1wbGVGaWxlVXBsb2FkOiBTaW1wbGVGaWxlVXBsb2FkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkID0gZmlsZVVwbG9hZCB8fCBzaW1wbGVGaWxlVXBsb2FkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZXRBY2NlcHQodGhpcy5hY2NlcHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCdhY2NlcHQnIGluIGNoYW5nZXMgJiYgY2hhbmdlc1snYWNjZXB0J10uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzWydhY2NlcHQnXS5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0QWNjZXB0KHRoaXMuYWNjZXB0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRBY2NlcHQoYWNjZXB0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5maWxlVXBsb2FkICYmIHRoaXMuZmlsZVVwbG9hZC5jb250cm9sKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZC5jb250cm9sLmFjY2VwdEZpbGVzKGFjY2VwdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hdHRyaWJ1dGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUIsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBSXZGO0lBV0ksOEJBQ2dDLFVBQStCLEVBQy9CLGdCQUEyQztRQUoxRCxlQUFVLEdBQW9ELElBQUksQ0FBQztRQUtoRixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQztJQUNyRCxDQUFDOzs7O0lBRU0sOENBQWU7OztJQUF0QjtRQUNJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7O0lBRU0sMENBQVc7Ozs7SUFBbEIsVUFBbUIsT0FBc0I7UUFDckMsSUFBSSxRQUFRLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRTtZQUMzRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7Ozs7OztJQUVPLHdDQUFTOzs7OztJQUFqQixVQUFrQixNQUFjO1FBQzVCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRTtZQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDOztnQkEvQkosU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLElBQUksRUFBRSxFQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBQztpQkFDcEQ7Ozs7Z0JBUlEsbUJBQW1CLHVCQWlCbkIsUUFBUSxZQUFJLElBQUksWUFBSSxJQUFJO2dCQWhCeEIseUJBQXlCLHVCQWlCekIsUUFBUSxZQUFJLElBQUksWUFBSSxJQUFJOzs7eUJBUDVCLEtBQUs7O0lBMEJWLDJCQUFDO0NBQUEsQUFoQ0QsSUFnQ0M7U0E1Qlksb0JBQW9COzs7SUFFN0Isc0NBQ3NCOzs7OztJQUV0QiwwQ0FBb0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBPcHRpb25hbCwgSG9zdCwgU2VsZiwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpbXBsZUZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3NpbXBsZS1maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnZmlsZS11cGxvYWRbYWNjZXB0XScsXHJcbiAgICBob3N0OiB7J1thdHRyLmFjY2VwdF0nOiAnYWNjZXB0ID8gYWNjZXB0IDogbnVsbCd9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlc0FjY2VwdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhY2NlcHQ6IHN0cmluZztcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGVVcGxvYWQ6IEZpbGVVcGxvYWRDb21wb25lbnQgfCBTaW1wbGVGaWxlVXBsb2FkQ29tcG9uZW50ID0gbnVsbDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIEBTZWxmKCkgZmlsZVVwbG9hZDogRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIEBTZWxmKCkgc2ltcGxlRmlsZVVwbG9hZDogU2ltcGxlRmlsZVVwbG9hZENvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZCA9IGZpbGVVcGxvYWQgfHwgc2ltcGxlRmlsZVVwbG9hZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0QWNjZXB0KHRoaXMuYWNjZXB0KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICgnYWNjZXB0JyBpbiBjaGFuZ2VzICYmIGNoYW5nZXNbJ2FjY2VwdCddLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc1snYWNjZXB0J10ucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldEFjY2VwdCh0aGlzLmFjY2VwdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0QWNjZXB0KGFjY2VwdDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsZVVwbG9hZCAmJiB0aGlzLmZpbGVVcGxvYWQuY29udHJvbCkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWQuY29udHJvbC5hY2NlcHRGaWxlcyhhY2NlcHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=

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

import { IsNullOrEmpty } from './../helpers/helpers.class';
import { FileUploadService } from './../services/file-upload.service';
/**
* A Directive that adds the `filesize` validator to controls marked with the
* `filesize` attribute.
* `filesize` attribute. The size of the file is in bytes or any other unit
*

@@ -20,2 +21,5 @@ * ### Example

* <file-upload name="files" ngModel minSize="0" max="6200"></file-upload>
* <file-upload name="files" ngModel filesize="123MB"></file-upload>
* <file-upload name="files" ngModel [filesize]="12 mb"></file-upload>
* <file-upload name="files" ngModel minSize="0" max="324KB"></file-upload>
* ```

@@ -25,3 +29,4 @@ *

var FileSizeValidator = /** @class */ (function () {
function FileSizeValidator() {
function FileSizeValidator(fileUploadService) {
this.fileUploadService = fileUploadService;
}

@@ -80,9 +85,9 @@ /**

if (!IsNullOrEmpty(this.maxsize)) {
maxSize = typeof this.maxsize === 'string' ? parseInt(this.maxsize, 10) : this.maxsize;
maxSize = this.fileUploadService.parseSize(this.maxsize);
}
else if (!IsNullOrEmpty(this.filesize)) {
maxSize = typeof this.filesize === 'string' ? parseInt(this.filesize, 10) : this.filesize;
maxSize = this.fileUploadService.parseSize(this.filesize);
}
/** @type {?} */
var minSize = typeof this.minsize === 'string' ? parseInt(this.minsize, 10) : this.minsize;
var minSize = this.fileUploadService.parseSize(this.minsize);
this.validator = FileUploadValidators.sizeRange({ maxSize: maxSize, minSize: minSize });

@@ -108,2 +113,6 @@ };

];
/** @nocollapse */
FileSizeValidator.ctorParameters = function () { return [
{ type: FileUploadService }
]; };
FileSizeValidator.propDecorators = {

@@ -134,2 +143,7 @@ filesize: [{ type: Input }],

FileSizeValidator.prototype.onChange;
/**
* @type {?}
* @private
*/
FileSizeValidator.prototype.fileUploadService;
}

@@ -334,2 +348,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBK0QsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLGFBQWEsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQWlDLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQWlCM0Q7SUFBQTtJQTZEQSxDQUFDOzs7OztJQS9CVSx1Q0FBVzs7OztJQUFsQixVQUFtQixPQUFzQjtRQUNyQyxJQUFJLFVBQVUsSUFBSSxPQUFPO2VBQ2xCLFNBQVMsSUFBSSxPQUFPO2VBQ3BCLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNuQjtTQUNGO0lBQ0wsQ0FBQzs7Ozs7SUFFTSxvQ0FBUTs7OztJQUFmLFVBQWdCLENBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDOzs7OztJQUVNLHFEQUF5Qjs7OztJQUFoQyxVQUFpQyxFQUFjO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRU8sNENBQWdCOzs7O0lBQXhCOztZQUNRLE9BQU8sR0FBRyxJQUFJO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lB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RSxVQUFVOzs7NEJBQUMsY0FBTSxPQUFBLG9CQUFvQixFQUFwQixDQUFvQixFQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDZCxDQUFDO29CQUNGLElBQUksRUFBRSxFQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBQztpQkFDcEQ7Ozt5QkFHSSxLQUFLOztJQTJCViwyQkFBQztDQUFBLEFBdENELElBc0NDO1NBN0JZLG9CQUFvQjs7O0lBRTdCLHNDQUNzQjs7Ozs7SUFFdEIseUNBQStCOzs7OztJQUUvQix3Q0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEhvc3QsIFNlbGYsIE9wdGlvbmFsLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIEZpbGVVcGxvYWRWYWxpZGF0b3JzIH0gZnJvbSAnLi8uLi9oZWxwZXJzL3ZhbGlkYXRvcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBJc051bGxPckVtcHR5IH0gZnJvbSAnLi8uLi9oZWxwZXJzL2hlbHBlcnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEEgRGlyZWN0aXZlIHRoYXQgYWRkcyB0aGUgYGZpbGVzaXplYCB2YWxpZGF0b3IgdG8gY29udHJvbHMgbWFya2VkIHdpdGggdGhlXHJcbiAqIGBmaWxlc2l6ZWAgYXR0cmlidXRlLlxyXG4gKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBgYGBcclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgZmlsZXNpemU9XCI4MzAwMDBcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBbZmlsZXNpemVdPVwiODMwMDAwXCI+PC9maWxlLXVwbG9hZD5cclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgbWluU2l6ZT1cIjBcIiBtYXg9XCI2MjAwXCI+PC9maWxlLXVwbG9hZD5cclxuICogYGBgXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBgW2ZpbGVzaXplXVtmb3JtQ29udHJvbE5hbWVdLFtmaWxlc2l6ZV1bZm9ybUNvbnRyb2xdLFtmaWxlc2l6ZV1bbmdNb2RlbF0sXHJcbiAgICBbbWluc2l6ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWluc2l6ZV1bZm9ybUNvbnRyb2xdLFttaW5zaXplXVtuZ01vZGVsXSxcclxuICAgIFttYXhzaXplXVtmb3JtQ29udHJvbE5hbWVdLFttYXhzaXplXVtmb3JtQ29udHJvbF0sW21heHNpemVdW25nTW9kZWxdYCxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbGVTaXplVmFsaWRhdG9yKSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV0sXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ1thdHRyLmZpbGVzaXplXSc6ICdmaWxlc2l6ZSA/IGZpbGVzaXplIDogbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLm1pbnNpemVdJzogJ21pbnNpemUgPyBtaW5zaXplIDogbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLm1heHNpemVdJzogJ21heHNpemUgPyBtYXhzaXplIDogbnVsbCdcclxuICAgIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVTaXplVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZXNpemU6IHN0cmluZ3xudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtaW5zaXplOiBzdHJpbmd8bnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbWF4c2l6ZTogc3RyaW5nfG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRvcjogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICgnZmlsZXNpemUnIGluIGNoYW5nZXMgXHJcbiAgICAgICAgICAgIHx8ICdtYXhzaXplJyBpbiBjaGFuZ2VzIFxyXG4gICAgICAgICAgICB8fCAnbWluc2l6ZScgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgdGhpcy5fY3JlYXRlVmFsaWRhdG9yKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnN8bnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdG9yKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuOyBcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IG1heFNpemUgPSBudWxsO1xyXG4gICAgICAgIGlmICghSXNOdWxsT3JFbXB0eSh0aGlzLm1heHNpemUpKSB7XHJcbiAgICAgICAgICAgIG1heFNpemUgPSB0eXBlb2YgdGhpcy5tYXhzaXplID09PSAnc3RyaW5nJyA/IHBhcnNlSW50KHRoaXMubWF4c2l6ZSwgMTApIDogdGhpcy5tYXhzaXplO1xyXG4gICAgICAgIH0gZWxzZSBpZighSXNOdWxsT3JFbXB0eSh0aGlzLmZpbGVzaXplKSkge1xyXG4gICAgICAgICAgICBtYXhTaXplID0gdHlwZW9mIHRoaXMuZmlsZXNpemUgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQodGhpcy5maWxlc2l6ZSwgMTApIDogdGhpcy5maWxlc2l6ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG1pblNpemUgPSB0eXBlb2YgdGhpcy5taW5zaXplID09PSAnc3RyaW5nJyA/IHBhcnNlSW50KHRoaXMubWluc2l6ZSwgMTApIDogdGhpcy5taW5zaXplO1xyXG5cclxuICAgICAgICB0aGlzLnZhbGlkYXRvciA9IEZpbGVVcGxvYWRWYWxpZGF0b3JzLnNpemVSYW5nZSh7IG1heFNpemUsIG1pblNpemUgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQSBEaXJlY3RpdmUgdGhhdCBhZGRzIHRoZSBgZmlsZXNsaW1pdGAgdmFsaWRhdG9yIHRvIGNvbnRyb2xzIG1hcmtlZCB3aXRoIHRoZVxyXG4gKiBgZmlsZXNsaW1pdGAgYXR0cmlidXRlLlxyXG4gKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBgYGBcclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgZmlsZXNsaW1pdD1cIjJcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBbZmlsZXNsaW1pdF09XCIyXCI+PC9maWxlLXVwbG9hZD5cclxuICogYGBgXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2ZpbGVzbGltaXRdW2Zvcm1Db250cm9sTmFtZV0sW2ZpbGVzbGltaXRdW2Zvcm1Db250cm9sXSxbZmlsZXNsaW1pdF1bbmdNb2RlbF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZXNMaW1pdFZhbGlkYXRvciksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dLFxyXG4gICAgaG9zdDogeydbYXR0ci5maWxlc2xpbWl0XSc6ICdmaWxlc2xpbWl0ID8gZmlsZXNsaW1pdCA6IG51bGwnfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZXNMaW1pdFZhbGlkYXRvciBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25DaGFuZ2VzIHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGVzbGltaXQ6IHN0cmluZ3xudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0b3I6IFZhbGlkYXRvckZuO1xyXG5cclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoJ2ZpbGVzbGltaXQnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgIHRoaXMuX2NyZWF0ZVZhbGlkYXRvcigpO1xyXG4gICAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9yc3xudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWxlc2xpbWl0ICE9IG51bGwgPyB0aGlzLnZhbGlkYXRvcihjKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47IFxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZVZhbGlkYXRvcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRvciA9IEZpbGVVcGxvYWRWYWxpZGF0b3JzLmZpbGVzTGltaXQodHlwZW9mIHRoaXMuZmlsZXNsaW1pdCA9PT0gJ3N0cmluZycgPyBwYXJzZUludCh0aGlzLmZpbGVzbGltaXQsIDEwKSA6IHRoaXMuZmlsZXNsaW1pdCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIERpcmVjdGl2ZSB0aGF0IGFkZHMgdGhlIGBhY2NlcHRgIHZhbGlkYXRvciB0byBjb250cm9scyBtYXJrZWQgd2l0aCB0aGVcclxuICogYGFjY2VwdGAgYXR0cmlidXRlLlxyXG4gKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBgYGBcclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgYWNjZXB0PVwiZmlsZV9leHRlbnNpb258YXVkaW8vKnx2aWRlby8qfGltYWdlLyp8bWVkaWFfdHlwZVwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIFthY2NlcHRdPVwiZmlsZV9leHRlbnNpb258YXVkaW8vKnx2aWRlby8qfGltYWdlLyp8bWVkaWFfdHlwZVwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIGBgYFxyXG4gKiBcclxuICogVG8gc3BlY2lmeSBtb3JlIHRoYW4gb25lIHZhbHVlLCBzZXBhcmF0ZSB0aGUgdmFsdWVzIHdpdGggYSBjb21tYSAoZS5nLiA8ZmlsZS11cGxvYWQgYWNjZXB0PVwiYXVkaW8vKix2aWRlby8qLGltYWdlLypcIj48L2ZpbGUtdXBsb2FkPi5cclxuICpcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbYWNjZXB0XVtmb3JtQ29udHJvbE5hbWVdLFthY2NlcHRdW2Zvcm1Db250cm9sXSxbYWNjZXB0XVtuZ01vZGVsXScsXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlc0FjY2VwdFZhbGlkYXRvciksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dLFxyXG4gICAgaG9zdDogeydbYXR0ci5hY2NlcHRdJzogJ2FjY2VwdCA/IGFjY2VwdCA6IG51bGwnfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZXNBY2NlcHRWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhY2NlcHQ6IHN0cmluZztcclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRvcjogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICgnYWNjZXB0JyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGVWYWxpZGF0b3IoKTtcclxuICAgICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9yc3xudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NlcHQgIT0gbnVsbCA/IHRoaXMudmFsaWRhdG9yKGMpIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jcmVhdGVWYWxpZGF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0b3IgPSBGaWxlVXBsb2FkVmFsaWRhdG9ycy5hY2NlcHQodGhpcy5hY2NlcHQuc3BsaXQoJywnKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaXBsYWIvbmd4LWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBK0QsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLGFBQWEsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQWlDLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQW1CdEU7SUE0QkksMkJBQTZCLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUUsQ0FBQzs7Ozs7SUFJN0QsdUNBQVc7Ozs7SUFBbEIsVUFBbUIsT0FBc0I7UUFDckMsSUFBSSxVQUFVLElBQUksT0FBTztlQUNsQixTQUFTLElBQUksT0FBTztlQUNwQixTQUFTLElBQUksT0FBTyxFQUFFO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDZixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDbkI7U0FDRjtJQUNMLENBQUM7Ozs7O0lBRU0sb0NBQVE7Ozs7SUFBZixVQUFnQixDQUFrQjtRQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7Ozs7SUFFTSxxREFBeUI7Ozs7SUFBaEMsVUFBaUMsRUFBYztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7OztJ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SyxFQUFFLElBQUk7eUJBQ2QsQ0FBQztvQkFDRixJQUFJLEVBQUUsRUFBQyxlQUFlLEVBQUUsd0JBQXdCLEVBQUM7aUJBQ3BEOzs7eUJBR0ksS0FBSzs7SUEyQlYsMkJBQUM7Q0FBQSxBQXRDRCxJQXNDQztTQTdCWSxvQkFBb0I7OztJQUU3QixzQ0FDc0I7Ozs7O0lBRXRCLHlDQUErQjs7Ozs7SUFFL0Isd0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBIb3N0LCBTZWxmLCBPcHRpb25hbCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBGaWxlVXBsb2FkVmFsaWRhdG9ycyB9IGZyb20gJy4vLi4vaGVscGVycy92YWxpZGF0b3JzLmNsYXNzJztcclxuaW1wb3J0IHsgSXNOdWxsT3JFbXB0eSB9IGZyb20gJy4vLi4vaGVscGVycy9oZWxwZXJzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBBIERpcmVjdGl2ZSB0aGF0IGFkZHMgdGhlIGBmaWxlc2l6ZWAgdmFsaWRhdG9yIHRvIGNvbnRyb2xzIG1hcmtlZCB3aXRoIHRoZVxyXG4gKiBgZmlsZXNpemVgIGF0dHJpYnV0ZS4gVGhlIHNpemUgb2YgdGhlIGZpbGUgaXMgaW4gYnl0ZXMgb3IgYW55IG90aGVyIHVuaXRcclxuICpcclxuICogIyMjIEV4YW1wbGVcclxuICpcclxuICogYGBgXHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIGZpbGVzaXplPVwiODMwMDAwXCI+PC9maWxlLXVwbG9hZD5cclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgW2ZpbGVzaXplXT1cIjgzMDAwMFwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIG1pblNpemU9XCIwXCIgbWF4PVwiNjIwMFwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIGZpbGVzaXplPVwiMTIzTUJcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBbZmlsZXNpemVdPVwiMTIgbWJcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBtaW5TaXplPVwiMFwiIG1heD1cIjMyNEtCXCI+PC9maWxlLXVwbG9hZD5cclxuICogYGBgXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBgW2ZpbGVzaXplXVtmb3JtQ29udHJvbE5hbWVdLFtmaWxlc2l6ZV1bZm9ybUNvbnRyb2xdLFtmaWxlc2l6ZV1bbmdNb2RlbF0sXHJcbiAgICBbbWluc2l6ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWluc2l6ZV1bZm9ybUNvbnRyb2xdLFttaW5zaXplXVtuZ01vZGVsXSxcclxuICAgIFttYXhzaXplXVtmb3JtQ29udHJvbE5hbWVdLFttYXhzaXplXVtmb3JtQ29udHJvbF0sW21heHNpemVdW25nTW9kZWxdYCxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbGVTaXplVmFsaWRhdG9yKSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV0sXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ1thdHRyLmZpbGVzaXplXSc6ICdmaWxlc2l6ZSA/IGZpbGVzaXplIDogbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLm1pbnNpemVdJzogJ21pbnNpemUgPyBtaW5zaXplIDogbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLm1heHNpemVdJzogJ21heHNpemUgPyBtYXhzaXplIDogbnVsbCdcclxuICAgIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVTaXplVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZXNpemU6IHN0cmluZ3xudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtaW5zaXplOiBzdHJpbmd8bnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbWF4c2l6ZTogc3RyaW5nfG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRvcjogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2Upe31cclxuXHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCdmaWxlc2l6ZScgaW4gY2hhbmdlcyBcclxuICAgICAgICAgICAgfHwgJ21heHNpemUnIGluIGNoYW5nZXMgXHJcbiAgICAgICAgICAgIHx8ICdtaW5zaXplJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGVWYWxpZGF0b3IoKTtcclxuICAgICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9yc3xudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0b3IoYyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47IFxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZVZhbGlkYXRvcigpOiB2b2lkIHtcclxuICAgICAgICBsZXQgbWF4U2l6ZSA9IG51bGw7XHJcbiAgICAgICAgaWYgKCFJc051bGxPckVtcHR5KHRoaXMubWF4c2l6ZSkpIHtcclxuICAgICAgICAgICAgbWF4U2l6ZSA9IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UucGFyc2VTaXplKHRoaXMubWF4c2l6ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmKCFJc051bGxPckVtcHR5KHRoaXMuZmlsZXNpemUpKSB7XHJcbiAgICAgICAgICAgIG1heFNpemUgPSB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnBhcnNlU2l6ZSh0aGlzLmZpbGVzaXplKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG1pblNpemUgPSB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnBhcnNlU2l6ZSh0aGlzLm1pbnNpemUpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdG9yID0gRmlsZVVwbG9hZFZhbGlkYXRvcnMuc2l6ZVJhbmdlKHsgbWF4U2l6ZSwgbWluU2l6ZSB9KTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBBIERpcmVjdGl2ZSB0aGF0IGFkZHMgdGhlIGBmaWxlc2xpbWl0YCB2YWxpZGF0b3IgdG8gY29udHJvbHMgbWFya2VkIHdpdGggdGhlXHJcbiAqIGBmaWxlc2xpbWl0YCBhdHRyaWJ1dGUuXHJcbiAqXHJcbiAqICMjIyBFeGFtcGxlXHJcbiAqXHJcbiAqIGBgYFxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBmaWxlc2xpbWl0PVwiMlwiPjwvZmlsZS11cGxvYWQ+XHJcbiAqIDxmaWxlLXVwbG9hZCBuYW1lPVwiZmlsZXNcIiBuZ01vZGVsIFtmaWxlc2xpbWl0XT1cIjJcIj48L2ZpbGUtdXBsb2FkPlxyXG4gKiBgYGBcclxuICpcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbZmlsZXNsaW1pdF1bZm9ybUNvbnRyb2xOYW1lXSxbZmlsZXNsaW1pdF1bZm9ybUNvbnRyb2xdLFtmaWxlc2xpbWl0XVtuZ01vZGVsXScsXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlc0xpbWl0VmFsaWRhdG9yKSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV0sXHJcbiAgICBob3N0OiB7J1thdHRyLmZpbGVzbGltaXRdJzogJ2ZpbGVzbGltaXQgPyBmaWxlc2xpbWl0IDogbnVsbCd9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlc0xpbWl0VmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZXNsaW1pdDogc3RyaW5nfG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRvcjogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICgnZmlsZXNsaW1pdCcgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgdGhpcy5fY3JlYXRlVmFsaWRhdG9yKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB2YWxpZGF0ZShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzfG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbGVzbGltaXQgIT0gbnVsbCA/IHRoaXMudmFsaWRhdG9yKGMpIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjsgXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdG9yID0gRmlsZVVwbG9hZFZhbGlkYXRvcnMuZmlsZXNMaW1pdCh0eXBlb2YgdGhpcy5maWxlc2xpbWl0ID09PSAnc3RyaW5nJyA/IHBhcnNlSW50KHRoaXMuZmlsZXNsaW1pdCwgMTApIDogdGhpcy5maWxlc2xpbWl0KTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEEgRGlyZWN0aXZlIHRoYXQgYWRkcyB0aGUgYGFjY2VwdGAgdmFsaWRhdG9yIHRvIGNvbnRyb2xzIG1hcmtlZCB3aXRoIHRoZVxyXG4gKiBgYWNjZXB0YCBhdHRyaWJ1dGUuXHJcbiAqXHJcbiAqICMjIyBFeGFtcGxlXHJcbiAqXHJcbiAqIGBgYFxyXG4gKiA8ZmlsZS11cGxvYWQgbmFtZT1cImZpbGVzXCIgbmdNb2RlbCBhY2NlcHQ9XCJmaWxlX2V4dGVuc2lvbnxhdWRpby8qfHZpZGVvLyp8aW1hZ2UvKnxtZWRpYV90eXBlXCI+PC9maWxlLXVwbG9hZD5cclxuICogPGZpbGUtdXBsb2FkIG5hbWU9XCJmaWxlc1wiIG5nTW9kZWwgW2FjY2VwdF09XCJmaWxlX2V4dGVuc2lvbnxhdWRpby8qfHZpZGVvLyp8aW1hZ2UvKnxtZWRpYV90eXBlXCI+PC9maWxlLXVwbG9hZD5cclxuICogYGBgXHJcbiAqIFxyXG4gKiBUbyBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgdmFsdWUsIHNlcGFyYXRlIHRoZSB2YWx1ZXMgd2l0aCBhIGNvbW1hIChlLmcuIDxmaWxlLXVwbG9hZCBhY2NlcHQ9XCJhdWRpby8qLHZpZGVvLyosaW1hZ2UvKlwiPjwvZmlsZS11cGxvYWQ+LlxyXG4gKlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1thY2NlcHRdW2Zvcm1Db250cm9sTmFtZV0sW2FjY2VwdF1bZm9ybUNvbnRyb2xdLFthY2NlcHRdW25nTW9kZWxdJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbGVzQWNjZXB0VmFsaWRhdG9yKSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV0sXHJcbiAgICBob3N0OiB7J1thdHRyLmFjY2VwdF0nOiAnYWNjZXB0ID8gYWNjZXB0IDogbnVsbCd9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlc0FjY2VwdFZhbGlkYXRvciBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25DaGFuZ2VzIHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGFjY2VwdDogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbjtcclxuXHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCdhY2NlcHQnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgIHRoaXMuX2NyZWF0ZVZhbGlkYXRvcigpO1xyXG4gICAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB2YWxpZGF0ZShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzfG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjY2VwdCAhPSBudWxsID8gdGhpcy52YWxpZGF0b3IoYykgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZVZhbGlkYXRvcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRvciA9IEZpbGVVcGxvYWRWYWxpZGF0b3JzLmFjY2VwdCh0aGlzLmFjY2VwdC5zcGxpdCgnLCcpKTtcclxuICAgIH1cclxufVxyXG4iXX0=

@@ -64,3 +64,3 @@ /**

/** @type {?} */
var fileExtension = file.name.split('.').pop();
var fileExtension = file.name.split('.').pop().toLowerCase();
/** @type {?} */

@@ -311,2 +311,2 @@ var fileType = getFileType(file, fileExtension);

export { ɵ0, ɵ1, ɵ2, ɵ3 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvaGVscGVycy92YWxpZGF0b3JzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUVyRCxzQ0FFQzs7OztBQUVELGlDQUVDOzs7OztJQUtLLGFBQWE7Ozs7OztBQUFHLFVBQUMsSUFBVSxFQUFFLE9BQWUsRUFBRSxPQUFtQjtJQUFuQix3QkFBQSxFQUFBLFdBQW1CO0lBQ25FLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDNUUsRUFBQyxPQUFPLFNBQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLE1BQUEsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDM0QsQ0FBQyxDQUFBOzs7SUFFSyxXQUFXOzs7OztBQUFHLFVBQUMsSUFBVSxFQUFFLGFBQXFCOztRQUM1QyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUk7SUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixPQUFPLG1CQUFBLElBQUksRUFBbUIsQ0FBQztLQUNsQztJQUVELE9BQU8sZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQTs7O0lBRUssWUFBWSxHQUFHLGFBQWE7Ozs7Ozs7O0lBTzVCLGFBQWE7Ozs7O0FBQUcsVUFBQyxJQUFVLEVBQUUsWUFBMkI7OztRQUNwRCxhQUFhLEdBQUcsSUFBSSxDQUFDLElB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QUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFBRSxPQUFPLElBQUksQ0FBQzthQUFFO1lBQzFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV0QixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUM7Z0JBQzVCLEVBQUMsWUFBWSxFQUFFLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN6RSxDQUFDLEVBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQ1csMkJBQU07Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUFwQixVQUFxQixnQkFBK0I7UUFDaEQ7Ozs7UUFBTyxVQUFDLE9BQTRDOztnQkFDMUMsS0FBSyxHQUFnQixPQUFPLENBQUMsS0FBSztZQUN4QyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFBRSxPQUFPLElBQUksQ0FBQzthQUFFO1lBQzFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7Z0JBRWhCLGVBQWUsR0FBRyxLQUFLLENBQUMsR0FBRzs7OztZQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsYUFBYSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxFQUFyQyxDQUFxQyxFQUFDO2lCQUNyRCxNQUFNOzs7O1lBQUMsVUFBQyxLQUFLLElBQUssT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDO1lBRXJELE9BQU8sZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5QyxDQUFDLEVBQUM7SUFDTixDQUFDO0lBRUwsMkJBQUM7QUFBRCxDQUFDLEFBcEZELElBb0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJc051bGxPckVtcHR5IH0gZnJvbSAnLi9oZWxwZXJzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuL2NvbnRyb2wuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkVHlwZXMgfSBmcm9tICcuL2ZpbGUtdHlwZXMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0b3JGbiB7XHJcbiAgICAoYzogQWJzdHJhY3RDb250cm9sIHwgRmlsZVVwbG9hZENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIGZ1bmN0aW9uIHVzZWQgdG8gY2hlY2sgZmlsZSBzaXplXHJcbiAqL1xyXG5jb25zdCBjaGVja0ZpbGVTaXplID0gKGZpbGU6IEZpbGUsIG1heFNpemU6IG51bWJlciwgbWluU2l6ZTogbnVtYmVyID0gMCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIHJldHVybiAoIUlzTnVsbE9yRW1wdHkobWF4U2l6ZSkgJiYgZmlsZS5zaXplID4gbWF4U2l6ZSkgfHwgZmlsZS5zaXplIDwgbWluU2l6ZSA/XHJcbiAgICAgICAge21heFNpemUsIG1pblNpemUsIGFjdHVhbDogZmlsZS5zaXplLCBmaWxlfSA6IG51bGw7XHJcbn07XHJcblxyXG5jb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlLCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcpOiBGaWxlVXBsb2FkVHlwZXMgPT4ge1xyXG4gICAgY29uc3QgdHlwZSA9IGZpbGUudHlwZTtcclxuICAgIGlmICghSXNOdWxsT3JFbXB0eSh0eXBlKSkge1xyXG4gICAgICAgIHJldHVybiB0eXBlIGFzIEZpbGVVcGxvYWRUeXBlcztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gRmlsZVVwbG9hZFR5cGVzW2ZpbGVFeHRlbnNpb25dO1xyXG59O1xyXG5cclxuY29uc3QgRklMRV9FWFRfUkVHID0gLyheWy5dXFx3KikkL207XHJcbi8qKlxyXG4gKiBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGZpbGUgdHlwZVxyXG4gKiBcclxuICogIyMjIyBhbGxvd2VkVHlwZXNcclxuICogZmlsZV9leHRlbnNpb258YXVkaW8vKnx2aWRlby8qfGltYWdlLyp8bWVkaWFfdHlwZVxyXG4gKi9cclxuY29uc3QgY2hlY2tGaWxlVHlwZSA9IChmaWxlOiBGaWxlLCBhbGxvd2VkVHlwZXM6IEFycmF5PHN0cmluZz4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKCk7XHJcbiAgICBjb25zdCBmaWxlVHlwZSA9IGdldEZpbGVUeXBlKGZpbGUsIGZpbGVFeHRlbnNpb24pO1xyXG5cclxuICAgIGZvciAoY29uc3QgdHlwZSBvZiBhbGxvd2VkVHlwZXMgKSB7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZCA9IEZJTEVfRVhUX1JFRy50ZXN0KHR5cGUpID8gdHlwZSA9PT0gYC4ke2ZpbGVFeHRlbnNpb259YCA6IG5ldyBSZWdFeHAodHlwZSkudGVzdChmaWxlVHlwZSk7XHJcbiAgICAgICAgaWYgKGlzVmFsaWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7YWxsb3dlZFR5cGVzLCBhY3R1YWw6IGZpbGUudHlwZSwgZmlsZX07XHJcbn07XHJcblxyXG5jb25zdCBjaGVja1ZhbHVlVHlwZSA9ICh2YWx1ZTogYW55ICk6IHZvaWQgPT4ge1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHRocm93IEVycm9yKGBGb3JtQ29udHJvbC5zZXRWYWx1ZSB3YXMgcHJvdmlkZWQgd2l0aCB3cm9uZyBhcmd1bWVudCB0eXBlLCAke3ZhbHVlfSB3YXMgcHJvdmlkZWQgaW5zdGVhZCBBcnJheTxGaWxlPmApO1xyXG4gICAgfVxyXG59O1xyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRWYWxpZGF0b3JzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFZhbGlkYXRvciB0aGF0IHJlcXVpcmVzIGNvbnRyb2xzIHRvIGhhdmUgYSBmaWxlIG1heGltdW0gc2l6ZSBsZW5ndGguXHJcbiAgICAgKiBDb21wYXJlIHRoZSBGaWxlIHNpemUgaW4gYnl0ZXNcclxuICAgICAqIEBkeW5hbWljXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZmlsZVNpemUobWF4U2l6ZTogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgRmlsZVVwbG9hZENvbnRyb2wpOiB7ZmlsZVNpemU6IEFycmF5PFZhbGlkYXRpb25FcnJvcnM+fSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzOiBBcnJheTxGaWxlPiA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChJc051bGxPckVtcHR5KGZpbGVzKSkgeyByZXR1cm4gbnVsbDsgfVxyXG4gICAgICAgICAgICBjaGVja1ZhbHVlVHlwZShmaWxlcyk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0b0xhcmdlRmlsZXMgPSBmaWxlcy5tYXAoKGZpbGUpID0+IGNoZWNrRmlsZVNpemUoZmlsZSwgbWF4U2l6ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChlcnJvcikgPT4gZXJyb3IpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRvTGFyZ2VGaWxlcy5sZW5ndGggPiAwID9cclxuICAgICAgICAgICAgICAgICAgICB7J2ZpbGVTaXplJzogdG9MYXJnZUZpbGVzfSA6IG51bGw7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXBhcmUgdGhlIEZpbGUgc2l6ZSBpbiBieXRlcyB3aXRoIG1heCBhbmQgbWluIHNpemUgbGltaXRzXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHNpemVSYW5nZSh7IG1pblNpemUsIG1heFNpemUgfTogeyBtaW5TaXplPzogbnVtYmVyOyBtYXhTaXplPzogbnVtYmVyIH0pOiBWYWxpZGF0b3JGbiB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBGaWxlVXBsb2FkQ29udHJvbCk6IHtzaXplUmFuZ2U6IEFycmF5PFZhbGlkYXRpb25FcnJvcnM+fSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzOiBBcnJheTxGaWxlPiA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChJc051bGxPckVtcHR5KGZpbGVzKSkgeyByZXR1cm4gbnVsbDsgfVxyXG4gICAgICAgICAgICBjaGVja1ZhbHVlVHlwZShmaWxlcyk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzaXplTWlzbWF0Y2ggPSBmaWxlcy5tYXAoKGZpbGUpID0+IGNoZWNrRmlsZVNpemUoZmlsZSwgbWF4U2l6ZSwgbWluU2l6ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChlcnJvcikgPT4gZXJyb3IpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHNpemVNaXNtYXRjaC5sZW5ndGggPiAwID9cclxuICAgICAgICAgICAgICAgICAgICB7J3NpemVSYW5nZSc6IHNpemVNaXNtYXRjaH0gOiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiB2YWxpZGF0b3IgdGhhdCByZXF1aXJlcyBjb250cm9sIHRvIGhhdmUgbGltaXQgb24gZmlsZXMgbnVtYmVyXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGZpbGVzTGltaXQobnVtRmlsZXM6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IEZpbGVVcGxvYWRDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzOiBBcnJheTxGaWxlPiA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChJc051bGxPckVtcHR5KGZpbGVzKSkgeyByZXR1cm4gbnVsbDsgfVxyXG4gICAgICAgICAgICBjaGVja1ZhbHVlVHlwZShmaWxlcyk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gZmlsZXMubGVuZ3RoID4gbnVtRmlsZXMgP1xyXG4gICAgICAgICAgICAgICAgeydmaWxlc0xpbWl0JzogeydtYXgnOiBudW1GaWxlcywgJ2FjdHVhbCc6IGZpbGVzLmxlbmd0aH19IDogbnVsbDtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgY29udHJvbCB0byBoYXZlIGxpbWl0IG9uIG1lZGlhIHR5cGVzXHJcbiAgICAgKiBcclxuICAgICAqICMjIyMjIEFsbG93ZWQgbWVkaWEgdHlwZXMgYXJlXHJcbiAgICAgKiBcclxuICAgICAqIC0gZmlsZV9leHRlbnNpb24gLSBhIGZpbGUgZXh0ZW5zaW9uIHN0YXJ0aW5nIHdpdGggdGhlIFNUT1AgY2hhcmFjdGVyLCBcclxuICAgICAqIGUuZzogLmdpZiwgLmpwZywgLnBuZywgLmRvY1xyXG4gICAgICogLSBhdWRpby8qIC0gICAgICAgIEFsbCBzb3VuZCBmaWxlcyBhcmUgYWNjZXB0ZWRcclxuICAgICAqIC0gdmlkZW8vKiAtICAgICAgICBBbGwgdmlkZW8gZmlsZXMgYXJlIGFjY2VwdGVkXHJcbiAgICAgKiAtIGltYWdlLyogLSAgICAgICAgQWxsIGltYWdlIGZpbGVzIGFyZSBhY2NlcHRlZFxyXG4gICAgICogLSBtZWRpYV90eXBlIC0gICAgIEEgdmFsaWQgbWVkaWEgdHlwZSwgd2l0aCBubyBwYXJhbWV0ZXJzLiBMb29rIGF0IFtJQU5BIE1lZGlhIFR5cGVzXShodHRwczovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9tZWRpYS10eXBlcy9tZWRpYS10eXBlcy54aHRtbCkgZm9yIGEgY29tcGxldGUgbGlzdCBvZiBzdGFuZGFyZCBtZWRpYSB0eXBlc1xyXG4gICAgICogXHJcbiAgICAgKiAjIyMjIEV4YW1wbGVcclxuICAgICAqIGBGaWxlVXBsb2FkVmFsaWRhdG9ycy5hY2NlcHQoW2ZpbGVfZXh0ZW5zaW9uLCBhdWRpby8qLCB2aWRlby8qLCBpbWFnZS8qLCBtZWRpYV90eXBlXSlgXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGFjY2VwdChhbGxvd2VkRmlsZVR5cGVzOiBBcnJheTxzdHJpbmc+KSB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBGaWxlVXBsb2FkQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgbm90QWxsb3dlZEZpbGVzID0gZmlsZXMubWFwKChmaWxlKSA9PiBjaGVja0ZpbGVUeXBlKGZpbGUsIGFsbG93ZWRGaWxlVHlwZXMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoZXJyb3IpID0+IGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBub3RBbGxvd2VkRmlsZXMubGVuZ3RoID4gMCA/XHJcbiAgICAgICAgICAgICAgICB7J2ZpbGVUeXBlcyc6IG5vdEFsbG93ZWRGaWxlc30gOiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvaGVscGVycy92YWxpZGF0b3JzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUVyRCxzQ0FFQzs7OztBQUVELGlDQUVDOzs7OztJQUtLLGFBQWE7Ozs7OztBQUFHLFVBQUMsSUFBVSxFQUFFLE9BQWUsRUFBRSxPQUFtQjtJQUFuQix3QkFBQSxFQUFBLFdBQW1CO0lBQ25FLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDNUUsRUFBQyxPQUFPLFNBQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLE1BQUEsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDM0QsQ0FBQyxDQUFBOzs7SUFFSyxXQUFXOzs7OztBQUFHLFVBQUMsSUFBVSxFQUFFLGFBQXFCOztRQUM1QyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUk7SUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixPQUFPLG1CQUFBLElBQUksRUFBbUIsQ0FBQztLQUNsQztJQUVELE9BQU8sZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQTs7O0lBRUssWUFBWSxHQUFHLGFBQWE7Ozs7Ozs7O0lBTzVCLGFBQWE7Ozs7O0FBQUcsVUFBQyxJQUFVLEVBQUUsWUFBMkI7OztRQUNwRCxhQUFhLEdBQUcsSUFBSSxDQUFDLElB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ZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJc051bGxPckVtcHR5IH0gZnJvbSAnLi9oZWxwZXJzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbnRyb2wgfSBmcm9tICcuL2NvbnRyb2wuY2xhc3MnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkVHlwZXMgfSBmcm9tICcuL2ZpbGUtdHlwZXMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0b3JGbiB7XHJcbiAgICAoYzogQWJzdHJhY3RDb250cm9sIHwgRmlsZVVwbG9hZENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIGZ1bmN0aW9uIHVzZWQgdG8gY2hlY2sgZmlsZSBzaXplXHJcbiAqL1xyXG5jb25zdCBjaGVja0ZpbGVTaXplID0gKGZpbGU6IEZpbGUsIG1heFNpemU6IG51bWJlciwgbWluU2l6ZTogbnVtYmVyID0gMCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIHJldHVybiAoIUlzTnVsbE9yRW1wdHkobWF4U2l6ZSkgJiYgZmlsZS5zaXplID4gbWF4U2l6ZSkgfHwgZmlsZS5zaXplIDwgbWluU2l6ZSA/XHJcbiAgICAgICAge21heFNpemUsIG1pblNpemUsIGFjdHVhbDogZmlsZS5zaXplLCBmaWxlfSA6IG51bGw7XHJcbn07XHJcblxyXG5jb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlLCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcpOiBGaWxlVXBsb2FkVHlwZXMgPT4ge1xyXG4gICAgY29uc3QgdHlwZSA9IGZpbGUudHlwZTtcclxuICAgIGlmICghSXNOdWxsT3JFbXB0eSh0eXBlKSkge1xyXG4gICAgICAgIHJldHVybiB0eXBlIGFzIEZpbGVVcGxvYWRUeXBlcztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gRmlsZVVwbG9hZFR5cGVzW2ZpbGVFeHRlbnNpb25dO1xyXG59O1xyXG5cclxuY29uc3QgRklMRV9FWFRfUkVHID0gLyheWy5dXFx3KikkL207XHJcbi8qKlxyXG4gKiBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGZpbGUgdHlwZVxyXG4gKlxyXG4gKiAjIyMjIGFsbG93ZWRUeXBlc1xyXG4gKiBmaWxlX2V4dGVuc2lvbnxhdWRpby8qfHZpZGVvLyp8aW1hZ2UvKnxtZWRpYV90eXBlXHJcbiAqL1xyXG5jb25zdCBjaGVja0ZpbGVUeXBlID0gKGZpbGU6IEZpbGUsIGFsbG93ZWRUeXBlczogQXJyYXk8c3RyaW5nPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgY29uc3QgZmlsZVR5cGUgPSBnZXRGaWxlVHlwZShmaWxlLCBmaWxlRXh0ZW5zaW9uKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgYWxsb3dlZFR5cGVzICkge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSBGSUxFX0VYVF9SRUcudGVzdCh0eXBlKSA/IHR5cGUgPT09IGAuJHtmaWxlRXh0ZW5zaW9ufWAgOiBuZXcgUmVnRXhwKHR5cGUpLnRlc3QoZmlsZVR5cGUpO1xyXG4gICAgICAgIGlmIChpc1ZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge2FsbG93ZWRUeXBlcywgYWN0dWFsOiBmaWxlLnR5cGUsIGZpbGV9O1xyXG59O1xyXG5cclxuY29uc3QgY2hlY2tWYWx1ZVR5cGUgPSAodmFsdWU6IGFueSApOiB2b2lkID0+IHtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICB0aHJvdyBFcnJvcihgRm9ybUNvbnRyb2wuc2V0VmFsdWUgd2FzIHByb3ZpZGVkIHdpdGggd3JvbmcgYXJndW1lbnQgdHlwZSwgJHt2YWx1ZX0gd2FzIHByb3ZpZGVkIGluc3RlYWQgQXJyYXk8RmlsZT5gKTtcclxuICAgIH1cclxufTtcclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkVmFsaWRhdG9ycyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyBjb250cm9scyB0byBoYXZlIGEgZmlsZSBtYXhpbXVtIHNpemUgbGVuZ3RoLlxyXG4gICAgICogQ29tcGFyZSB0aGUgRmlsZSBzaXplIGluIGJ5dGVzXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGZpbGVTaXplKG1heFNpemU6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IEZpbGVVcGxvYWRDb250cm9sKToge2ZpbGVTaXplOiBBcnJheTxWYWxpZGF0aW9uRXJyb3JzPn0gPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgdG9MYXJnZUZpbGVzID0gZmlsZXMubWFwKChmaWxlKSA9PiBjaGVja0ZpbGVTaXplKGZpbGUsIG1heFNpemUpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoZXJyb3IpID0+IGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0b0xhcmdlRmlsZXMubGVuZ3RoID4gMCA/XHJcbiAgICAgICAgICAgICAgICAgICAgeydmaWxlU2l6ZSc6IHRvTGFyZ2VGaWxlc30gOiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlIHRoZSBGaWxlIHNpemUgaW4gYnl0ZXMgd2l0aCBtYXggYW5kIG1pbiBzaXplIGxpbWl0c1xyXG4gICAgICogQGR5bmFtaWNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBzaXplUmFuZ2UoeyBtaW5TaXplLCBtYXhTaXplIH06IHsgbWluU2l6ZT86IG51bWJlcjsgbWF4U2l6ZT86IG51bWJlciB9KTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgRmlsZVVwbG9hZENvbnRyb2wpOiB7c2l6ZVJhbmdlOiBBcnJheTxWYWxpZGF0aW9uRXJyb3JzPn0gPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc2l6ZU1pc21hdGNoID0gZmlsZXMubWFwKChmaWxlKSA9PiBjaGVja0ZpbGVTaXplKGZpbGUsIG1heFNpemUsIG1pblNpemUpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoZXJyb3IpID0+IGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBzaXplTWlzbWF0Y2gubGVuZ3RoID4gMCA/XHJcbiAgICAgICAgICAgICAgICAgICAgeydzaXplUmFuZ2UnOiBzaXplTWlzbWF0Y2h9IDogbnVsbDtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgY29udHJvbCB0byBoYXZlIGxpbWl0IG9uIGZpbGVzIG51bWJlclxyXG4gICAgICogQGR5bmFtaWNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBmaWxlc0xpbWl0KG51bUZpbGVzOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBGaWxlVXBsb2FkQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGZpbGVzLmxlbmd0aCA+IG51bUZpbGVzID9cclxuICAgICAgICAgICAgICAgIHsnZmlsZXNMaW1pdCc6IHsnbWF4JzogbnVtRmlsZXMsICdhY3R1YWwnOiBmaWxlcy5sZW5ndGh9fSA6IG51bGw7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHZhbGlkYXRvciB0aGF0IHJlcXVpcmVzIGNvbnRyb2wgdG8gaGF2ZSBsaW1pdCBvbiBtZWRpYSB0eXBlc1xyXG4gICAgICpcclxuICAgICAqICMjIyMjIEFsbG93ZWQgbWVkaWEgdHlwZXMgYXJlXHJcbiAgICAgKlxyXG4gICAgICogLSBmaWxlX2V4dGVuc2lvbiAtIGEgZmlsZSBleHRlbnNpb24gc3RhcnRpbmcgd2l0aCB0aGUgU1RPUCBjaGFyYWN0ZXIsXHJcbiAgICAgKiBlLmc6IC5naWYsIC5qcGcsIC5wbmcsIC5kb2NcclxuICAgICAqIC0gYXVkaW8vKiAtICAgICAgICBBbGwgc291bmQgZmlsZXMgYXJlIGFjY2VwdGVkXHJcbiAgICAgKiAtIHZpZGVvLyogLSAgICAgICAgQWxsIHZpZGVvIGZpbGVzIGFyZSBhY2NlcHRlZFxyXG4gICAgICogLSBpbWFnZS8qIC0gICAgICAgIEFsbCBpbWFnZSBmaWxlcyBhcmUgYWNjZXB0ZWRcclxuICAgICAqIC0gbWVkaWFfdHlwZSAtICAgICBBIHZhbGlkIG1lZGlhIHR5cGUsIHdpdGggbm8gcGFyYW1ldGVycy4gTG9vayBhdCBbSUFOQSBNZWRpYSBUeXBlc10oaHR0cHM6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvbWVkaWEtdHlwZXMvbWVkaWEtdHlwZXMueGh0bWwpIGZvciBhIGNvbXBsZXRlIGxpc3Qgb2Ygc3RhbmRhcmQgbWVkaWEgdHlwZXNcclxuICAgICAqXHJcbiAgICAgKiAjIyMjIEV4YW1wbGVcclxuICAgICAqIGBGaWxlVXBsb2FkVmFsaWRhdG9ycy5hY2NlcHQoW2ZpbGVfZXh0ZW5zaW9uLCBhdWRpby8qLCB2aWRlby8qLCBpbWFnZS8qLCBtZWRpYV90eXBlXSlgXHJcbiAgICAgKiBAZHluYW1pY1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGFjY2VwdChhbGxvd2VkRmlsZVR5cGVzOiBBcnJheTxzdHJpbmc+KSB7XHJcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBGaWxlVXBsb2FkQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlczogQXJyYXk8RmlsZT4gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eShmaWxlcykpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgICAgICAgICAgY2hlY2tWYWx1ZVR5cGUoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgbm90QWxsb3dlZEZpbGVzID0gZmlsZXMubWFwKChmaWxlKSA9PiBjaGVja0ZpbGVUeXBlKGZpbGUsIGFsbG93ZWRGaWxlVHlwZXMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoZXJyb3IpID0+IGVycm9yKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBub3RBbGxvd2VkRmlsZXMubGVuZ3RoID4gMCA/XHJcbiAgICAgICAgICAgICAgICB7J2ZpbGVUeXBlcyc6IG5vdEFsbG93ZWRGaWxlc30gOiBudWxsO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==

@@ -5,4 +5,6 @@ /**

*/
import * as tslib_1 from "tslib";
import { Injectable, Renderer2 } from '@angular/core';
import { FileUploadTypes } from './../helpers/file-types.class';
import { IsNullOrEmpty } from './../helpers/helpers.class';
var FileUploadService = /** @class */ (function () {

@@ -12,2 +14,3 @@ function FileUploadService(renderer) {

this.extensions = ['B', 'KB', 'MB', 'GB'];
this.sizeRegex = new RegExp("^(\\d+)(?:\\s{0,1})(" + this.extensions.join('|') + ")?$", 'i');
}

@@ -26,3 +29,35 @@ /**

/**
* @param {?} value
* @return {?}
*/
FileUploadService.prototype.parseSize = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (IsNullOrEmpty(value)) {
return 0;
}
if (typeof value === 'number') {
return value;
}
var _a = tslib_1.__read(value.match(this.sizeRegex) || [null, '0', 'B'], 3), size = _a[1], extension = _a[2];
/** @type {?} */
var i = IsNullOrEmpty(extension) ? 0 : this.extensions.indexOf((/** @type {?} */ (extension.toUpperCase())));
return parseInt(size, 10) * Math.pow(1024, i < 0 ? 0 : i);
};
/**
* @param {?} size
* @return {?}
*/
FileUploadService.prototype.formatSize = /**
* @param {?} size
* @return {?}
*/
function (size) {
return this.calculateSize(size);
};
/**
* @private
* @param {?} size
* @param {?=} extensionIndex

@@ -32,2 +67,3 @@ * @return {?}

FileUploadService.prototype.calculateSize = /**
* @private
* @param {?} size

@@ -82,4 +118,9 @@ * @param {?=} extensionIndex

*/
FileUploadService.prototype.sizeRegex;
/**
* @type {?}
* @private
*/
FileUploadService.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFO0lBS0ksMkJBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFGL0IsZUFBVSxHQUFvQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRzlFLENBQUM7Ozs7SUFFTSxtREFBdUI7OztJQUE5Qjs7WUFDVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQzs7Ozs7O0lBR00seUNBQWE7Ozs7O0lBQXBCLFVBQXFCLElBQVksRUFBRSxjQUEwQjtRQUExQiwrQkFBQSxFQUFBLGtCQUEwQjtRQUN6RCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNiLElBQUksR0FBRyxDQUFDLENBQUM7U0FDWjtRQUVELElBQUksSUFBSSxHQUFHLElBQUksRUFBRTtZQUNiLE9BQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxTQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFHLENBQUM7U0FDL0U7UUFFRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Ozs7SUFFTSx1Q0FBVzs7OztJQUFsQixVQUFtQixJQUFVO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksRUFBbEMsQ0FBa0MsRUFBQyxDQUFDO0lBQzFGLENBQUM7O2dCQTVCSixVQUFVOzs7O2dCQUhVLFNBQVM7O0lBZ0M5Qix3QkFBQztDQUFBLEFBN0JELElBNkJDO1NBNUJZLGlCQUFpQjs7Ozs7O0lBRTFCLHVDQUE4RTs7Ozs7SUFFbEUscUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRUeXBlcyB9IGZyb20gJy4vLi4vaGVscGVycy9maWxlLXR5cGVzLmNsYXNzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIGV4dGVuc2lvbnM6IEFycmF5PCdCJyB8ICdLQicgfCAnTUInIHwgJ0dCJz4gPSBbJ0InLCAnS0InLCAnTUInLCAnR0InXTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNGaWxlRHJhZ0Ryb3BBdmFpbGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZGl2ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICByZXR1cm4gKCgnZHJhZ2dhYmxlJyBpbiBkaXYpIHx8ICgnb25kcmFnc3RhcnQnIGluIGRpdiAmJiAnb25kcm9wJyBpbiBkaXYpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIGNhbGN1bGF0ZVNpemUoc2l6ZTogbnVtYmVyLCBleHRlbnNpb25JbmRleDogbnVtYmVyID0gMCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKGlzTmFOKHNpemUpKSB7XHJcbiAgICAgICAgICAgIHNpemUgPSAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNpemUgPCAxMDI0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKHNpemUgKiAxMDApIC8gMTAwfSAke3RoaXMuZXh0ZW5zaW9uc1tleHRlbnNpb25JbmRleF19YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZVNpemUoc2l6ZSAvIDEwMjQsIGV4dGVuc2lvbkluZGV4ICsgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEZpbGVUeXBlKGZpbGU6IEZpbGUpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhGaWxlVXBsb2FkVHlwZXMpLmZpbmQoKGtleSkgPT4gRmlsZVVwbG9hZFR5cGVzW2tleV0gPT09IGZpbGUudHlwZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJM0Q7SUFPSSwyQkFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUp0QixlQUFVLEdBQWlCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbkQsY0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLHlCQUF1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBR3BHLENBQUM7Ozs7SUFFTSxtREFBdUI7OztJQUE5Qjs7WUFDVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQzs7Ozs7SUFFTSxxQ0FBUzs7OztJQUFoQixVQUFpQixLQUFzQjtRQUNuQyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixPQUFPLENBQUMsQ0FBQztTQUNaO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFSyxJQUFBLHVFQUFxRSxFQUFsRSxZQUFJLEVBQUUsaUJBQTREOztZQUNyRSxDQUFDLEdBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFBLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBUyxDQUFDO1FBRW5HLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7Ozs7O0lBRU0sc0NBQVU7Ozs7SUFBakIsVUFBa0IsSUFBWTtRQUMxQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Ozs7OztJQUVPLHlDQUFhOzs7Ozs7SUFBckIsVUFBc0IsSUFBWSxFQUFFLGNBQTBCO1FBQTFCLCtCQUFBLEVBQUEsa0JBQTBCO1FBQzFELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2IsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNaO1FBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ2IsT0FBVSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLFNBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUcsQ0FBQztTQUMvRTtRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs7OztJQUVNLHVDQUFXOzs7O0lBQWxCLFVBQW1CLElBQVU7UUFDekIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFDLEdBQUcsSUFBSyxPQUFBLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFsQyxDQUFrQyxFQUFDLENBQUM7SUFDMUYsQ0FBQzs7Z0JBaERKLFVBQVU7Ozs7Z0JBTlUsU0FBUzs7SUF1RDlCLHdCQUFDO0NBQUEsQUFqREQsSUFpREM7U0FoRFksaUJBQWlCOzs7Ozs7SUFFMUIsdUNBQW9FOzs7OztJQUVwRSxzQ0FBb0c7Ozs7O0lBRXhGLHFDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkVHlwZXMgfSBmcm9tICcuLy4uL2hlbHBlcnMvZmlsZS10eXBlcy5jbGFzcyc7XHJcbmltcG9ydCB7IElzTnVsbE9yRW1wdHkgfSBmcm9tICcuLy4uL2hlbHBlcnMvaGVscGVycy5jbGFzcyc7XHJcblxyXG5leHBvcnQgdHlwZSBJU2l6ZSA9ICdCJyB8ICdLQicgfCAnTUInIHwgJ0dCJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4dGVuc2lvbnM6IEFycmF5PElTaXplPiA9IFsnQicsICdLQicsICdNQicsICdHQiddO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2l6ZVJlZ2V4ID0gbmV3IFJlZ0V4cChgXihcXFxcZCspKD86XFxcXHN7MCwxfSkoJHt0aGlzLmV4dGVuc2lvbnMuam9pbignfCcpfSk/JGAsICdpJyk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzRmlsZURyYWdEcm9wQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGRpdiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgcmV0dXJuICgoJ2RyYWdnYWJsZScgaW4gZGl2KSB8fCAoJ29uZHJhZ3N0YXJ0JyBpbiBkaXYgJiYgJ29uZHJvcCcgaW4gZGl2KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHBhcnNlU2l6ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAoSXNOdWxsT3JFbXB0eSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBbLCBzaXplLCBleHRlbnNpb25dID0gdmFsdWUubWF0Y2godGhpcy5zaXplUmVnZXgpIHx8IFtudWxsLCAnMCcsICdCJ107XHJcbiAgICAgICAgY29uc3QgaSA9ICBJc051bGxPckVtcHR5KGV4dGVuc2lvbikgPyAwIDogdGhpcy5leHRlbnNpb25zLmluZGV4T2YoZXh0ZW5zaW9uLnRvVXBwZXJDYXNlKCkgYXMgSVNpemUpO1xyXG5cclxuICAgICAgICByZXR1cm4gcGFyc2VJbnQoc2l6ZSwgMTApICogTWF0aC5wb3coMTAyNCwgaSA8IDAgPyAwIDogaSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZvcm1hdFNpemUoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVTaXplKHNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2FsY3VsYXRlU2l6ZShzaXplOiBudW1iZXIsIGV4dGVuc2lvbkluZGV4OiBudW1iZXIgPSAwKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoaXNOYU4oc2l6ZSkpIHtcclxuICAgICAgICAgICAgc2l6ZSA9IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc2l6ZSA8IDEwMjQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoc2l6ZSAqIDEwMCkgLyAxMDB9ICR7dGhpcy5leHRlbnNpb25zW2V4dGVuc2lvbkluZGV4XX1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlU2l6ZShzaXplIC8gMTAyNCwgZXh0ZW5zaW9uSW5kZXggKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RmlsZVR5cGUoZmlsZTogRmlsZSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEZpbGVVcGxvYWRUeXBlcykuZmluZCgoa2V5KSA9PiBGaWxlVXBsb2FkVHlwZXNba2V5XSA9PT0gZmlsZS50eXBlKTtcclxuICAgIH1cclxufVxyXG4iXX0=

@@ -9,2 +9,2 @@ /**

export { FileUploadComponent, FileUploadAttributeComponent, SimpleFileUploadComponent, FileSizeValidator, FilesLimitValidator, FilesAcceptValidator, FilesAcceptDirective, FileUploadControl, FileUploadValidators, FileUploadTypes, FileUploadModule } from './lib/file-upload.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw2UEFBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZmlsZS11cGxvYWRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLXVwbG9hZC5tb2R1bGUnO1xyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpcGxhYi9uZ3gtZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw2UEFBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWZpbGUtdXBsb2FkXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS11cGxvYWQubW9kdWxlJztcbiJdfQ==
import { OnChanges, SimpleChanges } from '@angular/core';
import { Validator, AbstractControl } from '@angular/forms';
import { ValidationErrors } from './../helpers/validators.class';
import { FileUploadService } from './../services/file-upload.service';
/**
* A Directive that adds the `filesize` validator to controls marked with the
* `filesize` attribute.
* `filesize` attribute. The size of the file is in bytes or any other unit
*

@@ -14,2 +15,5 @@ * ### Example

* <file-upload name="files" ngModel minSize="0" max="6200"></file-upload>
* <file-upload name="files" ngModel filesize="123MB"></file-upload>
* <file-upload name="files" ngModel [filesize]="12 mb"></file-upload>
* <file-upload name="files" ngModel minSize="0" max="324KB"></file-upload>
* ```

@@ -19,2 +23,3 @@ *

export declare class FileSizeValidator implements Validator, OnChanges {
private readonly fileUploadService;
filesize: string | number;

@@ -24,2 +29,3 @@ minsize: string | number;

private validator;
constructor(fileUploadService: FileUploadService);
private onChange;

@@ -26,0 +32,0 @@ ngOnChanges(changes: SimpleChanges): void;

import { Renderer2 } from '@angular/core';
export declare type ISize = 'B' | 'KB' | 'MB' | 'GB';
export declare class FileUploadService {
private renderer;
private extensions;
private readonly extensions;
private readonly sizeRegex;
constructor(renderer: Renderer2);
isFileDragDropAvailable(): boolean;
calculateSize(size: number, extensionIndex?: number): string;
parseSize(value: string | number): number;
formatSize(size: number): string;
private calculateSize;
getFileType(file: File): string;
}

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

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

@@ -9,0 +9,0 @@ "license": "MIT",

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

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

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

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