@firestitch/common 8.0.11 → 12.0.0

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 (224) hide show
  1. package/app/directives/autofocus.directive.d.ts +3 -0
  2. package/app/directives/prevent-default.directive.d.ts +3 -0
  3. package/app/directives/stop-propagation.directive.d.ts +3 -0
  4. package/app/fs-common.module.d.ts +15 -1
  5. package/app/pipes/bytes.pipe.d.ts +3 -0
  6. package/app/pipes/currency.pipe.d.ts +3 -0
  7. package/app/pipes/number.pipe.d.ts +3 -0
  8. package/app/pipes/ordinal-number.pipe.d.ts +3 -0
  9. package/app/pipes/truncate.pipe.d.ts +3 -0
  10. package/app/pipes/util.pipe.d.ts +9 -0
  11. package/app/services/array.service.d.ts +3 -0
  12. package/app/services/math.service.d.ts +3 -0
  13. package/app/services/util.service.d.ts +3 -0
  14. package/app/services/vaildate.service.d.ts +3 -0
  15. package/bundles/firestitch-common.umd.js +821 -2453
  16. package/bundles/firestitch-common.umd.js.map +1 -1
  17. package/esm2015/app/directives/autofocus.directive.js +12 -33
  18. package/esm2015/app/directives/prevent-default.directive.js +13 -18
  19. package/esm2015/app/directives/stop-propagation.directive.js +13 -18
  20. package/esm2015/app/fs-common.module.js +65 -44
  21. package/esm2015/app/pipes/bytes.pipe.js +10 -15
  22. package/esm2015/app/pipes/currency.pipe.js +13 -28
  23. package/esm2015/app/pipes/number.pipe.js +10 -16
  24. package/esm2015/app/pipes/ordinal-number.pipe.js +10 -15
  25. package/esm2015/app/pipes/truncate.pipe.js +10 -20
  26. package/esm2015/app/pipes/util.pipe.js +34 -45
  27. package/esm2015/app/services/array.service.js +63 -190
  28. package/esm2015/app/services/math.service.js +9 -17
  29. package/esm2015/app/services/util.service.js +65 -244
  30. package/esm2015/app/services/vaildate.service.js +12 -32
  31. package/esm2015/firestitch-common.js +2 -16
  32. package/esm2015/libs/array/compare/compare.js +1 -12
  33. package/esm2015/libs/array/compare/index.js +2 -7
  34. package/esm2015/libs/array/filter/filter.js +7 -33
  35. package/esm2015/libs/array/filter/index.js +2 -7
  36. package/esm2015/libs/array/find/find.js +1 -12
  37. package/esm2015/libs/array/find/index.js +2 -7
  38. package/esm2015/libs/array/inArray/inArray.js +1 -11
  39. package/esm2015/libs/array/inArray/index.js +2 -7
  40. package/esm2015/libs/array/index/index.js +5 -21
  41. package/esm2015/libs/array/index.js +14 -19
  42. package/esm2015/libs/array/indexOf/index.js +2 -7
  43. package/esm2015/libs/array/indexOf/indexOf.js +3 -18
  44. package/esm2015/libs/array/keyExists/index.js +2 -7
  45. package/esm2015/libs/array/keyExists/keyExists.js +1 -11
  46. package/esm2015/libs/array/ksort/index.js +2 -7
  47. package/esm2015/libs/array/ksort/ksort.js +3 -17
  48. package/esm2015/libs/array/list/index.js +2 -7
  49. package/esm2015/libs/array/list/list.js +3 -20
  50. package/esm2015/libs/array/nameValue/index.js +2 -7
  51. package/esm2015/libs/array/nameValue/nameValue.js +9 -40
  52. package/esm2015/libs/array/remove/index.js +2 -7
  53. package/esm2015/libs/array/remove/remove.js +1 -12
  54. package/esm2015/libs/array/rsort/index.js +2 -7
  55. package/esm2015/libs/array/rsort/rsort.js +1 -11
  56. package/esm2015/libs/array/sort/index.js +2 -7
  57. package/esm2015/libs/array/sort/sort.js +3 -20
  58. package/esm2015/libs/format/acronym/acronym.js +1 -13
  59. package/esm2015/libs/format/acronym/index.js +2 -7
  60. package/esm2015/libs/format/bytes/bytes.js +1 -12
  61. package/esm2015/libs/format/bytes/index.js +2 -7
  62. package/esm2015/libs/format/currency/currency.js +1 -14
  63. package/esm2015/libs/format/currency/index.js +2 -7
  64. package/esm2015/libs/format/index.js +6 -11
  65. package/esm2015/libs/format/number/index.js +2 -7
  66. package/esm2015/libs/format/number/number.js +1 -11
  67. package/esm2015/libs/format/truncate/index.js +2 -7
  68. package/esm2015/libs/format/truncate/truncate.js +1 -14
  69. package/esm2015/libs/index.js +5 -10
  70. package/esm2015/libs/rxjs/delayedRetry.js +5 -43
  71. package/esm2015/libs/util/boolean/boolean.js +1 -10
  72. package/esm2015/libs/util/boolean/index.js +2 -7
  73. package/esm2015/libs/util/debounce/debounce.js +6 -29
  74. package/esm2015/libs/util/debounce/index.js +2 -7
  75. package/esm2015/libs/util/get-normalized-path/get-normalized-path.js +1 -11
  76. package/esm2015/libs/util/get-normalized-path/index.js +1 -6
  77. package/esm2015/libs/util/guid/guid.js +3 -20
  78. package/esm2015/libs/util/guid/index.js +2 -7
  79. package/esm2015/libs/util/index.js +15 -20
  80. package/esm2015/libs/util/isClass/index.js +2 -7
  81. package/esm2015/libs/util/isClass/isClass.js +1 -11
  82. package/esm2015/libs/util/isEmpty/index.js +2 -7
  83. package/esm2015/libs/util/isEmpty/isEmpty.js +1 -11
  84. package/esm2015/libs/util/isNumeric/index.js +2 -7
  85. package/esm2015/libs/util/isNumeric/isNumeric.js +1 -11
  86. package/esm2015/libs/util/keys/index.js +2 -7
  87. package/esm2015/libs/util/keys/keys.js +1 -43
  88. package/esm2015/libs/util/length/index.js +2 -7
  89. package/esm2015/libs/util/length/length.js +1 -10
  90. package/esm2015/libs/util/ordinal-number/ordinal-number.js +1 -13
  91. package/esm2015/libs/util/queue/index.js +2 -7
  92. package/esm2015/libs/util/queue/operation.js +1 -18
  93. package/esm2015/libs/util/queue/queue.enum.js +6 -12
  94. package/esm2015/libs/util/queue/queue.js +14 -168
  95. package/esm2015/libs/util/remove-query-params/index.js +1 -6
  96. package/esm2015/libs/util/remove-query-params/remove-query-params.js +1 -10
  97. package/esm2015/libs/util/resolve/index.js +2 -7
  98. package/esm2015/libs/util/resolve/resolve.js +6 -29
  99. package/esm2015/libs/util/stringify/index.js +2 -7
  100. package/esm2015/libs/util/stringify/stringify.js +1 -10
  101. package/esm2015/libs/util/throttle/index.js +2 -7
  102. package/esm2015/libs/util/throttle/throttle.js +6 -23
  103. package/esm2015/libs/util/uuid/index.js +2 -7
  104. package/esm2015/libs/util/uuid/uuid.js +1 -9
  105. package/esm2015/libs/util/value/index.js +2 -7
  106. package/esm2015/libs/util/value/value.js +1 -12
  107. package/esm2015/libs/validate/email/email.js +1 -10
  108. package/esm2015/libs/validate/email/index.js +2 -7
  109. package/esm2015/libs/validate/index.js +4 -9
  110. package/esm2015/libs/validate/phone/index.js +2 -7
  111. package/esm2015/libs/validate/phone/phone.js +1 -11
  112. package/esm2015/libs/validate/url/index.js +2 -7
  113. package/esm2015/libs/validate/url/url.js +1 -12
  114. package/esm2015/public_api.js +11 -7
  115. package/fesm2015/firestitch-common.js +418 -1808
  116. package/fesm2015/firestitch-common.js.map +1 -1
  117. package/firestitch-common.d.ts +1 -9
  118. package/libs/array/index/index.d.ts +1 -1
  119. package/libs/util/queue/queue.d.ts +9 -9
  120. package/package.json +7 -11
  121. package/public_api.d.ts +9 -0
  122. package/bundles/firestitch-common.umd.min.js +0 -16
  123. package/bundles/firestitch-common.umd.min.js.map +0 -1
  124. package/esm5/app/directives/autofocus.directive.js +0 -45
  125. package/esm5/app/directives/prevent-default.directive.js +0 -32
  126. package/esm5/app/directives/stop-propagation.directive.js +0 -32
  127. package/esm5/app/fs-common.module.js +0 -79
  128. package/esm5/app/pipes/bytes.pipe.js +0 -30
  129. package/esm5/app/pipes/currency.pipe.js +0 -43
  130. package/esm5/app/pipes/number.pipe.js +0 -32
  131. package/esm5/app/pipes/ordinal-number.pipe.js +0 -30
  132. package/esm5/app/pipes/truncate.pipe.js +0 -38
  133. package/esm5/app/pipes/util.pipe.js +0 -100
  134. package/esm5/app/services/array.service.js +0 -491
  135. package/esm5/app/services/math.service.js +0 -42
  136. package/esm5/app/services/util.service.js +0 -608
  137. package/esm5/app/services/vaildate.service.js +0 -63
  138. package/esm5/firestitch-common.js +0 -19
  139. package/esm5/libs/array/compare/compare.js +0 -19
  140. package/esm5/libs/array/compare/index.js +0 -7
  141. package/esm5/libs/array/filter/filter.js +0 -53
  142. package/esm5/libs/array/filter/index.js +0 -7
  143. package/esm5/libs/array/find/find.js +0 -17
  144. package/esm5/libs/array/find/index.js +0 -7
  145. package/esm5/libs/array/inArray/inArray.js +0 -22
  146. package/esm5/libs/array/inArray/index.js +0 -7
  147. package/esm5/libs/array/index/index.js +0 -24
  148. package/esm5/libs/array/index.js +0 -19
  149. package/esm5/libs/array/indexOf/index.js +0 -7
  150. package/esm5/libs/array/indexOf/indexOf.js +0 -31
  151. package/esm5/libs/array/keyExists/index.js +0 -7
  152. package/esm5/libs/array/keyExists/keyExists.js +0 -14
  153. package/esm5/libs/array/ksort/index.js +0 -7
  154. package/esm5/libs/array/ksort/ksort.js +0 -22
  155. package/esm5/libs/array/list/index.js +0 -7
  156. package/esm5/libs/array/list/list.js +0 -31
  157. package/esm5/libs/array/nameValue/index.js +0 -7
  158. package/esm5/libs/array/nameValue/nameValue.js +0 -52
  159. package/esm5/libs/array/remove/index.js +0 -7
  160. package/esm5/libs/array/remove/remove.js +0 -20
  161. package/esm5/libs/array/rsort/index.js +0 -7
  162. package/esm5/libs/array/rsort/rsort.js +0 -15
  163. package/esm5/libs/array/sort/index.js +0 -7
  164. package/esm5/libs/array/sort/sort.js +0 -45
  165. package/esm5/libs/format/acronym/acronym.js +0 -35
  166. package/esm5/libs/format/acronym/index.js +0 -7
  167. package/esm5/libs/format/bytes/bytes.js +0 -23
  168. package/esm5/libs/format/bytes/index.js +0 -7
  169. package/esm5/libs/format/currency/currency.js +0 -23
  170. package/esm5/libs/format/currency/index.js +0 -7
  171. package/esm5/libs/format/index.js +0 -11
  172. package/esm5/libs/format/number/index.js +0 -7
  173. package/esm5/libs/format/number/number.js +0 -14
  174. package/esm5/libs/format/truncate/index.js +0 -7
  175. package/esm5/libs/format/truncate/truncate.js +0 -28
  176. package/esm5/libs/index.js +0 -11
  177. package/esm5/libs/rxjs/delayedRetry.js +0 -65
  178. package/esm5/libs/util/boolean/boolean.js +0 -14
  179. package/esm5/libs/util/boolean/index.js +0 -7
  180. package/esm5/libs/util/debounce/debounce.js +0 -40
  181. package/esm5/libs/util/debounce/index.js +0 -7
  182. package/esm5/libs/util/get-normalized-path/get-normalized-path.js +0 -16
  183. package/esm5/libs/util/get-normalized-path/index.js +0 -7
  184. package/esm5/libs/util/guid/guid.js +0 -37
  185. package/esm5/libs/util/guid/index.js +0 -7
  186. package/esm5/libs/util/index.js +0 -23
  187. package/esm5/libs/util/isClass/index.js +0 -7
  188. package/esm5/libs/util/isClass/isClass.js +0 -28
  189. package/esm5/libs/util/isEmpty/index.js +0 -7
  190. package/esm5/libs/util/isEmpty/isEmpty.js +0 -23
  191. package/esm5/libs/util/isNumeric/index.js +0 -7
  192. package/esm5/libs/util/isNumeric/isNumeric.js +0 -16
  193. package/esm5/libs/util/keys/index.js +0 -7
  194. package/esm5/libs/util/keys/keys.js +0 -80
  195. package/esm5/libs/util/length/index.js +0 -7
  196. package/esm5/libs/util/length/length.js +0 -20
  197. package/esm5/libs/util/ordinal-number/ordinal-number.js +0 -22
  198. package/esm5/libs/util/queue/index.js +0 -8
  199. package/esm5/libs/util/queue/operation.js +0 -30
  200. package/esm5/libs/util/queue/queue.enum.js +0 -12
  201. package/esm5/libs/util/queue/queue.js +0 -367
  202. package/esm5/libs/util/remove-query-params/index.js +0 -7
  203. package/esm5/libs/util/remove-query-params/remove-query-params.js +0 -13
  204. package/esm5/libs/util/resolve/index.js +0 -7
  205. package/esm5/libs/util/resolve/resolve.js +0 -34
  206. package/esm5/libs/util/stringify/index.js +0 -7
  207. package/esm5/libs/util/stringify/stringify.js +0 -13
  208. package/esm5/libs/util/throttle/index.js +0 -7
  209. package/esm5/libs/util/throttle/throttle.js +0 -30
  210. package/esm5/libs/util/uuid/index.js +0 -7
  211. package/esm5/libs/util/uuid/uuid.js +0 -13
  212. package/esm5/libs/util/value/index.js +0 -7
  213. package/esm5/libs/util/value/value.js +0 -20
  214. package/esm5/libs/validate/email/email.js +0 -13
  215. package/esm5/libs/validate/email/index.js +0 -7
  216. package/esm5/libs/validate/index.js +0 -9
  217. package/esm5/libs/validate/phone/index.js +0 -7
  218. package/esm5/libs/validate/phone/phone.js +0 -15
  219. package/esm5/libs/validate/url/index.js +0 -7
  220. package/esm5/libs/validate/url/url.js +0 -23
  221. package/esm5/public_api.js +0 -17
  222. package/fesm5/firestitch-common.js +0 -3284
  223. package/fesm5/firestitch-common.js.map +0 -1
  224. package/firestitch-common.metadata.json +0 -1
@@ -1,100 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: app/pipes/util.pipe.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Pipe } from '@angular/core';
7
- import { stringify } from '../../libs/util/stringify/stringify';
8
- import { guid } from '../../libs/util/guid/guid';
9
- import { isEmpty } from '../../libs/util/isEmpty/isEmpty';
10
- var FsUtilStringifyPipe = /** @class */ (function () {
11
- function FsUtilStringifyPipe() {
12
- }
13
- /**
14
- * @param {?} value
15
- * @return {?}
16
- */
17
- FsUtilStringifyPipe.prototype.transform = /**
18
- * @param {?} value
19
- * @return {?}
20
- */
21
- function (value) {
22
- return stringify(value);
23
- };
24
- FsUtilStringifyPipe.decorators = [
25
- { type: Pipe, args: [{
26
- name: 'fsUtilStringify'
27
- },] }
28
- ];
29
- /** @nocollapse */
30
- FsUtilStringifyPipe.ctorParameters = function () { return []; };
31
- return FsUtilStringifyPipe;
32
- }());
33
- export { FsUtilStringifyPipe };
34
- var FsUtilGuidPipe = /** @class */ (function () {
35
- function FsUtilGuidPipe() {
36
- }
37
- /**
38
- * @return {?}
39
- */
40
- FsUtilGuidPipe.prototype.transform = /**
41
- * @return {?}
42
- */
43
- function () {
44
- return guid();
45
- };
46
- FsUtilGuidPipe.decorators = [
47
- { type: Pipe, args: [{
48
- name: 'fsUtilGuid'
49
- },] }
50
- ];
51
- /** @nocollapse */
52
- FsUtilGuidPipe.ctorParameters = function () { return []; };
53
- return FsUtilGuidPipe;
54
- }());
55
- export { FsUtilGuidPipe };
56
- var FsUtilIsEmptyPipe = /** @class */ (function () {
57
- function FsUtilIsEmptyPipe() {
58
- }
59
- /**
60
- * @param {?} value
61
- * @return {?}
62
- */
63
- FsUtilIsEmptyPipe.prototype.transform = /**
64
- * @param {?} value
65
- * @return {?}
66
- */
67
- function (value) {
68
- return isEmpty(value);
69
- };
70
- FsUtilIsEmptyPipe.decorators = [
71
- { type: Pipe, args: [{
72
- name: 'fsUtilIsEmpty'
73
- },] }
74
- ];
75
- return FsUtilIsEmptyPipe;
76
- }());
77
- export { FsUtilIsEmptyPipe };
78
- var FsUtilIsNotEmptyPipe = /** @class */ (function () {
79
- function FsUtilIsNotEmptyPipe() {
80
- }
81
- /**
82
- * @param {?} value
83
- * @return {?}
84
- */
85
- FsUtilIsNotEmptyPipe.prototype.transform = /**
86
- * @param {?} value
87
- * @return {?}
88
- */
89
- function (value) {
90
- return !isEmpty(value);
91
- };
92
- FsUtilIsNotEmptyPipe.decorators = [
93
- { type: Pipe, args: [{
94
- name: 'fsUtilIsNotEmpty'
95
- },] }
96
- ];
97
- return FsUtilIsNotEmptyPipe;
98
- }());
99
- export { FsUtilIsNotEmptyPipe };
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvY29tbW9uLyIsInNvdXJjZXMiOlsiYXBwL3BpcGVzL3V0aWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzFEO0lBS0U7SUFBZSxDQUFDOzs7OztJQUVoQix1Q0FBUzs7OztJQUFULFVBQVUsS0FBVTtRQUNsQixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOztnQkFURixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtpQkFDeEI7Ozs7SUFRRCwwQkFBQztDQUFBLEFBVkQsSUFVQztTQVBZLG1CQUFtQjtBQVVoQztJQUlFO0lBQWUsQ0FBQzs7OztJQUVoQixrQ0FBUzs7O0lBQVQ7UUFDRSxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7O2dCQVJGLElBQUksU0FBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtpQkFDbkI7Ozs7SUFPRCxxQkFBQztDQUFBLEFBVEQsSUFTQztTQU5ZLGNBQWM7QUFRM0I7SUFBQTtJQVFBLENBQUM7Ozs7O0lBSEMscUNBQVM7Ozs7SUFBVCxVQUFVLEtBQUs7UUFDYixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDOztnQkFQRixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLGVBQWU7aUJBQ3RCOztJQU1ELHdCQUFDO0NBQUEsQUFSRCxJQVFDO1NBTFksaUJBQWlCO0FBUTlCO0lBQUE7SUFRQSxDQUFDOzs7OztJQUhDLHdDQUFTOzs7O0lBQVQsVUFBVSxLQUFLO1FBQ2IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDOztnQkFQRixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtpQkFDekI7O0lBTUQsMkJBQUM7Q0FBQSxBQVJELElBUUM7U0FMWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuLi8uLi9saWJzL3V0aWwvc3RyaW5naWZ5L3N0cmluZ2lmeSc7XG5pbXBvcnQgeyBndWlkIH0gZnJvbSAnLi4vLi4vbGlicy91dGlsL2d1aWQvZ3VpZCc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vbGlicy91dGlsL2lzRW1wdHkvaXNFbXB0eSc7XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnZnNVdGlsU3RyaW5naWZ5J1xufSlcbmV4cG9ydCBjbGFzcyBGc1V0aWxTdHJpbmdpZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyaW5naWZ5KHZhbHVlKTtcbiAgfVxufVxuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZzVXRpbEd1aWQnXG59KVxuZXhwb3J0IGNsYXNzIEZzVXRpbEd1aWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB0cmFuc2Zvcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ3VpZCgpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZzVXRpbElzRW1wdHknXG59KVxuZXhwb3J0IGNsYXNzIEZzVXRpbElzRW1wdHlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlKTogYW55IHtcbiAgICByZXR1cm4gaXNFbXB0eSh2YWx1ZSk7XG4gIH1cbn1cblxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmc1V0aWxJc05vdEVtcHR5J1xufSlcbmV4cG9ydCBjbGFzcyBGc1V0aWxJc05vdEVtcHR5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWx1ZSk6IGFueSB7XG4gICAgcmV0dXJuICFpc0VtcHR5KHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -1,491 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: app/services/array.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Injectable } from '@angular/core';
7
- var FsArray = /** @class */ (function () {
8
- function FsArray() {
9
- }
10
- /**
11
- * @deprecated use import { nameValue } from @firestitch/common/array; instead
12
- */
13
- /**
14
- * @deprecated use import { nameValue } from \@firestitch/common/array; instead
15
- * @param {?} array
16
- * @param {?} name
17
- * @param {?} value
18
- * @return {?}
19
- */
20
- FsArray.prototype.nameValue = /**
21
- * @deprecated use import { nameValue } from \@firestitch/common/array; instead
22
- * @param {?} array
23
- * @param {?} name
24
- * @param {?} value
25
- * @return {?}
26
- */
27
- function (array, name, value) {
28
- console.warn('@deprecated use import { nameValue } from @firestitch/common/array; instead');
29
- /** @type {?} */
30
- var list = [];
31
- if (name || value) {
32
- /** @type {?} */
33
- var nameFn_1 = typeof name === 'function' ? name : (/**
34
- * @param {?} item
35
- * @return {?}
36
- */
37
- function (item) { return item[name]; });
38
- /** @type {?} */
39
- var valueFn_1 = typeof value === 'function' ? value : (/**
40
- * @param {?} item
41
- * @return {?}
42
- */
43
- function (item) { return item[value]; });
44
- array.forEach((/**
45
- * @param {?} item
46
- * @return {?}
47
- */
48
- function (item) {
49
- list.push({ name: nameFn_1(item), value: valueFn_1(item) });
50
- }));
51
- }
52
- else {
53
- array.forEach((/**
54
- * @param {?} name
55
- * @param {?} value
56
- * @return {?}
57
- */
58
- function (name, value) {
59
- list.push({ name: name, value: value });
60
- }));
61
- }
62
- return list;
63
- };
64
- /**
65
- * @deprecated use import { remove } from @firestitch/common/array; instead
66
- */
67
- /**
68
- * @deprecated use import { remove } from \@firestitch/common/array; instead
69
- * @param {?} array
70
- * @param {?} query
71
- * @return {?}
72
- */
73
- FsArray.prototype.remove = /**
74
- * @deprecated use import { remove } from \@firestitch/common/array; instead
75
- * @param {?} array
76
- * @param {?} query
77
- * @return {?}
78
- */
79
- function (array, query) {
80
- console.warn('@deprecated use import { remove } from @firestitch/common/array; instead');
81
- /** @type {?} */
82
- var idx = this.indexOf(array, query);
83
- if (idx >= 0) {
84
- return array.splice(idx, 1);
85
- }
86
- return idx;
87
- };
88
- /**
89
- * @deprecated use import { indexOf } from @firestitch/common/array; instead
90
- */
91
- /**
92
- * @deprecated use import { indexOf } from \@firestitch/common/array; instead
93
- * @param {?} array
94
- * @param {?} query
95
- * @return {?}
96
- */
97
- FsArray.prototype.indexOf = /**
98
- * @deprecated use import { indexOf } from \@firestitch/common/array; instead
99
- * @param {?} array
100
- * @param {?} query
101
- * @return {?}
102
- */
103
- function (array, query) {
104
- var _this = this;
105
- console.warn('@deprecated use import { indexOf } from @firestitch/common/array; instead');
106
- if (typeof query !== 'function') {
107
- /** @type {?} */
108
- var queryObj_1 = query;
109
- query = (/**
110
- * @param {?} item
111
- * @return {?}
112
- */
113
- function (item) {
114
- return _this.compare(queryObj_1, item);
115
- });
116
- }
117
- for (var i = 0, len = array.length; i < len; i++) {
118
- if (query(array[i])) {
119
- return i;
120
- }
121
- }
122
- return -1;
123
- };
124
- /**
125
- * @deprecated use import { compare } from @firestitch/common/array; instead
126
- */
127
- /**
128
- * @deprecated use import { compare } from \@firestitch/common/array; instead
129
- * @param {?} query
130
- * @param {?} item
131
- * @return {?}
132
- */
133
- FsArray.prototype.compare = /**
134
- * @deprecated use import { compare } from \@firestitch/common/array; instead
135
- * @param {?} query
136
- * @param {?} item
137
- * @return {?}
138
- */
139
- function (query, item) {
140
- console.warn('@deprecated use import { compare } from @firestitch/common/array; instead');
141
- /** @type {?} */
142
- var value = true;
143
- for (var key in query) {
144
- value = value && item[key] == query[key];
145
- }
146
- return value;
147
- };
148
- /**
149
- * @deprecated use import { filter } from @firestitch/common/array; instead
150
- */
151
- /**
152
- * @deprecated use import { filter } from \@firestitch/common/array; instead
153
- * @param {?} array
154
- * @param {?} query
155
- * @return {?}
156
- */
157
- FsArray.prototype.filter = /**
158
- * @deprecated use import { filter } from \@firestitch/common/array; instead
159
- * @param {?} array
160
- * @param {?} query
161
- * @return {?}
162
- */
163
- function (array, query) {
164
- var _this = this;
165
- console.warn('@deprecated use import { filter } from @firestitch/common/array; instead');
166
- if (typeof query !== 'function') {
167
- /** @type {?} */
168
- var queryObj_2 = query;
169
- query = (/**
170
- * @param {?} item
171
- * @return {?}
172
- */
173
- function (item) {
174
- return _this.compare(queryObj_2, item);
175
- });
176
- }
177
- /** @type {?} */
178
- var isarray = Array.isArray(array);
179
- /** @type {?} */
180
- var list = isarray ? [] : {};
181
- if (isarray)
182
- array.forEach((/**
183
- * @param {?} item
184
- * @param {?} idx
185
- * @return {?}
186
- */
187
- function (item, idx) {
188
- if (query(item)) {
189
- list.push(item);
190
- }
191
- }));
192
- else
193
- Object.keys(array).forEach((/**
194
- * @param {?} key
195
- * @return {?}
196
- */
197
- function (key) {
198
- if (query(array[key])) {
199
- list[key] = array[key];
200
- }
201
- }));
202
- return list;
203
- };
204
- /**
205
- * @deprecated use import { index } from @firestitch/common/array; instead
206
- */
207
- /**
208
- * @deprecated use import { index } from \@firestitch/common/array; instead
209
- * @param {?} array
210
- * @param {?} property
211
- * @return {?}
212
- */
213
- FsArray.prototype.index = /**
214
- * @deprecated use import { index } from \@firestitch/common/array; instead
215
- * @param {?} array
216
- * @param {?} property
217
- * @return {?}
218
- */
219
- function (array, property) {
220
- console.warn('@deprecated use import { index } from @firestitch/common/array; instead');
221
- /** @type {?} */
222
- var list = {};
223
- array.forEach((/**
224
- * @param {?} item
225
- * @param {?} idx
226
- * @return {?}
227
- */
228
- function (item, idx) {
229
- list[item[property]] = item;
230
- }));
231
- return list;
232
- };
233
- /**
234
- * @deprecated use import { sort } from @firestitch/common/array; instead
235
- */
236
- /**
237
- * @deprecated use import { sort } from \@firestitch/common/array; instead
238
- * @param {?} array
239
- * @param {?} query
240
- * @param {?=} reverse
241
- * @return {?}
242
- */
243
- FsArray.prototype.sort = /**
244
- * @deprecated use import { sort } from \@firestitch/common/array; instead
245
- * @param {?} array
246
- * @param {?} query
247
- * @param {?=} reverse
248
- * @return {?}
249
- */
250
- function (array, query, reverse) {
251
- if (reverse === void 0) { reverse = false; }
252
- console.warn('@deprecated use import { sort } from @firestitch/common/array; instead');
253
- if (typeof query !== 'function') {
254
- /** @type {?} */
255
- var queryStr_1 = query;
256
- query = (/**
257
- * @param {?} a
258
- * @param {?} b
259
- * @return {?}
260
- */
261
- function (a, b) {
262
- if (reverse) {
263
- if (a[queryStr_1] < b[queryStr_1]) {
264
- return 1;
265
- }
266
- else if (a[queryStr_1] > b[queryStr_1]) {
267
- return -1;
268
- }
269
- }
270
- else {
271
- if (a[queryStr_1] > b[queryStr_1]) {
272
- return 1;
273
- }
274
- else if (a[queryStr_1] < b[queryStr_1]) {
275
- return -1;
276
- }
277
- }
278
- return 0;
279
- });
280
- }
281
- array.sort(query);
282
- return array;
283
- };
284
- /**
285
- * @deprecated use import { rsort } from @firestitch/common/array; instead
286
- */
287
- /**
288
- * @deprecated use import { rsort } from \@firestitch/common/array; instead
289
- * @param {?} array
290
- * @param {?} query
291
- * @return {?}
292
- */
293
- FsArray.prototype.rsort = /**
294
- * @deprecated use import { rsort } from \@firestitch/common/array; instead
295
- * @param {?} array
296
- * @param {?} query
297
- * @return {?}
298
- */
299
- function (array, query) {
300
- console.warn('@deprecated use import { rsort } from @firestitch/common/array; instead');
301
- return this.sort(array, query, true);
302
- };
303
- /**
304
- * @deprecated use import { list } from @firestitch/common/array; instead
305
- */
306
- /**
307
- * @deprecated use import { list } from \@firestitch/common/array; instead
308
- * @param {?} array
309
- * @param {?} property
310
- * @param {?=} index
311
- * @return {?}
312
- */
313
- FsArray.prototype.list = /**
314
- * @deprecated use import { list } from \@firestitch/common/array; instead
315
- * @param {?} array
316
- * @param {?} property
317
- * @param {?=} index
318
- * @return {?}
319
- */
320
- function (array, property, index) {
321
- if (index === void 0) { index = null; }
322
- console.warn('@deprecated use import { list } from @firestitch/common/array; instead');
323
- /** @type {?} */
324
- var list = index ? {} : [];
325
- array.forEach((/**
326
- * @param {?} item
327
- * @param {?} idx
328
- * @return {?}
329
- */
330
- function (item, idx) {
331
- if (index) {
332
- list[item[index]] = item[property];
333
- }
334
- else {
335
- list.push(item[property]);
336
- }
337
- }));
338
- return list;
339
- };
340
- /**
341
- * @deprecated use import { applyDepth } from @firestitch/common/array; instead
342
- */
343
- /**
344
- * @deprecated use import { applyDepth } from \@firestitch/common/array; instead
345
- * @param {?} objects
346
- * @param {?} parent_property
347
- * @param {?=} id_property
348
- * @param {?=} depth_property
349
- * @return {?}
350
- */
351
- FsArray.prototype.applyDepth = /**
352
- * @deprecated use import { applyDepth } from \@firestitch/common/array; instead
353
- * @param {?} objects
354
- * @param {?} parent_property
355
- * @param {?=} id_property
356
- * @param {?=} depth_property
357
- * @return {?}
358
- */
359
- function (objects, parent_property, id_property, depth_property) {
360
- if (id_property === void 0) { id_property = 'id'; }
361
- if (depth_property === void 0) { depth_property = 'depth'; }
362
- console.warn('@deprecated use import { applyDepth } from @firestitch/common/array; instead');
363
- /** @type {?} */
364
- var keyed = {};
365
- objects.forEach((/**
366
- * @param {?} object
367
- * @return {?}
368
- */
369
- function (object) {
370
- if (!object[parent_property]) {
371
- object[depth_property] = 0;
372
- }
373
- keyed[object[id_property]] = object;
374
- }));
375
- Object.keys(keyed).forEach((/**
376
- * @param {?} key
377
- * @return {?}
378
- */
379
- function (key) {
380
- Object.keys(keyed).forEach((/**
381
- * @param {?} key
382
- * @return {?}
383
- */
384
- function (key) {
385
- /** @type {?} */
386
- var object = keyed[key];
387
- if (!keyed[key][depth_property]) {
388
- if (keyed[key][parent_property]) {
389
- keyed[key][depth_property] = keyed[keyed[key][parent_property]][depth_property] + 1;
390
- }
391
- }
392
- }));
393
- }));
394
- return keyed;
395
- };
396
- /**
397
- * @deprecated use import { inArray } from @firestitch/common/array; instead
398
- */
399
- /**
400
- * @deprecated use import { inArray } from \@firestitch/common/array; instead
401
- * @param {?} values
402
- * @param {?} array
403
- * @return {?}
404
- */
405
- FsArray.prototype.inArray = /**
406
- * @deprecated use import { inArray } from \@firestitch/common/array; instead
407
- * @param {?} values
408
- * @param {?} array
409
- * @return {?}
410
- */
411
- function (values, array) {
412
- console.warn('@deprecated use import { inArray } from @firestitch/common/array; instead');
413
- if (!Array.isArray(values)) {
414
- values = [values];
415
- }
416
- for (var i = 0, len = values.length; i < len; i++) {
417
- if (array.indexOf(values[i]) >= 0) {
418
- return true;
419
- }
420
- }
421
- return false;
422
- };
423
- /**
424
- * @deprecated use import { keyExists } from @firestitch/common/array; instead
425
- */
426
- /**
427
- * @deprecated use import { keyExists } from \@firestitch/common/array; instead
428
- * @param {?} array
429
- * @param {?} key
430
- * @return {?}
431
- */
432
- FsArray.prototype.keyExists = /**
433
- * @deprecated use import { keyExists } from \@firestitch/common/array; instead
434
- * @param {?} array
435
- * @param {?} key
436
- * @return {?}
437
- */
438
- function (array, key) {
439
- console.warn('@deprecated use import { keyExists } from @firestitch/common/array; instead');
440
- return array.hasOwnProperty(key);
441
- };
442
- /**
443
- * @deprecated use import { length } from @firestitch/common/array; instead
444
- */
445
- /**
446
- * @deprecated use import { length } from \@firestitch/common/array; instead
447
- * @param {?} array
448
- * @return {?}
449
- */
450
- FsArray.prototype.length = /**
451
- * @deprecated use import { length } from \@firestitch/common/array; instead
452
- * @param {?} array
453
- * @return {?}
454
- */
455
- function (array) {
456
- console.warn('@deprecated use import { length } from @firestitch/common/array; instead');
457
- return array.length;
458
- };
459
- /**
460
- * @deprecated use import { ksort } from @firestitch/common/array; instead
461
- */
462
- /**
463
- * @deprecated use import { ksort } from \@firestitch/common/array; instead
464
- * @param {?} unordered
465
- * @return {?}
466
- */
467
- FsArray.prototype.ksort = /**
468
- * @deprecated use import { ksort } from \@firestitch/common/array; instead
469
- * @param {?} unordered
470
- * @return {?}
471
- */
472
- function (unordered) {
473
- console.warn('@deprecated use import { ksort } from @firestitch/common/array; instead');
474
- Object.keys(unordered).sort().forEach((/**
475
- * @param {?} key
476
- * @return {?}
477
- */
478
- function (key) {
479
- /** @type {?} */
480
- var value = unordered[key];
481
- delete unordered[key];
482
- unordered[key] = value;
483
- }));
484
- };
485
- FsArray.decorators = [
486
- { type: Injectable }
487
- ];
488
- return FsArray;
489
- }());
490
- export { FsArray };
491
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2NvbW1vbi8iLCJzb3VyY2VzIjpbImFwcC9zZXJ2aWNlcy9hcnJheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQztJQUFBO0lBb1BBLENBQUM7SUFsUEc7O01BRUU7Ozs7Ozs7O0lBQ0ssMkJBQVM7Ozs7Ozs7SUFBaEIsVUFBaUIsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkVBQTZFLENBQUMsQ0FBQzs7WUFDeEYsSUFBSSxHQUFHLEVBQUU7UUFDYixJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7O2dCQUVYLFFBQU0sR0FBRyxPQUFPLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDOzs7O1lBQUMsVUFBVSxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUE7O2dCQUNsRixTQUFPLEdBQUcsT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7OztZQUFDLFVBQVUsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFBO1lBRTFGLEtBQUssQ0FBQyxPQUFPOzs7O1lBQUMsVUFBVSxJQUFJO2dCQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1RCxDQUFDLEVBQUMsQ0FBQztTQUVOO2FBQU07WUFDSCxLQUFLLENBQUMsT0FBTzs7Ozs7WUFBQyxVQUFVLElBQUksRUFBRSxLQUFLO2dCQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM1QyxDQUFDLEVBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztNQUVFOzs7Ozs7O0lBQ0ssd0JBQU07Ozs7OztJQUFiLFVBQWMsS0FBSyxFQUFFLEtBQUs7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQywwRUFBMEUsQ0FBQyxDQUFDOztZQUNyRixHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBRXBDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0I7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRDs7TUFFRTs7Ozs7OztJQUNLLHlCQUFPOzs7Ozs7SUFBZCxVQUFlLEtBQUssRUFBRSxLQUFLO1FBQTNCLGlCQWlCQztRQWhCRyxPQUFPLENBQUMsSUFBSSxDQUFDLDJFQUEyRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUU7O2dCQUN6QixVQUFRLEdBQUcsS0FBSztZQUNwQixLQUFLOzs7O1lBQUcsVUFBQyxJQUFJO2dCQUVULE9BQU8sS0FBSSxDQUFDLE9BQU8sQ0FBQyxVQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFBLENBQUE7U0FDSjtRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxDQUFDO2FBQ1o7U0FDSjtRQUVELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQ7O01BRUU7Ozs7Ozs7SUFDSyx5QkFBTzs7Ozs7O0lBQWQsVUFBZSxLQUFLLEVBQUUsSUFBSTtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLDJFQUEyRSxDQUFDLENBQUM7O1lBQ3RGLEtBQUssR0FBRyxJQUFJO1FBQ2hCLEtBQUssSUFBSSxHQUFHLElBQUksS0FBSyxFQUFFO1lBQ25CLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM1QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7TUFFRTs7Ozs7OztJQUNLLHdCQUFNOzs7Ozs7SUFBYixVQUFjLEtBQUssRUFBRSxLQUFLO1FBQTFCLGlCQXdCQztRQXZCRyxPQUFPLENBQUMsSUFBSSxDQUFDLDBFQUEwRSxDQUFDLENBQUM7UUFDekYsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUU7O2dCQUN6QixVQUFRLEdBQUcsS0FBSztZQUNwQixLQUFLOzs7O1lBQUcsVUFBQyxJQUFJO2dCQUVULE9BQU8sS0FBSSxDQUFDLE9BQU8sQ0FBQyxVQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFBLENBQUE7U0FDSjs7WUFFRyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7O1lBQzlCLElBQUksR0FBUSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNqQyxJQUFJLE9BQU87WUFDUCxLQUFLLENBQUMsT0FBTzs7Ozs7WUFBQyxVQUFVLElBQUksRUFBRSxHQUFHO2dCQUM3QixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNuQjtZQUNMLENBQUMsRUFBQyxDQUFDOztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTzs7OztZQUFDLFVBQUEsR0FBRztnQkFDL0IsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzFCO1lBQ0wsQ0FBQyxFQUFDLENBQUE7UUFDRixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O01BRUU7Ozs7Ozs7SUFDSyx1QkFBSzs7Ozs7O0lBQVosVUFBYSxLQUFLLEVBQUUsUUFBUTtRQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLHlFQUF5RSxDQUFDLENBQUM7O1lBQ3BGLElBQUksR0FBRyxFQUFFO1FBQ2IsS0FBSyxDQUFDLE9BQU87Ozs7O1FBQUMsVUFBVSxJQUFJLEVBQUUsR0FBRztZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUMsRUFBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUdEOztNQUVFOzs7Ozs7OztJQUNLLHNCQUFJOzs7Ozs7O0lBQVgsVUFBWSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQWU7UUFBZix3QkFBQSxFQUFBLGVBQWU7UUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyx3RUFBd0UsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFOztnQkFDekIsVUFBUSxHQUFHLEtBQUs7WUFDcEIsS0FBSzs7Ozs7WUFBRyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNsQixJQUFJLE9BQU8sRUFBRTtvQkFDVCxJQUFJLENBQUMsQ0FBQyxVQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBUSxDQUFDLEVBQUU7d0JBQzNCLE9BQU8sQ0FBQyxDQUFDO3FCQUNaO3lCQUFNLElBQUksQ0FBQyxDQUFDLFVBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFRLENBQUMsRUFBRTt3QkFDbEMsT0FBTyxDQUFDLENBQUMsQ0FBQztxQkFDYjtpQkFDSjtxQkFBTTtvQkFDSCxJQUFJLENBQUMsQ0FBQyxVQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBUSxDQUFDLEVBQUU7d0JBQzNCLE9BQU8sQ0FBQyxDQUFDO3FCQUNaO3lCQUFNLElBQUksQ0FBQyxDQUFDLFVBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFRLENBQUMsRUFBRTt3QkFDbEMsT0FBTyxDQUFDLENBQUMsQ0FBQztxQkFDYjtpQkFDSjtnQkFDRCxPQUFPLENBQUMsQ0FBQztZQUNiLENBQUMsQ0FBQSxDQUFDO1NBQ0w7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7TUFFRTs7Ozs7OztJQUNLLHVCQUFLOzs7Ozs7SUFBWixVQUFhLEtBQUssRUFBRSxLQUFLO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMseUVBQXlFLENBQUMsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR0Q7O01BRUU7Ozs7Ozs7O0lBQ0ssc0JBQUk7Ozs7Ozs7SUFBWCxVQUFZLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBWTtRQUFaLHNCQUFBLEVBQUEsWUFBWTtRQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLHdFQUF3RSxDQUFDLENBQUM7O1lBQ25GLElBQUksR0FBUSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUMvQixLQUFLLENBQUMsT0FBTzs7Ozs7UUFBQyxVQUFVLElBQUksRUFBRSxHQUFHO1lBQzdCLElBQUksS0FBSyxFQUFFO2dCQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUM3QjtRQUNMLENBQUMsRUFBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztNQUVFOzs7Ozs7Ozs7SUFDSyw0QkFBVTs7Ozs7Ozs7SUFBakIsVUFBa0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFrQixFQUFFLGNBQXdCO1FBQTVDLDRCQUFBLEVBQUEsa0JBQWtCO1FBQUUsK0JBQUEsRUFBQSx3QkFBd0I7UUFDcEYsT0FBTyxDQUFDLElBQUksQ0FBQyw4RUFBOEUsQ0FBQyxDQUFDOztZQUN6RixLQUFLLEdBQUcsRUFBRTtRQUNkLE9BQU8sQ0FBQyxPQUFPOzs7O1FBQUMsVUFBVSxNQUFNO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQzFCLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDOUI7WUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3hDLENBQUMsRUFBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxHQUFHO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTzs7OztZQUFDLFVBQUEsR0FBRzs7b0JBQ3RCLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFO29CQUM3QixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRTt3QkFDN0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3ZGO2lCQUNKO1lBQ0wsQ0FBQyxFQUFDLENBQUE7UUFDTixDQUFDLEVBQUMsQ0FBQTtRQUVGLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7TUFFRTs7Ozs7OztJQUNGLHlCQUFPOzs7Ozs7SUFBUCxVQUFRLE1BQU0sRUFBRSxLQUFLO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkVBQTJFLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQjtRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDL0IsT0FBTyxJQUFJLENBQUM7YUFDZjtTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOztNQUVFOzs7Ozs7O0lBQ0YsMkJBQVM7Ozs7OztJQUFULFVBQVUsS0FBSyxFQUFFLEdBQUc7UUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO1FBQzVGLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O01BRUU7Ozs7OztJQUNGLHdCQUFNOzs7OztJQUFOLFVBQU8sS0FBSztRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsMEVBQTBFLENBQUMsQ0FBQztRQUN6RixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVEOztNQUVFOzs7Ozs7SUFDRix1QkFBSzs7Ozs7SUFBTCxVQUFNLFNBQVM7UUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLHlFQUF5RSxDQUFDLENBQUM7UUFDeEYsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPOzs7O1FBQUMsVUFBVSxHQUFHOztnQkFDM0MsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDMUIsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7O2dCQWpQSixVQUFVOztJQW9QWCxjQUFDO0NBQUEsQUFwUEQsSUFvUEM7U0FuUFksT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZzQXJyYXkge1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBuYW1lVmFsdWUgfSBmcm9tIEBmaXJlc3RpdGNoL2NvbW1vbi9hcnJheTsgaW5zdGVhZFxuICAgICovXG4gICAgcHVibGljIG5hbWVWYWx1ZShhcnJheSwgbmFtZSwgdmFsdWUpOiBBcnJheTxhbnk+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsgbmFtZVZhbHVlIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWQnKTtcbiAgICAgICAgbGV0IGxpc3QgPSBbXTtcbiAgICAgICAgaWYgKG5hbWUgfHwgdmFsdWUpIHtcblxuICAgICAgICAgICAgbGV0IG5hbWVGbiA9IHR5cGVvZiBuYW1lID09PSAnZnVuY3Rpb24nID8gbmFtZSA6IGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBpdGVtW25hbWVdIH07XG4gICAgICAgICAgICBsZXQgdmFsdWVGbiA9IHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IHZhbHVlIDogZnVuY3Rpb24gKGl0ZW0pIHsgcmV0dXJuIGl0ZW1bdmFsdWVdIH07XG5cbiAgICAgICAgICAgIGFycmF5LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICBsaXN0LnB1c2goeyBuYW1lOiBuYW1lRm4oaXRlbSksIHZhbHVlOiB2YWx1ZUZuKGl0ZW0pIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFycmF5LmZvckVhY2goZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsgcmVtb3ZlIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWRcbiAgICAqL1xuICAgIHB1YmxpYyByZW1vdmUoYXJyYXksIHF1ZXJ5KTogYW55IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsgcmVtb3ZlIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWQnKTtcbiAgICAgICAgbGV0IGlkeCA9IHRoaXMuaW5kZXhPZihhcnJheSwgcXVlcnkpO1xuXG4gICAgICAgIGlmIChpZHggPj0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGFycmF5LnNwbGljZShpZHgsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlkeDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsgaW5kZXhPZiB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkXG4gICAgKi9cbiAgICBwdWJsaWMgaW5kZXhPZihhcnJheSwgcXVlcnkpOiBudW1iZXIge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0BkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWQnKTtcbiAgICAgICAgaWYgKHR5cGVvZiBxdWVyeSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbGV0IHF1ZXJ5T2JqID0gcXVlcnk7XG4gICAgICAgICAgICBxdWVyeSA9IChpdGVtKSA9PiB7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKHF1ZXJ5T2JqLCBpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBhcnJheS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgaWYgKHF1ZXJ5KGFycmF5W2ldKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBjb21wYXJlIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWRcbiAgICAqL1xuICAgIHB1YmxpYyBjb21wYXJlKHF1ZXJ5LCBpdGVtKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnNvbGUud2FybignQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGNvbXBhcmUgfSBmcm9tIEBmaXJlc3RpdGNoL2NvbW1vbi9hcnJheTsgaW5zdGVhZCcpO1xuICAgICAgICBsZXQgdmFsdWUgPSB0cnVlO1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcXVlcnkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgJiYgaXRlbVtrZXldID09IHF1ZXJ5W2tleV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGZpbHRlciB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkXG4gICAgKi9cbiAgICBwdWJsaWMgZmlsdGVyKGFycmF5LCBxdWVyeSk6IEFycmF5PGFueT4ge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0BkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIEBmaXJlc3RpdGNoL2NvbW1vbi9hcnJheTsgaW5zdGVhZCcpO1xuICAgICAgICBpZiAodHlwZW9mIHF1ZXJ5ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBsZXQgcXVlcnlPYmogPSBxdWVyeTtcbiAgICAgICAgICAgIHF1ZXJ5ID0gKGl0ZW0pID0+IHtcblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUocXVlcnlPYmosIGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlzYXJyYXkgPSBBcnJheS5pc0FycmF5KGFycmF5KTtcbiAgICAgICAgbGV0IGxpc3Q6IGFueSA9IGlzYXJyYXkgPyBbXSA6IHt9O1xuICAgICAgICBpZiAoaXNhcnJheSlcbiAgICAgICAgICAgIGFycmF5LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGlkeCkge1xuICAgICAgICAgICAgICAgIGlmIChxdWVyeShpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIGVsc2UgT2JqZWN0LmtleXMoYXJyYXkpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmIChxdWVyeShhcnJheVtrZXldKSkge1xuICAgICAgICAgICAgICAgIGxpc3Rba2V5XSA9IGFycmF5W2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBpbmRleCB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkXG4gICAgKi9cbiAgICBwdWJsaWMgaW5kZXgoYXJyYXksIHByb3BlcnR5KTogT2JqZWN0IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsgaW5kZXggfSBmcm9tIEBmaXJlc3RpdGNoL2NvbW1vbi9hcnJheTsgaW5zdGVhZCcpO1xuICAgICAgICBsZXQgbGlzdCA9IHt9O1xuICAgICAgICBhcnJheS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtLCBpZHgpIHtcbiAgICAgICAgICAgIGxpc3RbaXRlbVtwcm9wZXJ0eV1dID0gaXRlbTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IHNvcnQgfSBmcm9tIEBmaXJlc3RpdGNoL2NvbW1vbi9hcnJheTsgaW5zdGVhZFxuICAgICovXG4gICAgcHVibGljIHNvcnQoYXJyYXksIHF1ZXJ5LCByZXZlcnNlID0gZmFsc2UpOiBBcnJheTxhbnk+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsgc29ydCB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkJyk7XG4gICAgICAgIGlmICh0eXBlb2YgcXVlcnkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGxldCBxdWVyeVN0ciA9IHF1ZXJ5O1xuICAgICAgICAgICAgcXVlcnkgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgICAgICAgIGlmIChyZXZlcnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhW3F1ZXJ5U3RyXSA8IGJbcXVlcnlTdHJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhW3F1ZXJ5U3RyXSA+IGJbcXVlcnlTdHJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYVtxdWVyeVN0cl0gPiBiW3F1ZXJ5U3RyXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYVtxdWVyeVN0cl0gPCBiW3F1ZXJ5U3RyXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFycmF5LnNvcnQocXVlcnkpO1xuICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IHJzb3J0IH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWRcbiAgICAqL1xuICAgIHB1YmxpYyByc29ydChhcnJheSwgcXVlcnkpOiBBcnJheTxhbnk+IHtcbiAgICAgIGNvbnNvbGUud2FybignQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IHJzb3J0IH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWQnKTtcbiAgICAgIHJldHVybiB0aGlzLnNvcnQoYXJyYXksIHF1ZXJ5LCB0cnVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBsaXN0IH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWRcbiAgICAqL1xuICAgIHB1YmxpYyBsaXN0KGFycmF5LCBwcm9wZXJ0eSwgaW5kZXggPSBudWxsKTogT2JqZWN0IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsgbGlzdCB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkJyk7XG4gICAgICAgIGxldCBsaXN0OiBhbnkgPSBpbmRleCA/IHt9IDogW107XG4gICAgICAgIGFycmF5LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGlkeCkge1xuICAgICAgICAgICAgaWYgKGluZGV4KSB7XG4gICAgICAgICAgICAgICAgbGlzdFtpdGVtW2luZGV4XV0gPSBpdGVtW3Byb3BlcnR5XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGl0ZW1bcHJvcGVydHldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBhcHBseURlcHRoIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWRcbiAgICAqL1xuICAgIHB1YmxpYyBhcHBseURlcHRoKG9iamVjdHMsIHBhcmVudF9wcm9wZXJ0eSwgaWRfcHJvcGVydHkgPSAnaWQnLCBkZXB0aF9wcm9wZXJ0eSA9ICdkZXB0aCcpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsgYXBwbHlEZXB0aCB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkJyk7XG4gICAgICAgIGxldCBrZXllZCA9IHt9O1xuICAgICAgICBvYmplY3RzLmZvckVhY2goZnVuY3Rpb24gKG9iamVjdCkge1xuICAgICAgICAgICAgaWYgKCFvYmplY3RbcGFyZW50X3Byb3BlcnR5XSkge1xuICAgICAgICAgICAgICAgIG9iamVjdFtkZXB0aF9wcm9wZXJ0eV0gPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5ZWRbb2JqZWN0W2lkX3Byb3BlcnR5XV0gPSBvYmplY3Q7XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3Qua2V5cyhrZXllZCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoa2V5ZWQpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgb2JqZWN0ID0ga2V5ZWRba2V5XTtcbiAgICAgICAgICAgICAgICBpZiAoIWtleWVkW2tleV1bZGVwdGhfcHJvcGVydHldKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrZXllZFtrZXldW3BhcmVudF9wcm9wZXJ0eV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleWVkW2tleV1bZGVwdGhfcHJvcGVydHldID0ga2V5ZWRba2V5ZWRba2V5XVtwYXJlbnRfcHJvcGVydHldXVtkZXB0aF9wcm9wZXJ0eV0gKyAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4ga2V5ZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGluQXJyYXkgfSBmcm9tIEBmaXJlc3RpdGNoL2NvbW1vbi9hcnJheTsgaW5zdGVhZFxuICAgICovXG4gICAgaW5BcnJheSh2YWx1ZXMsIGFycmF5KSB7XG4gICAgICAgIGNvbnNvbGUud2FybignQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGluQXJyYXkgfSBmcm9tIEBmaXJlc3RpdGNoL2NvbW1vbi9hcnJheTsgaW5zdGVhZCcpO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICAgICAgdmFsdWVzID0gW3ZhbHVlc107XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdmFsdWVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoYXJyYXkuaW5kZXhPZih2YWx1ZXNbaV0pID49IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgaW1wb3J0IHsga2V5RXhpc3RzIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWRcbiAgICAqL1xuICAgIGtleUV4aXN0cyhhcnJheSwga2V5KSB7XG4gICAgICAgIGNvbnNvbGUud2FybignQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGtleUV4aXN0cyB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkJyk7XG4gICAgICAgIHJldHVybiBhcnJheS5oYXNPd25Qcm9wZXJ0eShrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBsZW5ndGggfSBmcm9tIEBmaXJlc3RpdGNoL2NvbW1vbi9hcnJheTsgaW5zdGVhZFxuICAgICovXG4gICAgbGVuZ3RoKGFycmF5KSB7XG4gICAgICAgIGNvbnNvbGUud2FybignQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGxlbmd0aCB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkJyk7XG4gICAgICAgIHJldHVybiBhcnJheS5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGtzb3J0IH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vYXJyYXk7IGluc3RlYWRcbiAgICAqL1xuICAgIGtzb3J0KHVub3JkZXJlZCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0BkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBrc29ydCB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL2FycmF5OyBpbnN0ZWFkJyk7XG4gICAgICAgIE9iamVjdC5rZXlzKHVub3JkZXJlZCkuc29ydCgpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gdW5vcmRlcmVkW2tleV07XG4gICAgICAgICAgICBkZWxldGUgdW5vcmRlcmVkW2tleV07XG4gICAgICAgICAgICB1bm9yZGVyZWRba2V5XSA9IHZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cblxufVxuIl19
@@ -1,42 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: app/services/math.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Injectable } from '@angular/core';
7
- var FsMath = /** @class */ (function () {
8
- function FsMath() {
9
- }
10
- /**
11
- * @deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}
12
- */
13
- /**
14
- * @deprecated use _.round() instead {\@link https://lodash.com/docs/4.17.5#round}
15
- * @param {?} number
16
- * @param {?} precision
17
- * @return {?}
18
- */
19
- FsMath.prototype.round = /**
20
- * @deprecated use _.round() instead {\@link https://lodash.com/docs/4.17.5#round}
21
- * @param {?} number
22
- * @param {?} precision
23
- * @return {?}
24
- */
25
- function (number, precision) {
26
- console.warn('@deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}');
27
- precision = precision || 0;
28
- /** @type {?} */
29
- var factor = Math.pow(10, precision);
30
- /** @type {?} */
31
- var tempNumber = number * factor;
32
- /** @type {?} */
33
- var roundedTempNumber = Math.round(tempNumber);
34
- return roundedTempNumber / factor;
35
- };
36
- FsMath.decorators = [
37
- { type: Injectable }
38
- ];
39
- return FsMath;
40
- }());
41
- export { FsMath };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvY29tbW9uLyIsInNvdXJjZXMiOlsiYXBwL3NlcnZpY2VzL21hdGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0M7SUFBQTtJQWNBLENBQUM7SUFYRzs7TUFFRTs7Ozs7OztJQUNLLHNCQUFLOzs7Ozs7SUFBWixVQUFhLE1BQU0sRUFBRSxTQUFTO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0ZBQWdGLENBQUMsQ0FBQztRQUMvRixTQUFTLEdBQUcsU0FBUyxJQUFJLENBQUMsQ0FBQzs7WUFDdkIsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQzs7WUFDaEMsVUFBVSxHQUFHLE1BQU0sR0FBRyxNQUFNOztZQUM1QixpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUM5QyxPQUFPLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztJQUN0QyxDQUFDOztnQkFiSixVQUFVOztJQWNYLGFBQUM7Q0FBQSxBQWRELElBY0M7U0FiWSxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRnNNYXRoIHtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBfLnJvdW5kKCkgaW5zdGVhZCB7QGxpbmsgaHR0cHM6Ly9sb2Rhc2guY29tL2RvY3MvNC4xNy41I3JvdW5kfVxuICAgICovXG4gICAgcHVibGljIHJvdW5kKG51bWJlciwgcHJlY2lzaW9uKTogbnVtYmVyIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdAZGVwcmVjYXRlZCB1c2UgXy5yb3VuZCgpIGluc3RlYWQge0BsaW5rIGh0dHBzOi8vbG9kYXNoLmNvbS9kb2NzLzQuMTcuNSNyb3VuZH0nKTtcbiAgICAgICAgcHJlY2lzaW9uID0gcHJlY2lzaW9uIHx8IDA7XG4gICAgICAgIGxldCBmYWN0b3IgPSBNYXRoLnBvdygxMCwgcHJlY2lzaW9uKTtcbiAgICAgICAgbGV0IHRlbXBOdW1iZXIgPSBudW1iZXIgKiBmYWN0b3I7XG4gICAgICAgIGxldCByb3VuZGVkVGVtcE51bWJlciA9IE1hdGgucm91bmQodGVtcE51bWJlcik7XG4gICAgICAgIHJldHVybiByb3VuZGVkVGVtcE51bWJlciAvIGZhY3RvcjtcbiAgICB9XG59XG4iXX0=