@sunbird-cb/utils-v2 0.0.21 → 0.0.22-ang-9-12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/bundles/sunbird-cb-utils-v2.umd.js +1284 -2508
  2. package/bundles/sunbird-cb-utils-v2.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-utils-v2.umd.min.js +1 -1
  4. package/bundles/sunbird-cb-utils-v2.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/image-crop/image-crop.component.js +19 -47
  6. package/esm2015/lib/components/image-crop/image-crop.module.js +8 -2
  7. package/esm2015/lib/constants/features.enum.js +555 -555
  8. package/esm2015/lib/constants/instances.enum.js +5 -5
  9. package/esm2015/lib/constants/misc.constants.js +1 -0
  10. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +11 -21
  11. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
  12. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +6 -11
  13. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +9 -12
  14. package/esm2015/lib/directives/navigation/navigation.directive.js +1 -6
  15. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  16. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +10 -19
  17. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
  18. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +15 -31
  19. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +4 -2
  20. package/esm2015/lib/helpers/logout/logout.component.js +11 -14
  21. package/esm2015/lib/helpers/logout/logout.module.js +3 -2
  22. package/esm2015/lib/models/profile-v3.models.js +2 -104
  23. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +4 -4
  24. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
  25. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
  26. package/esm2015/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +1 -1
  27. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
  28. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
  29. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
  30. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
  31. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +3 -3
  32. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +6 -6
  33. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
  34. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
  35. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -6
  36. package/esm2015/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +4 -4
  37. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
  38. package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +1 -1
  39. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +1 -1
  40. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +4 -4
  41. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +5 -5
  42. package/esm2015/lib/resolvers/explore-detail.resolver.js +17 -19
  43. package/esm2015/lib/resolvers/marketing-offering.resolve.js +10 -10
  44. package/esm2015/lib/resolvers/module-name.resolver.js +2 -5
  45. package/esm2015/lib/resolvers/page-name.resolver.js +2 -2
  46. package/esm2015/lib/resolvers/page.constant.js +1 -1
  47. package/esm2015/lib/resolvers/page.model.js +2 -48
  48. package/esm2015/lib/resolvers/page.resolver.js +16 -17
  49. package/esm2015/lib/resolvers/resolver.model.js +2 -6
  50. package/esm2015/lib/services/auth-keycloak.service.js +35 -35
  51. package/esm2015/lib/services/auth-microsoft.service.js +21 -17
  52. package/esm2015/lib/services/card-content.model.js +1 -21
  53. package/esm2015/lib/services/configurations.model.js +2 -551
  54. package/esm2015/lib/services/configurations.service.js +2 -63
  55. package/esm2015/lib/services/content-strip-multiple.model.js +2 -75
  56. package/esm2015/lib/services/event.model.js +1 -114
  57. package/esm2015/lib/services/event.service.js +31 -24
  58. package/esm2015/lib/services/logger.service.js +8 -13
  59. package/esm2015/lib/services/ms-office.model.js +2 -8
  60. package/esm2015/lib/services/multilingual-translations.service.js +11 -15
  61. package/esm2015/lib/services/nps-grid.service.js +6 -8
  62. package/esm2015/lib/services/subapplication-respond.service.js +16 -20
  63. package/esm2015/lib/services/telemetry.service.js +73 -80
  64. package/esm2015/lib/services/user-preference.model.js +2 -38
  65. package/esm2015/lib/services/user-preference.service.js +23 -15
  66. package/esm2015/lib/services/utility.service.js +16 -27
  67. package/esm2015/lib/services/value.service.js +8 -10
  68. package/esm2015/lib/services/widget-content.model.js +1 -242
  69. package/esm2015/lib/services/widget-content.service.js +29 -21
  70. package/esm2015/lib/services/widget-resolver.model.js +2 -57
  71. package/esm2015/lib/services/widget-search.model.js +2 -126
  72. package/esm2015/public-api.js +96 -88
  73. package/esm2015/sunbird-cb-utils-v2.js +2 -10
  74. package/esm5/lib/components/image-crop/image-crop.component.js +30 -48
  75. package/esm5/lib/components/image-crop/image-crop.module.js +8 -2
  76. package/esm5/lib/constants/features.enum.js +555 -555
  77. package/esm5/lib/constants/instances.enum.js +5 -5
  78. package/esm5/lib/constants/misc.constants.js +1 -0
  79. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +14 -24
  80. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
  81. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +6 -11
  82. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +9 -12
  83. package/esm5/lib/directives/navigation/navigation.directive.js +1 -6
  84. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  85. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +10 -19
  86. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
  87. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +15 -31
  88. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +4 -2
  89. package/esm5/lib/helpers/logout/logout.component.js +12 -15
  90. package/esm5/lib/helpers/logout/logout.module.js +3 -2
  91. package/esm5/lib/models/profile-v3.models.js +2 -104
  92. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +4 -4
  93. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
  94. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
  95. package/esm5/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +1 -1
  96. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
  97. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
  98. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
  99. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
  100. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +3 -3
  101. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +9 -9
  102. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
  103. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
  104. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -6
  105. package/esm5/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +4 -4
  106. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
  107. package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +1 -1
  108. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +13 -3
  109. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +4 -4
  110. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +5 -5
  111. package/esm5/lib/resolvers/explore-detail.resolver.js +17 -19
  112. package/esm5/lib/resolvers/marketing-offering.resolve.js +10 -10
  113. package/esm5/lib/resolvers/module-name.resolver.js +2 -5
  114. package/esm5/lib/resolvers/page-name.resolver.js +2 -2
  115. package/esm5/lib/resolvers/page.constant.js +1 -1
  116. package/esm5/lib/resolvers/page.model.js +2 -48
  117. package/esm5/lib/resolvers/page.resolver.js +36 -22
  118. package/esm5/lib/resolvers/resolver.model.js +2 -6
  119. package/esm5/lib/services/auth-keycloak.service.js +86 -48
  120. package/esm5/lib/services/auth-microsoft.service.js +55 -24
  121. package/esm5/lib/services/card-content.model.js +1 -21
  122. package/esm5/lib/services/configurations.model.js +2 -551
  123. package/esm5/lib/services/configurations.service.js +2 -63
  124. package/esm5/lib/services/content-strip-multiple.model.js +2 -75
  125. package/esm5/lib/services/event.model.js +1 -114
  126. package/esm5/lib/services/event.service.js +66 -28
  127. package/esm5/lib/services/logger.service.js +12 -17
  128. package/esm5/lib/services/ms-office.model.js +2 -8
  129. package/esm5/lib/services/multilingual-translations.service.js +11 -15
  130. package/esm5/lib/services/nps-grid.service.js +6 -8
  131. package/esm5/lib/services/subapplication-respond.service.js +30 -24
  132. package/esm5/lib/services/telemetry.service.js +94 -91
  133. package/esm5/lib/services/user-preference.model.js +2 -38
  134. package/esm5/lib/services/user-preference.service.js +63 -17
  135. package/esm5/lib/services/utility.service.js +23 -34
  136. package/esm5/lib/services/value.service.js +8 -10
  137. package/esm5/lib/services/widget-content.model.js +1 -242
  138. package/esm5/lib/services/widget-content.service.js +69 -23
  139. package/esm5/lib/services/widget-resolver.model.js +2 -57
  140. package/esm5/lib/services/widget-search.model.js +2 -126
  141. package/esm5/public-api.js +96 -88
  142. package/esm5/sunbird-cb-utils-v2.js +2 -10
  143. package/fesm2015/sunbird-cb-utils-v2.js +972 -2207
  144. package/fesm2015/sunbird-cb-utils-v2.js.map +1 -1
  145. package/fesm5/sunbird-cb-utils-v2.js +1262 -2264
  146. package/fesm5/sunbird-cb-utils-v2.js.map +1 -1
  147. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +3 -3
  148. package/lib/helpers/logout/logout.component.d.ts +2 -2
  149. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +4 -4
  150. package/lib/resolvers/page.model.d.ts +1 -1
  151. package/lib/services/auth-keycloak.service.d.ts +9 -9
  152. package/lib/services/auth-microsoft.service.d.ts +2 -2
  153. package/lib/services/configurations.model.d.ts +29 -27
  154. package/lib/services/content-strip-multiple.model.d.ts +7 -6
  155. package/lib/services/event.service.d.ts +2 -0
  156. package/lib/services/logger.service.d.ts +4 -4
  157. package/lib/services/telemetry.service.d.ts +3 -3
  158. package/lib/services/utility.service.d.ts +7 -7
  159. package/lib/services/widget-content.model.d.ts +21 -20
  160. package/package.json +12 -12
  161. package/public-api.d.ts +8 -0
  162. package/sunbird-cb-utils-v2-0.0.22-ang-9-12.tgz +0 -0
  163. package/sunbird-cb-utils-v2.d.ts +0 -8
  164. package/sunbird-cb-utils-v2.metadata.json +1 -1
@@ -1,17 +1,19 @@
1
- import * as tslib_1 from "tslib";
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
2
12
  import { Component, EventEmitter, Inject, Output } from '@angular/core';
3
13
  import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
4
14
  import { MatSnackBar } from '@angular/material/snack-bar';
5
15
  import { ConfigurationsService } from '../../services/configurations.service';
6
16
  import { ValueService } from '../../services/value.service';
7
- export function IDialogueDta() { }
8
- if (false) {
9
- IDialogueDta.prototype.isRoundCrop;
10
- IDialogueDta.prototype.imageFile;
11
- IDialogueDta.prototype.height;
12
- IDialogueDta.prototype.width;
13
- IDialogueDta.prototype.imageFileName;
14
- }
15
17
  var ImageCropComponent = (function () {
16
18
  function ImageCropComponent(dialogRef, configSvc, snackBar, valueSvc, data) {
17
19
  this.dialogRef = dialogRef;
@@ -53,7 +55,7 @@ var ImageCropComponent = (function () {
53
55
  ImageCropComponent.prototype.ngOnInit = function () {
54
56
  var _this = this;
55
57
  this.thumbnailSizeDetection();
56
- this.valueSvc.isXSmall$.subscribe((function (isXSmall) {
58
+ this.valueSvc.isXSmall$.subscribe(function (isXSmall) {
57
59
  _this.isXSmall = isXSmall;
58
60
  if (_this.isXSmall) {
59
61
  _this.dialogRef.updateSize('90%');
@@ -61,7 +63,7 @@ var ImageCropComponent = (function () {
61
63
  else {
62
64
  _this.dialogRef.updateSize('70%');
63
65
  }
64
- }));
66
+ });
65
67
  };
66
68
  ImageCropComponent.prototype.changeToDefaultImg = function ($event) {
67
69
  $event.target.src = this.configSvc.instanceConfig ?
@@ -85,10 +87,10 @@ var ImageCropComponent = (function () {
85
87
  var _this = this;
86
88
  var fr = new FileReader();
87
89
  fr.readAsDataURL(this.imageFile);
88
- fr.onload = (function () {
90
+ fr.onload = function () {
89
91
  var img = new Image();
90
- img.src = ((fr.result));
91
- img.onload = (function () {
92
+ img.src = fr.result;
93
+ img.onload = function () {
92
94
  _this.width = img.width;
93
95
  _this.height = img.height;
94
96
  if (!_this.isRoundCrop) {
@@ -100,8 +102,8 @@ var ImageCropComponent = (function () {
100
102
  _this.isNotOfRequiredSize = true;
101
103
  }
102
104
  }
103
- });
104
- });
105
+ };
106
+ };
105
107
  };
106
108
  ImageCropComponent.prototype.base64ImageToBlob = function (str) {
107
109
  var pos = str.indexOf(';base64,');
@@ -122,7 +124,7 @@ var ImageCropComponent = (function () {
122
124
  ImageCropComponent.prototype.flipAfterRotate = function () {
123
125
  var flippedH = this.transform.flipH;
124
126
  var flippedV = this.transform.flipV;
125
- this.transform = tslib_1.__assign({}, this.transform, { flipH: flippedV, flipV: flippedH });
127
+ this.transform = __assign(__assign({}, this.transform), { flipH: flippedV, flipV: flippedH });
126
128
  };
127
129
  ImageCropComponent.prototype.rotateLeft = function () {
128
130
  this.canvasRotation = this.canvasRotation - 1;
@@ -133,11 +135,11 @@ var ImageCropComponent = (function () {
133
135
  this.flipAfterRotate();
134
136
  };
135
137
  ImageCropComponent.prototype.flipHorizontal = function () {
136
- this.transform = tslib_1.__assign({}, this.transform, { flipH: !this.transform.flipH });
138
+ this.transform = __assign(__assign({}, this.transform), { flipH: !this.transform.flipH });
137
139
  };
138
140
  ImageCropComponent.prototype.zoom = function (event) {
139
141
  this.resetValue = false;
140
- this.transform = tslib_1.__assign({}, this.transform, { scale: event.value });
142
+ this.transform = __assign(__assign({}, this.transform), { scale: event.value });
141
143
  };
142
144
  ImageCropComponent.prototype.croppingImage = function () {
143
145
  this.dialogRef.close(this.cropimageFile);
@@ -150,12 +152,19 @@ var ImageCropComponent = (function () {
150
152
  ImageCropComponent.prototype.close = function () {
151
153
  this.dialogRef.close();
152
154
  };
155
+ ImageCropComponent.ctorParameters = function () { return [
156
+ { type: MatDialogRef },
157
+ { type: ConfigurationsService },
158
+ { type: MatSnackBar },
159
+ { type: ValueService },
160
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
161
+ ]; };
153
162
  ImageCropComponent.decorators = [
154
163
  { type: Component, args: [{
155
164
  selector: 'ws-utils-image-crop',
156
165
  template: "<ng-container *ngIf=\"isNotOfRequiredSize\">\r\n <mat-dialog-content>\r\n <div class=\"flex pl-4\">\r\n <mat-icon class=\"ws-mat-warn-text largeicon padding-remove-left\">warning</mat-icon>\r\n <h2 class=\"text-xl\" i18n>This image will appear stretched as it is not in proper dimension. Do you want to\r\n continue?</h2>\r\n </div>\r\n <div class=\"text-sm pl-4\">\r\n <div i18n class=\"pb-2\">Note:</div>\r\n <div i18n class=\"pb-2\">Required dimensions : 265 * 150</div>\r\n <div class=\"flex flex-wrap items-baseline\">\r\n <div>Current dimensions:</div>\r\n <div class=\"pl-1\">{{ width }} * {{ height }} px</div>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions class=\"flex flex-end\">\r\n <div class=\"flex flex-end\">\r\n <button mat-raised-button autofocus type=\"button\" (click)=\" close()\">\r\n <span i18n>No</span>\r\n </button>\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" continueToImageCrop()\">\r\n <span class=\"text-white\" i18n>Yes</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRoundCrop\">\r\n <!-- For Profile image - start -->\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl font-weight-bold ws-mat-primary-text\" i18n>Profile Photo</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>close</mat-icon>\r\n\r\n </div>\r\n <mat-dialog-content class=\"p-0 overflow-hidden \" *ngIf=\"isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"profile-slides\">\r\n <image-cropper #imageCropper class=\"image-cropper-profile\" [imageFile]=\"imageFile\" [maintainAspectRatio]=\"true\"\r\n [aspectRatio]=\"250 / 250\" [resizeToWidth]=\"100\" [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"120\"\r\n [cropperMinWidth]=\"500\" [format]=\"'jpeg'\" [transform]=\"transform\" [canvasRotation]=\"canvasRotation\"\r\n (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n </div>\r\n </div>\r\n <ul class=\"toolbar cf\">\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n </li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button></li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button></li>\r\n <li><a href=\"#\"><i class=\"icon-cloud\"></i></a></li>\r\n </ul>\r\n </mat-dialog-content>\r\n</ng-container> <!-- For Profile image - end -->\r\n<ng-container>\r\n <ng-container *ngIf=\"!isNotOfRequiredSize && !isRoundCrop \">\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl title-margin font-weight-bold ws-mat-primary-text\" i18n>Edit Image</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>\r\n close</mat-icon>\r\n </div>\r\n <mat-dialog-content *ngIf=\"!isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"Slides\">\r\n <image-cropper #imageCropper class=\"image-cropper padding-remove\" [imageFile]=\"imageFile\"\r\n [maintainAspectRatio]=\"true\" [aspectRatio]=\"opWidth / opHeight\" [resizeToWidth]=\"opWidth\"\r\n [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"opHeight\" [cropperMinWidth]=\"opWidth\" [format]=\"'jpeg'\"\r\n [transform]=\"transform\" [canvasRotation]=\"canvasRotation\" (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n <div class=\"flex flex-between\">\r\n <span class=\"my-3\" i18n>Zoom</span>\r\n <mat-slider class=\"w-full mx-3\" color=\"primary\" (input)=\"zoom($event)\" min=\"1\" max=\"2.5\" step=\"0.1\">\r\n </mat-slider>\r\n </div>\r\n <div class=\"edit-feature-window \" *ngIf=\"!isXSmall\">\r\n <div class=\"flex flex-between\">\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <mat-card class=\"ws-mat-primary-border-top-bolder mat-elevation-z6 margin-bottom-l button-text\"\r\n *ngIf=\"isThumbnail\">\r\n <img [src]=\"imageFileBase64\" height=\"auto\" width=\"100%\" (error)=\"changeToDefaultImg($event)\" />\r\n <div class=\"flex flex-middle justify-center margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">image</mat-icon>\r\n <b class=\"mat-title margin-remove ws-mat-primary-text\" i18n>Preview</b>\r\n </div>\r\n </mat-card>\r\n </div>\r\n <div class=\"edit-feature-window heightwidth\">\r\n <!-- <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \" i18n>Cropped dimensions: {{ opWidth }} * {{ opHeight }} px</b>\r\n </div> -->\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Width: </span>\r\n <span>{{ croppedWidth }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_vert</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Height: </span>\r\n <span>{{ croppedHeight }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n </ng-container>\r\n <mat-dialog-actions align=\"end\" *ngIf=\"!isNotOfRequiredSize \">\r\n <div class=\"flex flex-end margin-bottom-s\">\r\n <!-- <button mat-raised-button type=\"button\" (click)=\" reset()\">\r\n <span i18n>Reset</span>\r\n </button> -->\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" croppingImage()\">\r\n <span class=\"text-white\" i18n>Apply</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n",
157
166
  styles: [".image-cropper{max-height:55vh}::ng-deep image-cropper .overlay{background-color:transparent!important}.Slides{display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto;padding:0 1.25em}.cursor{cursor:pointer}.edit-feature-window{background:0 0;justify-content:center}mat-toolbar{background-color:#fff!important;z-index:1!important}mat-dialog-content{padding:1.25em!important}.heightwidth{display:flex}@media only screen and (max-width:1030px){.Slides{padding:0;width:100%}mat-dialog-content{padding:.25em .5em!important}.heightwidth{display:block}.mat-button{min-width:auto;padding:0 14px}.button-text{display:none}}.largeicon{font-size:2em;padding:.13em .5em}.tooltip{background:#b71c1c}.dimension-icon{position:relative;top:.35em;padding:0 0 0 .3em}.image-cropper-profile{max-height:55vh}.profile-slides{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto}@media only screen and (max-width:1030px){.profile-slides{padding:0;width:100%}}.toolbar{left:50%;margin:1em 0 0 -10em;position:absolute;width:auto;border-radius:4px}.cf:after,.cf:before{content:\"\";display:table}.cf:after{clear:both}.toolbar li{float:left;list-style:none}.toolbar a{border-left:0 solid rgba(79,123,170,.4);border-right:1px solid rgba(255,255,255,.3)}.toolbar li:first-child a{border-left:none;border-radius:4px 0 0 4px}.toolbar li:last-child a{border-right:none;border-radius:0 4px 4px 0}"]
158
- }] }
167
+ },] }
159
168
  ];
160
169
  ImageCropComponent.ctorParameters = function () { return [
161
170
  { type: MatDialogRef },
@@ -170,31 +179,4 @@ var ImageCropComponent = (function () {
170
179
  return ImageCropComponent;
171
180
  }());
172
181
  export { ImageCropComponent };
173
- if (false) {
174
- ImageCropComponent.prototype.data;
175
- ImageCropComponent.prototype.isRoundCrop;
176
- ImageCropComponent.prototype.isNotOfRequiredSize;
177
- ImageCropComponent.prototype.imageFile;
178
- ImageCropComponent.prototype.cropimageFile;
179
- ImageCropComponent.prototype.imageFileBase64;
180
- ImageCropComponent.prototype.width;
181
- ImageCropComponent.prototype.height;
182
- ImageCropComponent.prototype.opHeight;
183
- ImageCropComponent.prototype.opWidth;
184
- ImageCropComponent.prototype.imageDimensions;
185
- ImageCropComponent.prototype.croppedHeight;
186
- ImageCropComponent.prototype.croppedWidth;
187
- ImageCropComponent.prototype.cropperReadyToStart;
188
- ImageCropComponent.prototype.fileName;
189
- ImageCropComponent.prototype.canvasRotation;
190
- ImageCropComponent.prototype.transform;
191
- ImageCropComponent.prototype.resetValue;
192
- ImageCropComponent.prototype.element;
193
- ImageCropComponent.prototype.isXSmall;
194
- ImageCropComponent.prototype.isThumbnail;
195
- ImageCropComponent.prototype.dialogRef;
196
- ImageCropComponent.prototype.configSvc;
197
- ImageCropComponent.prototype.snackBar;
198
- ImageCropComponent.prototype.valueSvc;
199
- }
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFHekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQzNELGtDQU1DOztJQUxDLG1DQUFxQjtJQUNyQixpQ0FBZ0I7SUFDaEIsOEJBQWU7SUFDZiw2QkFBYztJQUNkLHFDQUFxQjs7QUFFdkI7SUE2QkUsNEJBQ1UsU0FBMkMsRUFDM0MsU0FBZ0MsRUFDaEMsUUFBcUIsRUFDckIsUUFBc0IsRUFDTCxJQUFrQjtRQUpuQyxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUMzQyxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUNoQyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQWM7UUExQnRCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO1FBQ3pDLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBQ25CLHdCQUFtQixHQUFHLEtBQUssQ0FBQTtRQUczQixvQkFBZSxHQUFRLEVBQUUsQ0FBQTtRQUN6QixVQUFLLEdBQVEsRUFBRSxDQUFBO1FBQ2YsV0FBTSxHQUFRLEVBQUUsQ0FBQTtRQUdoQixvQkFBZSxHQUFRLEVBQUUsQ0FBQTtRQUN6QixrQkFBYSxHQUFRLEVBQUUs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aEMsc0NBQWE7SUFDYiw0Q0FBa0I7SUFDbEIsdUNBQThCO0lBQzlCLHdDQUFrQjtJQUNsQixxQ0FBWTtJQUNaLHNDQUFnQjtJQUNoQix5Q0FBa0I7SUFHaEIsdUNBQW1EO0lBQ25ELHVDQUF3QztJQUN4QyxzQ0FBNkI7SUFDN0Isc0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZydcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInXHJcblxyXG5pbXBvcnQgeyBJbWFnZUNyb3BwZWRFdmVudCwgSW1hZ2VUcmFuc2Zvcm0gfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcidcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuaW1wb3J0IHsgVmFsdWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFsdWUuc2VydmljZSdcclxuZXhwb3J0IGludGVyZmFjZSBJRGlhbG9ndWVEdGEge1xyXG4gIGlzUm91bmRDcm9wOiBib29sZWFuLFxyXG4gIGltYWdlRmlsZTogRmlsZSxcclxuICBoZWlnaHQ6IG51bWJlcixcclxuICB3aWR0aDogbnVtYmVyLFxyXG4gIGltYWdlRmlsZU5hbWU6IHN0cmluZ1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3MtdXRpbHMtaW1hZ2UtY3JvcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWNyb3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLWNyb3AuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy8gbmVlZCB0byBzZXQgZm9yIGNyZWF0b3IgTG9nb1xyXG4gIEBPdXRwdXQoKSBkYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlPigpXHJcbiAgaXNSb3VuZENyb3AgPSBmYWxzZVxyXG4gIGlzTm90T2ZSZXF1aXJlZFNpemUgPSBmYWxzZVxyXG4gIGltYWdlRmlsZSE6IEZpbGVcclxuICBjcm9waW1hZ2VGaWxlITogRmlsZVxyXG4gIGltYWdlRmlsZUJhc2U2NDogYW55ID0gJydcclxuICB3aWR0aDogYW55ID0gJydcclxuICBoZWlnaHQ6IGFueSA9ICcnXHJcbiAgb3BIZWlnaHQ6IGFueVxyXG4gIG9wV2lkdGg6IGFueVxyXG4gIGltYWdlRGltZW5zaW9uczogYW55ID0gJydcclxuICBjcm9wcGVkSGVpZ2h0OiBhbnkgPSAnJ1xyXG4gIGNyb3BwZWRXaWR0aDogYW55ID0gJydcclxuICBjcm9wcGVyUmVhZHlUb1N0YXJ0OiBhbnkgPSBmYWxzZVxyXG4gIGZpbGVOYW1lID0gJydcclxuICBjYW52YXNSb3RhdGlvbiA9IDBcclxuICB0cmFuc2Zvcm06IEltYWdlVHJhbnNmb3JtID0ge31cclxuICByZXNldFZhbHVlID0gZmFsc2VcclxuICBlbGVtZW50OiBhbnlcclxuICBpc1hTbWFsbCA9IGZhbHNlXHJcbiAgaXNUaHVtYm5haWwgPSB0cnVlXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxJbWFnZUNyb3BDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgcHJpdmF0ZSB2YWx1ZVN2YzogVmFsdWVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIGRhdGE6IElEaWFsb2d1ZUR0YVxyXG4gICkge1xyXG4gICAgdGhpcy5pc1JvdW5kQ3JvcCA9IGRhdGEuaXNSb3VuZENyb3BcclxuICAgIGlmIChkYXRhLmltYWdlRmlsZSkge1xyXG4gICAgICB0aGlzLmltYWdlRmlsZSA9IGRhdGEuaW1hZ2VGaWxlXHJcbiAgICB9XHJcbiAgICBpZiAoZGF0YS5pbWFnZUZpbGVOYW1lKSB7XHJcbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBkYXRhLmltYWdlRmlsZU5hbWVcclxuICAgIH1cclxuICAgIGlmICghZGF0YS5pc1JvdW5kQ3JvcCkge1xyXG4gICAgICBpZiAoZGF0YS5oZWlnaHQpIHtcclxuICAgICAgICB0aGlzLm9wSGVpZ2h0ID0gZGF0YS5oZWlnaHRcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGF0YS53aWR0aCkge1xyXG4gICAgICAgIHRoaXMub3BXaWR0aCA9IGRhdGEud2lkdGhcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50aHVtYm5haWxTaXplRGV0ZWN0aW9uKClcclxuICAgIHRoaXMudmFsdWVTdmMuaXNYU21hbGwkLnN1YnNjcmliZSgoaXNYU21hbGw6IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5pc1hTbWFsbCA9IGlzWFNtYWxsXHJcbiAgICAgIGlmICh0aGlzLmlzWFNtYWxsKSB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYudXBkYXRlU2l6ZSgnOTAlJylcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi51cGRhdGVTaXplKCc3MCUnKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIC8vIGRpc3BsYXlzIHRoZSBkZWZhdWx0IGltYWdlXHJcbiAgY2hhbmdlVG9EZWZhdWx0SW1nKCRldmVudDogYW55KSB7XHJcbiAgICAkZXZlbnQudGFyZ2V0LnNyYyA9IHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnID9cclxuICAgICAgdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcubG9nb3MuZGVmYXVsdENvbnRlbnQgOiAnJ1xyXG4gIH1cclxuXHJcbiAgLy8gaW1hZ2UgY3JvcHBpbmcgZXZlbnRcclxuICBpbWFnZUNyb3BwZWQoZXZlbnQ6IEltYWdlQ3JvcHBlZEV2ZW50KSB7XHJcblxyXG4gICAgdGhpcy5pbWFnZUZpbGVCYXNlNjQgPSBldmVudC5iYXNlNjQgLy8gc3RvcmUgdGhlIGNyb3BwZWQgaW1hZ2UgYXMgYSBiYXNlNjQgdmFsdWVcclxuICAgIHRoaXMuY3JvcGltYWdlRmlsZSA9IHRoaXMuYmFzZTY0SW1hZ2VUb0Jsb2IodGhpcy5pbWFnZUZpbGVCYXNlNjQpIC8vIGNvbnZlcnQgdGhlIGNyb3BwZWQgaW1hZ2UgYXMgYSBmaWxlXHJcbiAgICB0aGlzLmNyb3BwZWRIZWlnaHQgPSBldmVudC5oZWlnaHRcclxuICAgIHRoaXMuY3JvcHBlZFdpZHRoID0gZXZlbnQud2lkdGhcclxuXHJcbiAgfVxyXG5cclxuICBvcGVuU25hY2tCYXIobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgJ1gnLCB7XHJcbiAgICAgIGR1cmF0aW9uOiAyMDAwLFxyXG4gICAgfSlcclxuICB9XHJcbiAgY29udGludWVUb0ltYWdlQ3JvcCgpIHtcclxuICAgIHRoaXMuaXNOb3RPZlJlcXVpcmVkU2l6ZSA9IGZhbHNlXHJcbiAgfVxyXG5cclxuICAvLyBjaGVja3MgaWYgdGhlIGltYWdlIGlzIG9mIHRoZSBjb3JyZWN0IGRpbWVuc2lvbnNcclxuICB0aHVtYm5haWxTaXplRGV0ZWN0aW9uKCkge1xyXG4gICAgY29uc3QgZnIgPSBuZXcgRmlsZVJlYWRlcigpXHJcbiAgICBmci5yZWFkQXNEYXRhVVJMKHRoaXMuaW1hZ2VGaWxlKVxyXG4gICAgZnIub25sb2FkID0gKCkgPT4geyAvLyB3aGVuIGZpbGUgaGFzIGxvYWRlZFxyXG4gICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKVxyXG4gICAgICBpbWcuc3JjID0gZnIucmVzdWx0IGFzIHN0cmluZ1xyXG4gICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMud2lkdGggPSBpbWcud2lkdGhcclxuICAgICAgICB0aGlzLmhlaWdodCA9IGltZy5oZWlnaHRcclxuICAgICAgICBpZiAoIXRoaXMuaXNSb3VuZENyb3ApIHtcclxuICAgICAgICAgIGlmICgodGhpcy5oZWlnaHQgPT09IHRoaXMub3BIZWlnaHQpICYmICh0aGlzLndpZHRoID09PSB0aGlzLm9wV2lkdGgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlblNuYWNrQmFyKCdJbWFnZSBpcyBvZiB0aGUgcmVxdWlyZWQgZGltZW5zaW9ucyBvZiB0aGUgdGh1bWJuYWlsLCBjcm9waW5nIGlzIG5vdCBhdmFpbGFibGUhJylcclxuICAgICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoKHRoaXMuaGVpZ2h0IDwgdGhpcy5vcEhlaWdodCkgfHwgKHRoaXMud2lkdGggPCB0aGlzLm9wV2lkdGgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOb3RPZlJlcXVpcmVkU2l6ZSA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYmFzZTY0SW1hZ2VUb0Jsb2Ioc3RyOiBzdHJpbmcpOiBGaWxlIHtcclxuICAgIC8vIGV4dHJhY3QgY29udGVudCB0eXBlIGFuZCBiYXNlNjQgcGF5bG9hZCBmcm9tIG9yaWdpbmFsIHN0cmluZ1xyXG5cclxuICAgIGNvbnN0IHBvcyA9IHN0ci5pbmRleE9mKCc7YmFzZTY0LCcpXHJcbiAgICAvLyB2YXIgdHlwZSA9IHN0ci5zdWJzdHJpbmcoNSwgcG9zKTtcclxuICAgIGNvbnN0IGI2NCA9IHN0ci5zdWJzdHIocG9zICsgOClcclxuICAgIC8vIGRlY29kZSBiYXNlNjRcclxuICAgIGNvbnN0IGltYWdlQ29udGVudCA9IGF0b2IoYjY0KVxyXG4gICAgLy8gY3JlYXRlIGFuIEFycmF5QnVmZmVyIGFuZCBhIHZpZXcgKGFzIHVuc2lnbmVkIDgtYml0KVxyXG4gICAgY29uc3QgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGltYWdlQ29udGVudC5sZW5ndGgpXHJcbiAgICBjb25zdCB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKVxyXG4gICAgLy8gZmlsbCB0aGUgdmlldywgdXNpbmcgdGhlIGRlY29kZWQgYmFzZTY0XHJcbiAgICBmb3IgKGxldCBuID0gMDsgbiA8IGltYWdlQ29udGVudC5sZW5ndGg7IG4gPSBuICsgMSkge1xyXG4gICAgICB2aWV3W25dID0gaW1hZ2VDb250ZW50LmNoYXJDb2RlQXQobilcclxuICAgIH1cclxuICAgIC8vIGNvbnZlcnQgQXJyYXlCdWZmZXIgdG8gQmxvYlxyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt2aWV3XSwgeyB0eXBlOiAnaW1hZ2UvcG5nJyB9KVxyXG4gICAgY29uc3QgYjogYW55ID0gYmxvYlxyXG4gICAgLy8gQ2FzdCB0byBhIEZpbGUoKSB0eXBlXHJcbiAgICBiLmxhc3RNb2RpZmllZERhdGUgPSBuZXcgRGF0ZSgpXHJcbiAgICBiLm5hbWUgPSB0aGlzLmZpbGVOYW1lXHJcbiAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCB0aGlzLmZpbGVOYW1lLCB7IHR5cGU6ICdpbWFnZS9qcGVnJyB9KVxyXG4gICAgcmV0dXJuIGZpbGVcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZsaXBBZnRlclJvdGF0ZSgpIHtcclxuICAgIGNvbnN0IGZsaXBwZWRIID0gdGhpcy50cmFuc2Zvcm0uZmxpcEhcclxuICAgIGNvbnN0IGZsaXBwZWRWID0gdGhpcy50cmFuc2Zvcm0uZmxpcFZcclxuICAgIHRoaXMudHJhbnNmb3JtID0ge1xyXG4gICAgICAuLi50aGlzLnRyYW5zZm9ybSxcclxuICAgICAgZmxpcEg6IGZsaXBwZWRWLFxyXG4gICAgICBmbGlwVjogZmxpcHBlZEgsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3RhdGVMZWZ0KCkge1xyXG4gICAgdGhpcy5jYW52YXNSb3RhdGlvbiA9IHRoaXMuY2FudmFzUm90YXRpb24gLSAxXHJcbiAgICB0aGlzLmZsaXBBZnRlclJvdGF0ZSgpXHJcbiAgfVxyXG5cclxuICByb3RhdGVSaWdodCgpIHtcclxuICAgIHRoaXMuY2FudmFzUm90YXRpb24gPSB0aGlzLmNhbnZhc1JvdGF0aW9uICsgMVxyXG4gICAgdGhpcy5mbGlwQWZ0ZXJSb3RhdGUoKVxyXG4gIH1cclxuXHJcbiAgZmxpcEhvcml6b250YWwoKSB7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXHJcbiAgICAgIGZsaXBIOiAhdGhpcy50cmFuc2Zvcm0uZmxpcEgsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB6b29tKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucmVzZXRWYWx1ZSA9IGZhbHNlXHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXHJcbiAgICAgIHNjYWxlOiBldmVudC52YWx1ZSxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGNhbGxzIHdoZW4gYXBwbHkgYnV0dG9uIGlzIGNsaWNrZWQsYW5kIHJldHVybnMgdGhlIGNyb3BwZWQgaW1hZ2VcclxuICBjcm9wcGluZ0ltYWdlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5jcm9waW1hZ2VGaWxlKVxyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLnJlc2V0VmFsdWUgPSB0cnVlXHJcbiAgICB0aGlzLmNhbnZhc1JvdGF0aW9uID0gMFxyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7fVxyXG4gIH1cclxuICAvLyBjbG9zZXMgdGhlIGRpYWxvZyBib3hcclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKClcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBR3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQVEzRDtJQTZCRSw0QkFDVSxTQUEyQyxFQUMzQyxTQUFnQyxFQUNoQyxRQUFxQixFQUNyQixRQUFzQixFQUNMLElBQWtCO1FBSm5DLGNBQVMsR0FBVCxTQUFTLENBQWtDO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQTFCdEIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFDekMsZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUFDbkIsd0JBQW1CLEdBQUcsS0FBSyxDQUFBO1FBRzNCLG9CQUFlLEdBQVEsRUFBRSxDQUFBO1FBQ3pCLFVBQUssR0FBUSxFQUFFLENBQUE7UUFDZixXQUFNLEdBQVEsRUFBRSxDQUFBO1FBR2hCLG9CQUFlLEdBQVEsRUFBRSxDQUFBO1FBQ3pCLGtCQUFhLEdBQVEsRUFBRSxDQUFBO1FBQ3ZCLGlCQUFZLEdBQVEsRUFBRSxDQUFBO1FBQ3RCLHdCQUFtQixHQUFRLEtBQUssQ0FBQTtRQUNo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T3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnXHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJ1xyXG5cclxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVkRXZlbnQsIEltYWdlVHJhbnNmb3JtIH0gZnJvbSAnbmd4LWltYWdlLWNyb3BwZXInXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcbmltcG9ydCB7IFZhbHVlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbHVlLnNlcnZpY2UnXHJcbmV4cG9ydCBpbnRlcmZhY2UgSURpYWxvZ3VlRHRhIHtcclxuICBpc1JvdW5kQ3JvcDogYm9vbGVhbixcclxuICBpbWFnZUZpbGU6IEZpbGUsXHJcbiAgaGVpZ2h0OiBudW1iZXIsXHJcbiAgd2lkdGg6IG51bWJlcixcclxuICBpbWFnZUZpbGVOYW1lOiBzdHJpbmdcclxufVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dzLXV0aWxzLWltYWdlLWNyb3AnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1jcm9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1jcm9wLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUNyb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vIG5lZWQgdG8gc2V0IGZvciBjcmVhdG9yIExvZ29cclxuICBAT3V0cHV0KCkgZGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZT4oKVxyXG4gIGlzUm91bmRDcm9wID0gZmFsc2VcclxuICBpc05vdE9mUmVxdWlyZWRTaXplID0gZmFsc2VcclxuICBpbWFnZUZpbGUhOiBGaWxlXHJcbiAgY3JvcGltYWdlRmlsZSE6IEZpbGVcclxuICBpbWFnZUZpbGVCYXNlNjQ6IGFueSA9ICcnXHJcbiAgd2lkdGg6IGFueSA9ICcnXHJcbiAgaGVpZ2h0OiBhbnkgPSAnJ1xyXG4gIG9wSGVpZ2h0OiBhbnlcclxuICBvcFdpZHRoOiBhbnlcclxuICBpbWFnZURpbWVuc2lvbnM6IGFueSA9ICcnXHJcbiAgY3JvcHBlZEhlaWdodDogYW55ID0gJydcclxuICBjcm9wcGVkV2lkdGg6IGFueSA9ICcnXHJcbiAgY3JvcHBlclJlYWR5VG9TdGFydDogYW55ID0gZmFsc2VcclxuICBmaWxlTmFtZSA9ICcnXHJcbiAgY2FudmFzUm90YXRpb24gPSAwXHJcbiAgdHJhbnNmb3JtOiBJbWFnZVRyYW5zZm9ybSA9IHt9XHJcbiAgcmVzZXRWYWx1ZSA9IGZhbHNlXHJcbiAgZWxlbWVudDogYW55XHJcbiAgaXNYU21hbGwgPSBmYWxzZVxyXG4gIGlzVGh1bWJuYWlsID0gdHJ1ZVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8SW1hZ2VDcm9wQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIHByaXZhdGUgdmFsdWVTdmM6IFZhbHVlU2VydmljZSxcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBJRGlhbG9ndWVEdGFcclxuICApIHtcclxuICAgIHRoaXMuaXNSb3VuZENyb3AgPSBkYXRhLmlzUm91bmRDcm9wXHJcbiAgICBpZiAoZGF0YS5pbWFnZUZpbGUpIHtcclxuICAgICAgdGhpcy5pbWFnZUZpbGUgPSBkYXRhLmltYWdlRmlsZVxyXG4gICAgfVxyXG4gICAgaWYgKGRhdGEuaW1hZ2VGaWxlTmFtZSkge1xyXG4gICAgICB0aGlzLmZpbGVOYW1lID0gZGF0YS5pbWFnZUZpbGVOYW1lXHJcbiAgICB9XHJcbiAgICBpZiAoIWRhdGEuaXNSb3VuZENyb3ApIHtcclxuICAgICAgaWYgKGRhdGEuaGVpZ2h0KSB7XHJcbiAgICAgICAgdGhpcy5vcEhlaWdodCA9IGRhdGEuaGVpZ2h0XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRhdGEud2lkdGgpIHtcclxuICAgICAgICB0aGlzLm9wV2lkdGggPSBkYXRhLndpZHRoXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGh1bWJuYWlsU2l6ZURldGVjdGlvbigpXHJcbiAgICB0aGlzLnZhbHVlU3ZjLmlzWFNtYWxsJC5zdWJzY3JpYmUoKGlzWFNtYWxsOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNYU21hbGwgPSBpc1hTbWFsbFxyXG4gICAgICBpZiAodGhpcy5pc1hTbWFsbCkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLnVwZGF0ZVNpemUoJzkwJScpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYudXBkYXRlU2l6ZSgnNzAlJylcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICAvLyBkaXNwbGF5cyB0aGUgZGVmYXVsdCBpbWFnZVxyXG4gIGNoYW5nZVRvRGVmYXVsdEltZygkZXZlbnQ6IGFueSkge1xyXG4gICAgJGV2ZW50LnRhcmdldC5zcmMgPSB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZyA/XHJcbiAgICAgIHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnLmxvZ29zLmRlZmF1bHRDb250ZW50IDogJydcclxuICB9XHJcblxyXG4gIC8vIGltYWdlIGNyb3BwaW5nIGV2ZW50XHJcbiAgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCkge1xyXG5cclxuICAgIHRoaXMuaW1hZ2VGaWxlQmFzZTY0ID0gZXZlbnQuYmFzZTY0IC8vIHN0b3JlIHRoZSBjcm9wcGVkIGltYWdlIGFzIGEgYmFzZTY0IHZhbHVlXHJcbiAgICB0aGlzLmNyb3BpbWFnZUZpbGUgPSB0aGlzLmJhc2U2NEltYWdlVG9CbG9iKHRoaXMuaW1hZ2VGaWxlQmFzZTY0KSAvLyBjb252ZXJ0IHRoZSBjcm9wcGVkIGltYWdlIGFzIGEgZmlsZVxyXG4gICAgdGhpcy5jcm9wcGVkSGVpZ2h0ID0gZXZlbnQuaGVpZ2h0XHJcbiAgICB0aGlzLmNyb3BwZWRXaWR0aCA9IGV2ZW50LndpZHRoXHJcblxyXG4gIH1cclxuXHJcbiAgb3BlblNuYWNrQmFyKG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICdYJywge1xyXG4gICAgICBkdXJhdGlvbjogMjAwMCxcclxuICAgIH0pXHJcbiAgfVxyXG4gIGNvbnRpbnVlVG9JbWFnZUNyb3AoKSB7XHJcbiAgICB0aGlzLmlzTm90T2ZSZXF1aXJlZFNpemUgPSBmYWxzZVxyXG4gIH1cclxuXHJcbiAgLy8gY2hlY2tzIGlmIHRoZSBpbWFnZSBpcyBvZiB0aGUgY29ycmVjdCBkaW1lbnNpb25zXHJcbiAgdGh1bWJuYWlsU2l6ZURldGVjdGlvbigpIHtcclxuICAgIGNvbnN0IGZyID0gbmV3IEZpbGVSZWFkZXIoKVxyXG4gICAgZnIucmVhZEFzRGF0YVVSTCh0aGlzLmltYWdlRmlsZSlcclxuICAgIGZyLm9ubG9hZCA9ICgpID0+IHsgLy8gd2hlbiBmaWxlIGhhcyBsb2FkZWRcclxuICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKClcclxuICAgICAgaW1nLnNyYyA9IGZyLnJlc3VsdCBhcyBzdHJpbmdcclxuICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLndpZHRoID0gaW1nLndpZHRoXHJcbiAgICAgICAgdGhpcy5oZWlnaHQgPSBpbWcuaGVpZ2h0XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzUm91bmRDcm9wKSB7XHJcbiAgICAgICAgICBpZiAoKHRoaXMuaGVpZ2h0ID09PSB0aGlzLm9wSGVpZ2h0KSAmJiAodGhpcy53aWR0aCA9PT0gdGhpcy5vcFdpZHRoKSkge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5TbmFja0JhcignSW1hZ2UgaXMgb2YgdGhlIHJlcXVpcmVkIGRpbWVuc2lvbnMgb2YgdGhlIHRodW1ibmFpbCwgY3JvcGluZyBpcyBub3QgYXZhaWxhYmxlIScpXHJcbiAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCh0aGlzLmhlaWdodCA8IHRoaXMub3BIZWlnaHQpIHx8ICh0aGlzLndpZHRoIDwgdGhpcy5vcFdpZHRoKSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzTm90T2ZSZXF1aXJlZFNpemUgPSB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGJhc2U2NEltYWdlVG9CbG9iKHN0cjogc3RyaW5nKTogRmlsZSB7XHJcbiAgICAvLyBleHRyYWN0IGNvbnRlbnQgdHlwZSBhbmQgYmFzZTY0IHBheWxvYWQgZnJvbSBvcmlnaW5hbCBzdHJpbmdcclxuXHJcbiAgICBjb25zdCBwb3MgPSBzdHIuaW5kZXhPZignO2Jhc2U2NCwnKVxyXG4gICAgLy8gdmFyIHR5cGUgPSBzdHIuc3Vic3RyaW5nKDUsIHBvcyk7XHJcbiAgICBjb25zdCBiNjQgPSBzdHIuc3Vic3RyKHBvcyArIDgpXHJcbiAgICAvLyBkZWNvZGUgYmFzZTY0XHJcbiAgICBjb25zdCBpbWFnZUNvbnRlbnQgPSBhdG9iKGI2NClcclxuICAgIC8vIGNyZWF0ZSBhbiBBcnJheUJ1ZmZlciBhbmQgYSB2aWV3IChhcyB1bnNpZ25lZCA4LWJpdClcclxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihpbWFnZUNvbnRlbnQubGVuZ3RoKVxyXG4gICAgY29uc3QgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlcilcclxuICAgIC8vIGZpbGwgdGhlIHZpZXcsIHVzaW5nIHRoZSBkZWNvZGVkIGJhc2U2NFxyXG4gICAgZm9yIChsZXQgbiA9IDA7IG4gPCBpbWFnZUNvbnRlbnQubGVuZ3RoOyBuID0gbiArIDEpIHtcclxuICAgICAgdmlld1tuXSA9IGltYWdlQ29udGVudC5jaGFyQ29kZUF0KG4pXHJcbiAgICB9XHJcbiAgICAvLyBjb252ZXJ0IEFycmF5QnVmZmVyIHRvIEJsb2JcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbdmlld10sIHsgdHlwZTogJ2ltYWdlL3BuZycgfSlcclxuICAgIGNvbnN0IGI6IGFueSA9IGJsb2JcclxuICAgIC8vIENhc3QgdG8gYSBGaWxlKCkgdHlwZVxyXG4gICAgYi5sYXN0TW9kaWZpZWREYXRlID0gbmV3IERhdGUoKVxyXG4gICAgYi5uYW1lID0gdGhpcy5maWxlTmFtZVxyXG4gICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgdGhpcy5maWxlTmFtZSwgeyB0eXBlOiAnaW1hZ2UvanBlZycgfSlcclxuICAgIHJldHVybiBmaWxlXHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmbGlwQWZ0ZXJSb3RhdGUoKSB7XHJcbiAgICBjb25zdCBmbGlwcGVkSCA9IHRoaXMudHJhbnNmb3JtLmZsaXBIXHJcbiAgICBjb25zdCBmbGlwcGVkViA9IHRoaXMudHJhbnNmb3JtLmZsaXBWXHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXHJcbiAgICAgIGZsaXBIOiBmbGlwcGVkVixcclxuICAgICAgZmxpcFY6IGZsaXBwZWRILFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcm90YXRlTGVmdCgpIHtcclxuICAgIHRoaXMuY2FudmFzUm90YXRpb24gPSB0aGlzLmNhbnZhc1JvdGF0aW9uIC0gMVxyXG4gICAgdGhpcy5mbGlwQWZ0ZXJSb3RhdGUoKVxyXG4gIH1cclxuXHJcbiAgcm90YXRlUmlnaHQoKSB7XHJcbiAgICB0aGlzLmNhbnZhc1JvdGF0aW9uID0gdGhpcy5jYW52YXNSb3RhdGlvbiArIDFcclxuICAgIHRoaXMuZmxpcEFmdGVyUm90YXRlKClcclxuICB9XHJcblxyXG4gIGZsaXBIb3Jpem9udGFsKCkge1xyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7XHJcbiAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxyXG4gICAgICBmbGlwSDogIXRoaXMudHJhbnNmb3JtLmZsaXBILFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgem9vbShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnJlc2V0VmFsdWUgPSBmYWxzZVxyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7XHJcbiAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxyXG4gICAgICBzY2FsZTogZXZlbnQudmFsdWUsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBjYWxscyB3aGVuIGFwcGx5IGJ1dHRvbiBpcyBjbGlja2VkLGFuZCByZXR1cm5zIHRoZSBjcm9wcGVkIGltYWdlXHJcbiAgY3JvcHBpbmdJbWFnZSgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuY3JvcGltYWdlRmlsZSlcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5yZXNldFZhbHVlID0gdHJ1ZVxyXG4gICAgdGhpcy5jYW52YXNSb3RhdGlvbiA9IDBcclxuICAgIHRoaXMudHJhbnNmb3JtID0ge31cclxuICB9XHJcbiAgLy8gY2xvc2VzIHRoZSBkaWFsb2cgYm94XHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,6 +1,12 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
- import { MatButtonModule, MatCardModule, MatDialogModule, MatIconModule, MatToolbarModule, MatTooltipModule, MatSliderModule, } from '@angular/material';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatCardModule } from '@angular/material/card';
5
+ import { MatDialogModule } from '@angular/material/dialog';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatSliderModule } from '@angular/material/slider';
8
+ import { MatToolbarModule } from '@angular/material/toolbar';
9
+ import { MatTooltipModule } from '@angular/material/tooltip';
4
10
  import { ImageCropperModule } from 'ngx-image-cropper';
5
11
  import { ImageCropComponent } from './image-crop.component';
6
12
  var ImageCropModule = (function () {
@@ -28,4 +34,4 @@ var ImageCropModule = (function () {
28
34
  return ImageCropModule;
29
35
  }());
30
36
  export { ImageCropModule };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsZUFBZSxFQUNmLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUUzRDtJQUFBO0lBaUIrQixDQUFDOztnQkFqQi9CLFFBQVEsU0FBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixlQUFlLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDdEM7O0lBQzhCLHNCQUFDO0NBQUEsQUFqQmhDLElBaUJnQztTQUFuQixlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7XHJcbiAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gIE1hdENhcmRNb2R1bGUsXHJcbiAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gIE1hdEljb25Nb2R1bGUsXHJcbiAgTWF0VG9vbGJhck1vZHVsZSxcclxuICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gIE1hdFNsaWRlck1vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCdcclxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyTW9kdWxlIH0gZnJvbSAnbmd4LWltYWdlLWNyb3BwZXInXHJcbmltcG9ydCB7IEltYWdlQ3JvcENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtY3JvcC5jb21wb25lbnQnXHJcbi8vIEBkeW5hbWljXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbSW1hZ2VDcm9wQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJbWFnZUNyb3BwZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0ltYWdlQ3JvcENvbXBvbmVudF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbSW1hZ2VDcm9wQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcE1vZHVsZSB7IH1cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUUzRDtJQUFBO0lBaUIrQixDQUFDOztnQkFqQi9CLFFBQVEsU0FBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixlQUFlLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDdEM7O0lBQzhCLHNCQUFDO0NBQUEsQUFqQmhDLElBaUJnQztTQUFuQixlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbidcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJ1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInXG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcidcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xyXG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJNb2R1bGUgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcidcclxuaW1wb3J0IHsgSW1hZ2VDcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS1jcm9wLmNvbXBvbmVudCdcclxuLy8gQGR5bmFtaWNcclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtJbWFnZUNyb3BDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEltYWdlQ3JvcHBlck1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRTbGlkZXJNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbSW1hZ2VDcm9wQ29tcG9uZW50XSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtJbWFnZUNyb3BDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1hZ2VDcm9wTW9kdWxlIHsgfVxyXG4iXX0=